maimemo-mcp
maimemo-mcp
Persönlicher schreibgeschützter MCP-Server für Maimemo-Lerndaten.
Funktionen
stdio-Transport für lokale MCP-Clients.Streamfähiger HTTP-Transport unter
/mcp.Vier schreibgeschützte Tools:
maimemo_get_today_progressmaimemo_list_today_wordsmaimemo_get_due_wordsmaimemo_find_vocabularymaimemo_list_notepadsmaimemo_get_notepad
Bearer-Authentifizierung für Maimemo-OpenAPI-Anfragen.
Lokale Ratenbegrenzung (Rolling-Window) für die dokumentierten Maimemo-Limits:
20/10s,40/60sund2000/5h.Host-, Origin- und optionaler Bearer-Token-Schutz für den HTTP-Transport.
Installation
npm install
npm run buildVerwenden Sie Node.js 20 oder neuer.
Konfiguration
Erforderlich:
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"Wenn MAIMEMO_HTTP_HOST nicht 127.0.0.1, localhost oder ::1 ist,
ist MCP_SERVER_AUTH_TOKEN erforderlich:
export MCP_SERVER_AUTH_TOKEN="your-local-mcp-http-token"Übertragen Sie keine echten Tokens. .env-Dateien werden standardmäßig ignoriert.
Ausführung mit Stdio
MAIMEMO_TOKEN="your-token" npx maimemo-mcp --transport=stdioFür einen lokalen Checkout:
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=stdioBeispiel für einen MCP-Client-Befehl:
{
"mcpServers": {
"maimemo": {
"command": "node",
"args": ["/absolute/path/to/momo-skills/dist/cli.js", "--transport=stdio"],
"env": {
"MAIMEMO_TOKEN": "your-token"
}
}
}
}Ausführung mit streamfähigem HTTP
MAIMEMO_TOKEN="your-token" node dist/cli.js --transport=httpStandard-Endpunkt:
http://127.0.0.1:3333/mcpFür Nicht-Loopback-Bindung:
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 müssen dann Folgendes senden:
Authorization: Bearer your-local-mcp-http-tokenTool-Eingaben
maimemo_get_today_progress hat keine Eingabe.
maimemo_list_today_words:
{
"status": "all",
"freshness": "all",
"limit": 50,
"spellings": ["hello", "world"]
}status kann all, unfinished oder finished sein.
freshness kann all, new oder review sein.
limit muss zwischen 1 und 1000 liegen.
maimemo_get_due_words:
{
"startDate": "2026-04-18",
"endDate": "2026-04-20",
"spellings": ["hello"],
"limit": 50,
"countOnly": false
}Daten akzeptieren YYYY-MM-DD oder ISO-Zeitstempel. Sie werden vor dem Aufruf von Maimemo auf Asia/Shanghai normalisiert.
maimemo_find_vocabulary:
{
"spellings": ["hello"]
}oder:
{
"ids": ["vocabulary-id"]
}Geben Sie genau eines von spellings oder ids an.
maimemo_list_notepads:
{
"limit": 20,
"offset": 0,
"ids": ["notepad-id"]
}limit muss zwischen 1 und 100 liegen.
maimemo_get_notepad:
{
"id": "notepad-id"
}Gibt den vollständigen Notizblockinhalt und die geparste Wortliste zurück.
Entwicklung
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