What is the Claude Plugin manifest?
The Claude Plugin manifest (claude.json) tells Claude and Anthropic tools about your service — what it does, where its MCP endpoint is, and where to find the API spec.
Example
Serve at /.well-known/claude.json:
{
"schema_version": "1.0",
"name": "Your Service",
"description": "Search and analyze public datasets. Paid endpoints use x402 micropayments.",
"url": "https://yourdomain.com",
"mcp": {
"endpoint": "/mcp",
"transport": "http",
"protocol": "json-rpc-2.0"
},
"api": {
"type": "openapi",
"url": "/openapi.json"
},
"auth": {
"type": "none"
},
"docs": "/llms.txt"
}
Key fields
- name: Your service's display name
- description: What the service does — Claude reads this to decide when to use it
- mcp.endpoint: Path to your MCP endpoint (JSON-RPC 2.0)
- api.url: Path to your OpenAPI spec
- docs: Path to human/LLM readable docs (e.g., llms.txt)
How it differs from ai-plugin.json
| Field | Claude Plugin | AI Plugin |
|---|---|---|
| Name field | name | name_for_human + name_for_model |
| MCP support | Built-in mcp object | Not supported |
| Docs link | docs field | Not supported |
| URL style | Relative paths | Can be absolute |
Verification
agentgrade checks that the declared MCP or API endpoint actually responds. If your manifest points to /mcp but that endpoint returns 404, the "Declared endpoint responds" check fails.
Spec maturity
Emerging. Used by Claude Code and Anthropic tools. Format may evolve.