maimemo-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@maimemo-mcpshow me my vocabulary progress for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
maimemo-mcp
Personal read-only MCP server for Maimemo study data.
Features
stdiotransport for local MCP clients.Streamable HTTP transport at
/mcp.Four read-only tools:
maimemo_get_today_progressmaimemo_list_today_wordsmaimemo_get_due_wordsmaimemo_find_vocabularymaimemo_list_notepadsmaimemo_get_notepad
Bearer authentication for Maimemo OpenAPI requests.
Local rolling-window rate limiting for the documented Maimemo limits:
20/10s,40/60s, and2000/5h.Host, origin, and optional bearer-token protection for HTTP transport.
Install
npm install
npm run buildUse Node.js 20 or newer.
Configuration
Required:
export MAIMEMO_TOKEN="your-maimemo-openapi-token"Optional:
export MAIMEMO_BASE_URL="https://open.maimemo.com/open"
export MAIMEMO_HTTP_HOST="127.0.0.1"
export MAIMEMO_HTTP_PORT="3333"When MAIMEMO_HTTP_HOST is not 127.0.0.1, localhost, or ::1,
MCP_SERVER_AUTH_TOKEN is required:
export MCP_SERVER_AUTH_TOKEN="your-local-mcp-http-token"Do not commit real tokens. .env files are ignored by default.
Run With Stdio
MAIMEMO_TOKEN="your-token" npx maimemo-mcp --transport=stdioFor a local checkout:
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=stdioExample MCP client command:
{
"mcpServers": {
"maimemo": {
"command": "node",
"args": ["/absolute/path/to/momo-skills/dist/cli.js", "--transport=stdio"],
"env": {
"MAIMEMO_TOKEN": "your-token"
}
}
}
}Run With Streamable HTTP
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=httpDefault endpoint:
http://127.0.0.1:3333/mcpFor non-loopback binding:
MAIMEMO_TOKEN="your-token" \
MAIMEMO_HTTP_HOST="0.0.0.0" \
MCP_SERVER_AUTH_TOKEN="your-local-mcp-http-token" \
node dist/cli.js --transport=httpClients must then send:
Authorization: Bearer your-local-mcp-http-tokenTool Inputs
maimemo_get_today_progress has no input.
maimemo_list_today_words:
{
"status": "all",
"freshness": "all",
"limit": 50,
"spellings": ["hello", "world"]
}status can be all, unfinished, or finished.
freshness can be all, new, or review.
limit must be between 1 and 1000.
maimemo_get_due_words:
{
"startDate": "2026-04-18",
"endDate": "2026-04-20",
"spellings": ["hello"],
"limit": 50,
"countOnly": false
}Dates accept YYYY-MM-DD or ISO instants. They are normalized to
Asia/Shanghai before calling Maimemo.
maimemo_find_vocabulary:
{
"spellings": ["hello"]
}or:
{
"ids": ["vocabulary-id"]
}Provide exactly one of spellings or ids.
maimemo_list_notepads:
{
"limit": 20,
"offset": 0,
"ids": ["notepad-id"]
}limit must be between 1 and 100.
maimemo_get_notepad:
{
"id": "notepad-id"
}Returns full notepad content and parsed word list.
Development
npm test
npm run typecheck
npm run buildResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xiandan-erizo/maimemo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server