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.5
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.5.tar.gz | 90.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|