Consistency Calendar
Turn any goal with a deadline into a private, gamified, evidence-based execution calendar.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"consistency-calendar": {
"url": "https://consistencycalendar.com/mcp"
}
}
}Remote endpoints
https://consistencycalendar.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
🟢list_templates
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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟢get_template_guide(template_id, goal)
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…).
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟢validate_spec(spec)
Validate a draft SprintSpec without creating anything. Returns machine-readable errors (fix and retry) and warnings (evidence-based advice — take them seriously).
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟡create_calendar(spec)
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.
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟢get_status(calendar_id, admin_token, today)
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.
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🔴revise_calendar(calendar_id, admin_token, spec, reason)
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.
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟢attach_document(calendar_id, admin_token, name, content)
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.
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}🟢read_document(calendar_id, admin_token, doc_id)
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.
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"
}Output Schema
{
"type": "object",
"properties": {
"content": {
"description": "The attached document text.",
"type": "string"
},
"error": {
"description": "A user-safe error message when the document cannot be read.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡create_share_link(calendar_id, admin_token, disable)
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.
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"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "JSON object returned by the tool."
}Community
Evidence