{"name":"io.github.olliejgooding/consistency-calendar","slug":"olliejgooding-consistency-calendar","title":"Consistency Calendar","description":"Turn any goal with a deadline into a private, gamified, evidence-based execution calendar.","url":"https://mcp.market/server/olliejgooding-consistency-calendar","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-17T13:44:18.000Z","license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T08:20:23.427Z","last_ok_at":"2026-11-04T08:20:23.427Z","latency_ms":260},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/olliejgooding/consistency-calendar-mcp","website":null,"version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://consistencycalendar.com/mcp"}],"packages":[],"tools":[{"name":"attach_document","description":"Attach a supporting text document to a calendar — a syllabus/curriculum, exam spec, training history, race info. Stored with the calendar so any future session can read it when revising the plan. Text only (paste text out of PDFs), max 5 docs × 200KB.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"calendar_id":{"type":"string"},"admin_token":{"type":"string"},"name":{"type":"string","description":"Short document name, e.g. \"AQA Biology GCSE spec\""},"content":{"type":"string","description":"The full text content"}},"required":["calendar_id","admin_token","name","content"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"create_calendar","description":"Create a hosted Consistency Calendar from a validated SprintSpec. Returns the user's private calendar URL and an admin token for later revisions. Free; each calendar includes 2 free AI revisions.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"spec":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"A SprintSpec v1 that passed validate_spec"}},"required":["spec"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"create_share_link","description":"Create (or disable) a public read-only progress page for accountability: completion %, streak and countdown only — no session names, habit names or metric values. Free during early access.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"calendar_id":{"type":"string"},"admin_token":{"type":"string"},"disable":{"description":"true to turn an existing share page off","type":"boolean"}},"required":["calendar_id","admin_token"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_status","description":"Read structured progress for a sprint calendar (execution %, streaks, missed sessions, metric vs guide, at-risk flags) so you can coach the user. Requires the calendar_id and admin_token from create_calendar.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"calendar_id":{"type":"string"},"admin_token":{"type":"string"},"today":{"description":"User-local date YYYY-MM-DD; defaults to server UTC date","type":"string"}},"required":["calendar_id","admin_token"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_template_guide","description":"Get the coaching guide for one sprint template: the interview checklist (what to ask the user), evidence-based constraints the plan must respect, a SprintSpec skeleton to adapt, and hard decline criteria. Pass the user's goal in `goal` to also receive a goal-specific playbook (marathon, HYROX, Ironman, weight loss, exam season, certifications, language exams…).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"template_id":{"type":"string","description":"One of the ids from list_templates"},"goal":{"description":"The user's goal in their words, e.g. \"first marathon in April\" — matches an expert playbook when available","type":"string"}},"required":["template_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_templates","description":"Consistency Calendar (consistencycalendar.com) turns a goal with a deadline (race, exam, savings target, life event, project) into a private, gamified, evidence-based execution calendar the user ticks off daily. Call this first to see the available sprint templates. It is a general planning tool, not a medical, financial, or treatment service.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"read_document","description":"Read a document previously attached to a calendar (ids are listed in get_status under `documents`). Use when revising a plan so the new plan respects the syllabus/history the user provided.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"calendar_id":{"type":"string"},"admin_token":{"type":"string"},"doc_id":{"type":"string"}},"required":["calendar_id","admin_token","doc_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"revise_calendar","description":"Replace a calendar's plan with a revised SprintSpec (life happened: injury, moved exam, new constraints). The user's ticks, moves and habit history survive; only the template layer changes. First 2 revisions per calendar are free.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"calendar_id":{"type":"string"},"admin_token":{"type":"string"},"spec":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The full revised SprintSpec v1"},"reason":{"description":"One line on why, for the version history","type":"string"}},"required":["calendar_id","admin_token","spec"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"validate_spec","description":"Validate a draft SprintSpec without creating anything. Returns machine-readable errors (fix and retry) and warnings (evidence-based advice — take them seriously).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"spec":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The SprintSpec v1 JSON object"}},"required":["spec"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-11-03T23:31:10.151Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T23:31:10.105Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 993ms"]},"poisoning":{"score":15,"max":15,"notes":["9 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 17 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://consistencycalendar.com/mcp","reachable":true,"authRequired":false,"latencyMs":993,"serverInfo":{"name":"consistency-calendar","version":"0.2.0"}}],"packages":[],"repo":{"found":true,"owner":"olliejgooding","repo":"consistency-calendar-mcp","archived":false,"pushedAt":"2026-10-17T13:44:18Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/78303197?v=4","ownerCreatedAt":"2021-01-31T11:59:30Z"},"icon":{"url":"https://consistencycalendar.com/plugin-logo-512.png","source":"registry","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-10-17T13:44:18.000Z","score":20}}}},"grade_history":[],"reviews":[]}