MCP Server

Calaf Seed Tools

ai.calaf/seeds
Developer Tools Public & reachable MCP 2025-11-25

What this MCP does

Provides the Calaf workspace seed-file specification and validates seed documents against the application's importer.

get_seed_format
Get the Calaf seed file format
Returns the complete specification (markdown) for calaf_seed: 1 JSON documents — the format to follow when a user asks for a Calaf seed. Read it before authoring; then check your draft with validate_seed.
Read only
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['uri', 'markdown'], 'properties': {'uri': {'type': 'string', 'description': 'Where the same document lives as a resource.'}, 'markdown': {'type': 'string'}}, 'additionalProperties': {}}
validate_seed
Validate a Calaf seed file
Runs a draft seed document through the exact parser the Calaf app imports with. Pass the entire JSON document as a string. Returns per-section counts and the precise issue list (path, severity, message): severity "error" means nothing imports; "dropped" means that row or field is discarded and the rest lands. Fix the issues and validate again until clean before delivering the file to the user.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['seed'], 'properties': {'seed': {'anyOf': [{'type': 'string'}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}], 'description': 'The complete seed JSON document â\x80\x94 as text, or as the JSON object itself.'}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['valid', 'counts', 'hasVocab', 'hasPlanner', 'issues'], 'properties': {'valid': {'type': 'boolean'}, 'counts': {'type': 'object', 'required': ['orgs', 'contacts', 'templates', 'prep', 'keyDates', 'orgKinds', 'ladderRungs'], 'properties': {'orgs': {'type': 'number'}, 'prep': {'type': 'number'}, 'contacts': {'type': 'number'}, 'keyDates': {'type': 'number'}, 'orgKinds': {'type': 'number'}, 'templates': {'type': 'number'}, 'ladderRungs': {'type': 'number'}}, 'additionalProperties': False}, 'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'message', 'severity'], 'properties': {'path': {'type': 'string'}, 'message': {'type': 'string'}, 'severity': {'enum': ['error', 'dropped'], 'type': 'string'}}, 'additionalProperties': False}}, 'hasVocab': {'type': 'boolean'}, 'hasPlanner': {'type': 'boolean'}}, 'additionalProperties': False}
Changed
get_seed_format
Sept. 29, 2026, 3 a.m.
Added
validate_seed
Sept. 11, 2026, 3:32 p.m.
Added
get_seed_format
Sept. 11, 2026, 3:32 p.m.