Skip to content

Universal Recipe Spec v2

A recipe is a portable server definition used across the AIWerk MCP ecosystem.

{
"schemaVersion": 2,
"id": "todoist",
"name": "Todoist",
"description": "Task management with natural language",
"repository": "https://github.com/doist/todoist-mcp",
"transports": [{ "type": "stdio", "command": "npx", "args": ["-y", "@doist/todoist-ai"] }],
"auth": { "required": true, "type": "api-key", "envVars": ["TODOIST_API_TOKEN"] },
"install": { "method": "npx", "package": "@doist/todoist-ai", "version": "latest" }
}
servers/<server-id>/
├── recipe.json
├── README.md
├── icon.svg
└── adapters/
├── openclaw.json
├── claude-desktop.json
└── cursor.json
  • schemaVersion must be 2
  • At least one transport must exist
  • stdio recipes require an install block
  • At least one source locator: repository or metadata.homepage
  • auth.envVars must cover all ${VAR} placeholders used in transport auth/env
  • Unknown fields must be ignored by consumers for forward compatibility

See full writing guide in Writing a Recipe and catalog mapping in Server Catalog.