Skip to main content

Memos MCP Server

A Model Context Protocol (MCP) server to interact with usememos/memos (an open-source, self-hosted memo hub). Built using the official Python MCP SDK with FastMCP and Pydantic v2 for type-safe validation.

Features

This server exposes a set of tools to any MCP-compatible client (e.g., Claude Desktop, Cursor) allowing them to manage your Memos instance:

  • Get User Info: Retrieve details about the authenticated user and verify connectivity.
  • List Memos: List memos with support for sorting, state filtering (NORMAL/ARCHIVED), and pagination.
  • Get Memo: Fetch a specific memo by ID or resource name.
  • Create Memo: Create new memos with optional visibility (PRIVATE, PROTECTED, PUBLIC) and pinning.
  • Update Memo: Update existing memo content, visibility, pin state, or archival status.
  • Delete Memo: Permanently delete a memo.
  • Search Memos: Easily search memos by content text and/or hashtags.

Prerequisites

  • Python: >=3.14 (configured via pyproject.toml)
  • uv: Modern Python package manager
  • Memos: A running Memos instance (compatible with Memos v1 API)
  • Access Token: A Personal Access Token (PAT) from your Memos account settings

Setup

  1. Clone the Repository
  2. Create Environment Configuration Copy the example environment file:
    cp .example.env .env
    
    Edit .env and fill in your Memos server details:
    MEMOS_URL="https://your-memos-instance.com"
    MEMOS_TOKEN="your_personal_access_token_here"
    

Configuration

To integrate this server with Claude Desktop, add the following configuration to your Claude Desktop config file (typically ~/Library/Application Support/Claude/claude_desktop_config.json on macOS).

Option 1: Running with uvx (Recommended, no cloning required)

You can run the server directly from PyPI using uvx without setting up a local repository:

{
  "mcpServers": {
    "memos": {
      "command": "uvx",
      "args": ["rmc-memos-mcp"],
      "env": {
        "MEMOS_URL": "https://your-memos-instance.com",
        "MEMOS_TOKEN": "your_personal_access_token_here"
      }
    }
  }
}

Option 2: Running from Local Source

If you are developing locally and want to run the server from this cloned repository, use the following configuration:

{
  "mcpServers": {
    "memos": {
      "command": "uv",
      "args": ["run", "-m", "memos_mcp"],
      "cwd": "/absolute/path/to/memos_mcp",
      "env": {
        "MEMOS_URL": "https://your-memos-instance.com",
        "MEMOS_TOKEN": "your_personal_access_token_here"
      }
    }
  }
}

Make sure to replace /absolute/path/to/memos_mcp with your actual directory path.

Development & Testing

This project uses uv for dependency management, and includes linting, type-checking, and test tools.

Installing Dependencies

uv sync

Running Linter and Formatter (Ruff)

uv run ruff check .

Running Type Checker (Mypy)

uv run mypy .

Running Unit Tests (Pytest)

PYTHONPATH=src uv run pytest

Debugging with MCP Inspector

You can debug the MCP server interactively using the official Inspector tool:

npx @modelcontextprotocol/inspector uv run -m memos_mcp

This launches a web interface to test the tools manually.

Release files for rmc-memos-mcp 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rmc-memos-mcp 0.1.5
File Size Uploaded
rmc_memos_mcp-0.1.5.tar.gz 90.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rmc-memos-mcp 0.1.5
File Interpreter ABI Platform
rmc_memos_mcp-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 98.7 kB

Release files / rmc_memos_mcp-0.1.5.tar.gz

Download URL rmc_memos_mcp-0.1.5.tar.gz
Size 90.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4b85ea3766bc58253e49d9b9e2d6f9f967e81ff91d38032af1ece82fc4e200de
BLAKE2b-256 checksum
How to use checksums
a329c4f6d8374df516d72f2dbfeced5880accf4161b83a3937eae205f87ded5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rmc_memos_mcp-0.1.5-py3-none-any.whl

Download URL rmc_memos_mcp-0.1.5-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08b22364422d0616f00cf33bc6c15c1919a99bcd8f078dd9545b88d73dfedcbb
BLAKE2b-256 checksum
How to use checksums
87974d3c898899a5de6971746d7fc4cfb05be70be9a54ce82aecfe8598dcf5cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page