{"name":"io.github.JohnBilousov/vocabit-mcp","slug":"johnbilousov-vocabit-mcp","title":"Vocabit","description":"Create flashcard sets in the Vocabit app and read back how the learner actually did.","url":"https://mcp.market/server/johnbilousov-vocabit-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":26,"stars":0,"forks":0,"downloads_week":37,"last_push_at":"2026-08-24T16:31:13.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/JohnBilousov/vocabit-mcp","website":"https://github.com/JohnBilousov/vocabit-mcp","version":"0.1.3","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"vocabit-mcp","version":"0.1.3","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of your Vocabit backend. Omit to run in demo mode with in-memory fixtures.","format":"string","name":"VOCABIT_BASE_URL"},{"description":"Agent key sent as X-Agent-Key, issued by your Vocabit backend.","format":"string","isSecret":true,"name":"VOCABIT_AGENT_KEY"},{"description":"Firebase UID of the learner. Optional; the backend has a default.","format":"string","name":"VOCABIT_USER_ID"}]}],"tools":[{"name":"create_study_set","description":"Build a flashcard set and publish it to the learner's Vocabit app. Returns a deep link that opens the set on their device. Prefer one focused topic and 8-15 cards per set — long sets get abandoned. Use the notes field for what you want to check afterwards; the learner never sees it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_study_set","description":"Remove a set from the learner's app. Study history is kept on the backend, but the set disappears from their device. Ask before calling this.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_set_results","description":"Read back real study results for a set: which cards the learner marked hard (weakCards), which they never reached (untouchedCards), and per-card review counts. This is the feedback half of the loop — read it before writing the next set, and build the follow-up out of weakCards.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_study_set","description":"Read the full contents of a set — every card, plus the topic and notes you attached when you created it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_study_sets","description":"List the sets you created for this learner, newest first, each with a progress summary. Use it to find a setId, or to see at a glance which sets were never opened.","write_action":false,"price_micros":0,"input_schema":null},{"name":"notify_learner","description":"Send the learner a Telegram message that a set is waiting. Use sparingly — one ping per set, right after you create it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_study_set","description":"Change a set in place: retitle it, retag it, or add cards. Pass addCards to append (the usual case after reviewing results) or cards to replace the list wholesale — never both. Replacing the cards resets what the learner has already studied.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vocabit_health","description":"Verify the server can reach Vocabit and report which mode it is in (live backend or in-memory demo). Call this first if anything else fails.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-21T13:03:56.377Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:03:56.375Z","components":{"code":{"score":25,"max":25,"notes":["17 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 28 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"vocabit-mcp","version":"0.1.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-24T16:31:38.049Z","repositoryUrl":"git+https://github.com/JohnBilousov/vocabit-mcp.git","weeklyDownloads":37}],"repo":{"found":true,"owner":"JohnBilousov","repo":"vocabit-mcp","archived":false,"pushedAt":"2026-08-24T16:31:13Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/50878957?v=4","ownerCreatedAt":"2019-05-21T15:13:59Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/50878957?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":37,"license":"MIT","lastPushAt":"2026-08-24T16:31:13.000Z","score":26}}}},"grade_history":[],"reviews":[]}