A side-by-side look at the Anki MCP and Brightspace MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Anki MCP for education work as a local process; choose Brightspace for education as a local process. You can also run both side by side in one mcpServers block.
manage_flashcards, study_session, manage_decks.BRIGHTSPACE_API_TOKEN, BRIGHTSPACE_USERNAME, BRIGHTSPACE_PASSWORD, BRIGHTSPACE_TOTP_SECRET, BRIGHTSPACE_COOKIE, BRIGHTSPACE_NO_UPDATE_CHECK.check_auth, list_my_courses, get_my_grades.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Education | Education |
| Quality signal | 59/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | BRIGHTSPACE_API_TOKENBRIGHTSPACE_USERNAMEBRIGHTSPACE_PASSWORDBRIGHTSPACE_TOTP_SECRETBRIGHTSPACE_COOKIEBRIGHTSPACE_NO_UPDATE_CHECK |
| Verified owner | Community listing | Community listing |
| GitHub stars | 11 | 13 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 25 | 29 |
| Full listing | View Anki MCP | View Brightspace |
manage_flashcardsCreate, update, delete, search, inspect, and tag Anki flashcards through one high-level note/card workflow. Use this for note lifecycle work and card lookup, not for deck structure, note-type schema changes, or study scheduling. Mutating operations change the local Anki collection immediately; searches are read-only. Choose `operation` first, then provide the operation-specific IDs, query, fields, tags, or pagination inputs described by the schema.study_sessionFind due cards and apply review-state actions such as answering, suspending, unsuspending, resetting, and relearning cards. Use this for scheduling and review flow, not for editing note content or reorganizing decks. Several operations mutate card state in Anki immediately; `find_due` and `check_status` are read-only. Select `operation`, then pass either `query`, `cardIds`, or `answers` as required for that action.manage_decksCreate, delete, list, inspect, move cards between, and configure Anki decks. Use this for deck-level organization, not for editing flashcard fields, note types, or study answers. Create, delete, move, and config operations mutate the collection; list and stats/config reads do not. Set `operation` first and supply the matching deck names, card IDs, target deck, or config ID.get_analyticsRead study analytics and review history for decks, the collection, or specific cards. Use this when the agent needs reporting or diagnostics, not when it needs to mutate Anki data. This tool is read-only but some scopes can return large payloads, so prefer the narrowest scope and explicit card IDs or timestamps when available. Choose `scope`, then provide the deck, cards, or review start timestamp required by that scope.manage_modelsList, create, and modify Anki note types, including fields, templates, and CSS styling. Use this for schema/template work, not for individual note content, decks, or review scheduling. All operations except `list` mutate the collection and can affect future rendering or compatibility of notes using that model. Pick `operation` first, then provide the model name plus the exact field, template, CSS, or creation inputs needed.anki_operationsRun general Anki utility operations: sync, version lookup, package import/export, profile listing, and media storage or retrieval. Use this for cross-cutting maintenance tasks that do not belong to flashcard, deck, model, or study workflows. Import, export, sync, and media writes have external side effects; version and profile reads do not. Select `operation`, then provide the relevant deck name, file path, filename, media payload, URL, or pattern.get_media_fileRetrieve one named Anki media file as base64 data and, for images, as MCP image content that compatible clients can inspect. Use this when an agent needs the actual contents of a referenced media asset, not when it only needs media names or storage operations; those belong in `anki_operations`. This tool is read-only and rejects path traversal. Pass a simple filename exactly as stored in Anki media.gui_add_cardsgui_answer_cardgui_browsegui_check_databasegui_current_cardcheck_authVerify authentication and show the active user identitylist_my_coursesList all enrolled coursesget_my_gradesGet grades for a courseget_assignmentsList assignments and dropbox foldersget_assignment_filesDownload and read instructor-posted assignment filesget_upcoming_due_datesList assignments due in the next N daysget_feedbackRead the grade, instructor comments and per-criterion rubric results for an assignmentget_assignment_rubricShow an assignment's grading rubric (criteria, levels, points, descriptions)get_my_submissionsList and download the files you (or your group) submitted, even after the folder closesget_syllabusFetch the course syllabusget_course_contentBrowse modules and topics (includes topic IDs)get_topic_fileDownload and read a content topic file (DOCX, PDF, HTML, plain text)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"anki-mcp": {
"command": "npx",
"args": [
"-y",
"@arielbk/anki-mcp"
]
}
}
}
{
"mcpServers": {
"brightspace": {
"command": "npx",
"args": [
"-y",
"brightspace-mcp@latest"
],
"env": {
"BRIGHTSPACE_API_TOKEN": "YOUR_BRIGHTSPACE_API_TOKEN_HERE",
"BRIGHTSPACE_USERNAME": "YOUR_BRIGHTSPACE_USERNAME_HERE",
"BRIGHTSPACE_PASSWORD": "YOUR_BRIGHTSPACE_PASSWORD_HERE",
"BRIGHTSPACE_TOTP_SECRET": "YOUR_BRIGHTSPACE_TOTP_SECRET_HERE",
"BRIGHTSPACE_COOKIE": "YOUR_BRIGHTSPACE_COOKIE_HERE",
"BRIGHTSPACE_NO_UPDATE_CHECK": "YOUR_BRIGHTSPACE_NO_UPDATE_CHECK_HERE"
}
}
}
}