maimemo-mcp
maimemo-mcp
Servidor MCP personal de solo lectura para los datos de estudio de Maimemo.
Características
Transporte
stdiopara clientes MCP locales.Transporte HTTP con streaming en
/mcp.Cuatro herramientas de solo lectura:
maimemo_get_today_progressmaimemo_list_today_wordsmaimemo_get_due_wordsmaimemo_find_vocabularymaimemo_list_notepadsmaimemo_get_notepad
Autenticación Bearer para solicitudes a la OpenAPI de Maimemo.
Limitación de tasa local de ventana deslizante para los límites documentados de Maimemo:
20/10s,40/60sy2000/5h.Protección de host, origen y token bearer opcional para el transporte HTTP.
Instalación
npm install
npm run buildUtilice Node.js 20 o superior.
Configuración
Obligatorio:
export MAIMEMO_TOKEN="your-maimemo-openapi-token"Opcional:
export MAIMEMO_BASE_URL="https://open.maimemo.com/open"
export MAIMEMO_HTTP_HOST="127.0.0.1"
export MAIMEMO_HTTP_PORT="3333"Cuando MAIMEMO_HTTP_HOST no es 127.0.0.1, localhost o ::1,
MCP_SERVER_AUTH_TOKEN es obligatorio:
export MCP_SERVER_AUTH_TOKEN="your-local-mcp-http-token"No confirme tokens reales. Los archivos .env se ignoran por defecto.
Ejecutar con Stdio
MAIMEMO_TOKEN="your-token" npx maimemo-mcp --transport=stdioPara una descarga local:
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=stdioEjemplo de comando de cliente MCP:
{
"mcpServers": {
"maimemo": {
"command": "node",
"args": ["/absolute/path/to/momo-skills/dist/cli.js", "--transport=stdio"],
"env": {
"MAIMEMO_TOKEN": "your-token"
}
}
}
}Ejecutar con HTTP con streaming
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=httpEndpoint por defecto:
http://127.0.0.1:3333/mcpPara enlaces que no sean de loopback:
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=httpLos clientes deben enviar entonces:
Authorization: Bearer your-local-mcp-http-tokenEntradas de las herramientas
maimemo_get_today_progress no tiene entrada.
maimemo_list_today_words:
{
"status": "all",
"freshness": "all",
"limit": 50,
"spellings": ["hello", "world"]
}status puede ser all, unfinished o finished.
freshness puede ser all, new o review.
limit debe estar entre 1 y 1000.
maimemo_get_due_words:
{
"startDate": "2026-04-18",
"endDate": "2026-04-20",
"spellings": ["hello"],
"limit": 50,
"countOnly": false
}Las fechas aceptan YYYY-MM-DD o instantes ISO. Se normalizan a
Asia/Shanghai antes de llamar a Maimemo.
maimemo_find_vocabulary:
{
"spellings": ["hello"]
}o:
{
"ids": ["vocabulary-id"]
}Proporcione exactamente uno de spellings o ids.
maimemo_list_notepads:
{
"limit": 20,
"offset": 0,
"ids": ["notepad-id"]
}limit debe estar entre 1 y 100.
maimemo_get_notepad:
{
"id": "notepad-id"
}Devuelve el contenido completo del bloc de notas y la lista de palabras analizada.
Desarrollo
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