Universal Recipe Spec v2
A recipe is a portable server definition used across the AIWerk MCP ecosystem.
Required core fields
Section titled “Required core fields”{ "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" }}File layout
Section titled “File layout”servers/<server-id>/├── recipe.json├── README.md├── icon.svg└── adapters/ ├── openclaw.json ├── claude-desktop.json └── cursor.jsonKey rules (trimmed)
Section titled “Key rules (trimmed)”schemaVersionmust be2- At least one transport must exist
stdiorecipes require aninstallblock- At least one source locator:
repositoryormetadata.homepage auth.envVarsmust 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.