srs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SRS_DB_PATH | No | Path to the SQLite database file. Use this to persist data across updates (e.g. ${CLAUDE_PLUGIN_DATA}/srs.db). If not set, a co-located srs.db is used. | |
| SRS_LICENSE_KEY | No | Your Pro license key. When set, unlocks the Pro tools (export_items, get_forecast). Alternatively, save it to ~/.srs-mcp/license.key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_itemA | Add a new spaced-repetition item (e.g. a LeetCode problem, a Chinese vocab word, an interview question) under a topic. New items are due immediately. |
| get_due_itemsA | List items due for review today (or overdue), optionally filtered to one topic. Returns id, topic, question (answer withheld until grade_item is called, same as a real flashcard review). |
| grade_itemA | Grade recall quality for an item just reviewed (0-5: 0 = total blackout, 3 = correct with effort, 5 = perfect instant recall) and return the newly computed next-due date, plus the correct answer for confirmation. Uses SM-2 scheduling. |
| get_statsA | Summary stats: total items, how many due today, average ease factor, optionally scoped to one topic. |
| export_itemsA | [Pro] Export items (id, topic, question, answer, interval_days, repetitions, ease_factor, due_date, created_at) as json or csv text, optionally filtered to one topic. Requires a valid Pro license (see README's "Get Pro" section) -- this is the free/Pro split's first concrete gate: the 4 core tools stay free and unlimited forever, bulk export/backup is part of the paid tier. Without a valid license, returns an upgrade message instead of data, not an error the caller has to guess the meaning of. |
| get_forecastA | [Pro] Review-load forecast: how many items become due on each of the next N days, optionally filtered to one topic. Lets a user see an upcoming pile-up before it happens instead of discovering it the day of -- a real planning feature, not a gate for its own sake. Requires a valid Pro license, same as export_items. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool serves a clearly distinct purpose: adding items, fetching due items, grading recall, viewing stats, exporting data, and forecasting workload. There is no overlap or ambiguity in their intended actions.
Every tool follows a consistent verb_noun pattern (add_item, get_due_items, grade_item, get_stats, export_items, get_forecast), making it easy to infer the action and target. No mixed conventions or vague verbs.
With 6 tools, the server is well-scoped for a spaced-repetition system, covering the core workflows (add, review, stats, export, forecast) without unnecessary bloat or excessive granularity.
The tool surface covers the primary lifecycle (add, review, stats, export, forecast) well, but lacks direct update and delete operations for items. Export tools can serve as a workaround, so the gap is minor.