MCP protocol
Short answer: POST JSON-RPC 2.0 to https://mcp.skippr.io/mcp. Protocol 2025-03-26. No API key. The server answers with skipprd facts. It does not run skipprd, and it does not store your skippr.yml.
HTTP
| Method | Path | Result |
|---|---|---|
POST | /mcp or / | JSON-RPC request or batch |
GET | /mcp | Pointer at these docs |
GET | / or /health | { ok, name, version, endpoint, docs } |
GET | /.well-known/mcp.json | Server card |
OPTIONS | any | CORS preflight |
Headers the client may send: Content-Type: application/json, Accept, MCP-Protocol-Version, Mcp-Session-Id. The server echoes MCP-Protocol-Version: 2025-03-26 and allows any origin, so a browser agent can call it.
A notification (notifications/initialized, notifications/cancelled) returns HTTP 204 and no JSON body. Everything else returns JSON.
JSON-RPC methods
| Method | Role |
|---|---|
initialize | Returns protocolVersion, tools/resources/prompts capabilities, serverInfo.name = skippr |
ping | Empty result |
tools/list | Skippr tools with JSON Schema |
tools/call | name plus arguments object |
resources/list | skippr://… URIs |
resources/read | uri required |
prompts/list | Operator prompts |
prompts/get | name required |
Unknown methods return -32601. Bad tool arguments return -32602. Garbage JSON returns -32700 with HTTP 400.
initialize accepts a client protocolVersion that starts with 2025- and otherwise pins 2025-03-26.
Tool result shape
{
"content": [{ "type": "text", "text": "{…pretty JSON…}" }],
"structuredContent": { }
}Agents that only read content[].text still get the facts. Agents that read structuredContent skip a parse.
No session
The server does not store skippr.yml, credentials, or run history. A Mcp-Session-Id header is optional and unused. Call initialize if your client requires it, then tools/call as needed.
Try it
curl -sS https://mcp.skippr.io/health
curl -sS https://mcp.skippr.io/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'