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.4
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.4.tar.gz | 90.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rmc_memos_mcp-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.7 kB
Release files / rmc_memos_mcp-0.1.4.tar.gz
| Download URL | rmc_memos_mcp-0.1.4.tar.gz |
|---|---|
| Size | 90.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd85cdc948d581cecdf45923322edbeeaa48fb649d396a00bd9266cd03102bdd
|
|
BLAKE2b-256 checksum How to use checksums |
2fbfb3434a9a5efd6fab1f448961fa7de1c761e3d40f50345d6c21ce77a2631d
|
| 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.4-py3-none-any.whl
| Download URL | rmc_memos_mcp-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eaccf59cd2e05499505fbca6c202eba28d978c6d6cc4d7fee5eb952adc5ad505
|
|
BLAKE2b-256 checksum How to use checksums |
3a78186894733f16c8748135b107c65ed29179af1f5efd479be49d92a40b6914
|
| 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}
|