mcp-memos
v0.1.1
Published
MCP server for interacting with a self-hosted Memos instance
Downloads
185
Maintainers
Readme
mcp-memos
An MCP (Model Context Protocol) server for interacting with a self-hosted Memos instance. Allows AI assistants like Claude to read, create, update, and delete your memos.
Setup
1. Get an access token
In your Memos instance, go to Settings > Access Tokens and create a new token.
2. Configure your MCP client
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "mcp-memos"],
"env": {
"MEMOS_URL": "https://memos.example.com",
"MEMOS_API_TOKEN": "your-access-token"
}
}
}
}Claude Code
claude mcp add memos -e MEMOS_URL=https://memos.example.com -e MEMOS_API_TOKEN=your-access-token -- npx -y mcp-memosTools
| Tool | Description |
|------|-------------|
| list_memos | List memos with filtering (CEL), ordering, and pagination |
| get_memo | Get a specific memo by name/ID |
| create_memo | Create a new memo (Markdown, visibility, pinned) |
| update_memo | Update memo content, visibility, or pinned status |
| delete_memo | Delete a memo |
| list_tags | List all tags across memos |
| list_resources | List uploaded resources/attachments |
| list_memo_comments | List comments on a memo |
| create_memo_comment | Add a comment to a memo |
Filtering examples
The list_memos tool supports CEL filter expressions:
visibility == 'PUBLIC'
creator == 'users/1'
content.contains('search term')
visibility in ['PUBLIC', 'PROTECTED']Ordering examples: display_time desc, create_time asc
Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| MEMOS_URL | Yes | Base URL of your Memos instance |
| MEMOS_API_TOKEN | Yes | Access token for API authentication |
Development
git clone https://github.com/mambucodev/mcp-memos.git
cd mcp-memos
npm install
npm run buildTest locally:
MEMOS_URL=https://memos.example.com MEMOS_API_TOKEN=your-token node build/index.jsLicense
MIT
