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 viapyproject.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
- Clone the Repository
- Create Environment Configuration
Copy the example environment file:
cp .example.env .env
Edit.envand 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.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rmc_memos_mcp-0.1.7.tar.gz | 90.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rmc_memos_mcp-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 99.0 kB
Release files / rmc_memos_mcp-0.1.7.tar.gz
| Download URL | rmc_memos_mcp-0.1.7.tar.gz |
|---|---|
| Size | 90.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe817faa462efdf8b6d1db1fd93d5e24d3553fba6c2208a43e587b3d9493fc02
|
|
BLAKE2b-256 checksum How to use checksums |
08a1a01ca208511517cca2e253951c5daee9ace761b2a74f241ac9f446586ae4
|
| 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.7-py3-none-any.whl
| Download URL | rmc_memos_mcp-0.1.7-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eabb98248fdac18835290f1711ff68d5799c92d6bfcbbb346ef9e0ecdd4d476a
|
|
BLAKE2b-256 checksum How to use checksums |
10e4cb39dca987ab2b8e2829c7fd3f1ddc89d05da2662c10d9b5e028ac7ba235
|
| 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}
|