mylxsw/memos-mcp-server
If you are the rightful owner of memos-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Memos MCP Server is a FastMCP-based implementation that allows AI assistants to interact with the Memos note-taking system through the Model Context Protocol.
Memos MCP Server
A FastMCP-based MCP (Model Context Protocol) server implementation for Memos, allowing AI assistants to interact with the Memos note-taking system through the MCP protocol.
Features
- 📝 Create Memos - Create new memos with Markdown support
- 📖 Read Memos - Get detailed information about specific memos
- ✏️ Update Memos - Modify existing memo content and properties
- 🗑️ Delete Memos - Remove specified memos
- 📋 Get Recent Memos - Retrieve a list of recent memos
- 🔐 Authentication - Optional static token verification support
- 🐳 Docker Support - Docker and Docker Compose configurations provided
Environment Variables
Before starting the service, you need to set the following environment variables:
Required Environment Variables
| Variable Name | Description | Example |
|---|---|---|
MEMOS_SERVER_URL | URL of the Memos server | https://memos.example.com |
MEMOS_API_KEY | Memos API key | your-api-key-here |
Optional Environment Variables
| Variable Name | Description | Default | Example |
|---|---|---|---|
MEMOS_MCP_AUTH_TOKEN | MCP server authentication token | None | abcdefghijklmnopqrstuvwxyz |
Quick Start
Local Development
-
Clone the repository
git clone <repository-url> cd memos-mcp -
Install dependencies
uv sync -
Set environment variables
export MEMOS_SERVER_URL="https://your-memos-server.com" export MEMOS_API_KEY="your-api-key" # Optional: Set authentication token export MEMOS_MCP_AUTH_TOKEN="your-auth-token" -
Start the service
uv run main.py
The service will start at http://localhost:8000 with the MCP endpoint at http://localhost:8000/mcp.
Using Docker
-
Using Docker Compose (Recommended)
# Set environment variables export MEMOS_SERVER_URL="https://your-memos-server.com" export MEMOS_API_KEY="your-api-key" # Start the service docker-compose up -d -
Using Docker directly
docker build -t memos-mcp . docker run -p 8000:8000 \ -e MEMOS_SERVER_URL="https://your-memos-server.com" \ -e MEMOS_API_KEY="your-api-key" \ memos-mcp
Connection
- Protocol: HTTP
- Endpoint:
http://localhost:8000/mcp - Port: 8000
Available Tools and Resources
Tools
create_memo
Create a new memo
- Parameters:
content(string): Memo content with Markdown supportvisibility(string, optional): Visibility setting, defaults toVISIBILITY_UNSPECIFIEDPRIVATE: PrivatePROTECTED: ProtectedPUBLIC: PublicVISIBILITY_UNSPECIFIED: Unspecified
update_memo
Update an existing memo
- Parameters:
memo_resource_name(string): Memo resource name (e.g.,memos/123or123)content(string, optional): New memo contentstate(string, optional): Memo stateSTATE_UNSPECIFIED: UnspecifiedACTIVE: ActiveARCHIVED: Archived
visibility(string, optional): Visibility settingpinned(boolean, optional): Whether the memo is pinned
delete_memo
Delete a memo
- Parameters:
memo_resource_name(string): Resource name of the memo to delete
Resources
memos://{memo_resource_name}/info
Get detailed information about a specific memo
- Returns: Information including state, content, visibility, creation time, update time, tags, pinned status, and attachments
memos://recent_memos
Get a list of recent memos
- Returns: A list of recent memos, each containing name, state, content, and visibility
Development
Project Structure
memos-mcp/
├── main.py # Main service file
├── pyproject.toml # Project configuration
├── Dockerfile # Docker configuration
├── docker-compose.yaml # Docker Compose configuration
└── README.md # Project documentation
Dependencies
- Python >= 3.13
- fastmcp >= 2.12.2
- requests >= 2.32.5
Development Environment Setup
- Ensure uv is installed
- Clone the repository and install dependencies:
uv sync - Set environment variables and run:
uv run main.py
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Issues and Pull Requests are welcome!