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_UNSPECIFIED
PRIVATE
: PrivatePROTECTED
: ProtectedPUBLIC
: PublicVISIBILITY_UNSPECIFIED
: Unspecified
update_memo
Update an existing memo
- Parameters:
memo_resource_name
(string): Memo resource name (e.g.,memos/123
or123
)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!