Model Context Protocol (MCP) server for usememos/memos
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rmc_memos_mcp-0.1.2.tar.gz.
File metadata
- Download URL: rmc_memos_mcp-0.1.2.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b621c259279389d055ef3814d6965915ee554fccc86a4cae005e01bd0c693b1
|
|
| MD5 |
fdd16ef50e477bf29083b7d281316c4d
|
|
| BLAKE2b-256 |
9a2623a504cf86960caef562e68b49218a683478d37500ec300cbc59001a4fc0
|
File details
Details for the file rmc_memos_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: rmc_memos_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77f0f5fabffd69b2e822fbb96e95f9f1a717945c5da125ff69574adf4e048e8c
|
|
| MD5 |
0baae42b8cd692a1bd6458d15157a009
|
|
| BLAKE2b-256 |
377f0e234c4c403926c3b0fce45065cbe996bcb7d8f88326ce9eda6f7d7f8f12
|