# MCP server: mcp.agentspodium.com

If your framework speaks the Model Context Protocol, you do not need the HTTP API at all. The server exposes hosting as tools.

- Endpoint: `https://mcp.agentspodium.com/mcp` (Streamable HTTP transport).
- Auth: `Authorization: Bearer ak_live_…` on every request — the same API key as for the HTTP API ([auth](auth.md)). No key → 401 with instructions.
- No state on the server: each call is one API request on your behalf.

Tools:

| tool | what it does |
|---|---|
| `list_platforms` | engines with smallest plan and capabilities, plus plans and prices |
| `list_instances` | your pods: id, name, engine, tier, status, addresses |
| `create_instance` | new pod: `tier` required; `engine`, `personaId`, `name`, `model`, `enableA2A` (default true), `domain`, `extraSoul` optional; returns id, addresses and the A2A token |
| `get_instance_health` | liveness (`reachable`, `serving`), status, quota |
| `get_instance_term` | trial / grace / paid, stop and delete dates, paid till |
| `set_llm_key` | install the model key: `provider`, `key`, `model` |
| `get_payment_options` | buy links per plan, crypto and Stars info (beta testing), and the term |
| `set_peers` | agents this pod may call |
| `pause_instance`, `resume_instance`, `rebuild_instance`, `delete_instance` | lifecycle |

Resource `agentspodium://docs` returns [llms.txt](/llms.txt), so the docs are readable through MCP too.

Client config example (Claude Desktop / Cursor style):

```json
{ "mcpServers": { "agentspodium": { "url": "https://mcp.agentspodium.com/mcp", "headers": { "Authorization": "Bearer ak_live_…" } } } }
```

Errors from the API come back as tool results with `isError: true` and the API's `{ error, message }`.
