MCP (Model Context Protocol) server for the self-hosted notes app Memos.
- Search memos with filters and pagination
- Create, read, update, delete memos
- Access token authentication via Bearer token
- Thin TypeScript wrapper for
npxstdio startup
- A running Memos instance (default
http://localhost:5230) - An access token (Settings → Access Tokens)
Environment variables:
MEMOS_BASE_URL(default:http://localhost:5230)MEMOS_ACCESS_TOKENorMEMOS_API_TOKEN
CLI flags (Go binary):
--base-url--access-token/--api-token--timeout(seconds)
-
memos_searchquery(string)creator_id(number)tag(string)visibility(PUBLIC/PROTECTED/PRIVATE)pinned(boolean)limit(number, default 10)offset(number, default 0)page_token(string)order_by(string)show_deleted(boolean)
-
memos_getmemo_uid(string)
-
memos_createcontent(string)visibility(string, default PRIVATE)pinned(boolean)
-
memos_updatememo_uid(string)content(string)visibility(string)pinned(boolean)
-
memos_deletememo_uid(string)force(boolean)
go run ./cmd/memos-mcp --base-url http://localhost:5230 --access-token YOUR_TOKEN{
"mcpServers": {
"memos": {
"command": "memos-mcp",
"args": ["--base-url", "http://localhost:5230", "--access-token", "YOUR_TOKEN"]
}
}
}{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["@jtsang/memos-mcp", "--base-url", "http://localhost:5230", "--access-token", "YOUR_TOKEN"]
}
}
}# Go tests
go test ./...
# JS wrapper tests
cd js
npm install
npm test