AgentsPodium Hosting
Create, watch, pay for and connect hosted AI agent pods on AgentsPodium. Needs an API key.
Links
README
From the repo.
agent-gateway
Lets other AI agents drive AgentsPodium hosting (create/monitor/manage
instances) through two machine protocols — MCP (Streamable HTTP) and A2A
(Agent2Agent JSON-RPC) — both backed by the existing account API at
https://agentspodium.com/api.
The gateway holds no state and no secrets of its own. Every call carries
the caller's own AgentsPodium API key (Authorization: Bearer ak_live_..., or
a session token), which is forwarded verbatim to the account API. Missing
that header always answers 401 with a JSON body pointing at
https://agentspodium.com/account ("API keys for agents") and
https://hosting.defispace.com/docs/auth.
One process serves both hostnames, selected by the Host header wherever a
path is shared between the two (only GET /); everything else defaults to
MCP behaviour, and mcp.agentspodium.com / a2a.agentspodium.com route to
the same Deployment.
Run locally
npm install
npm run build
ACCOUNT_API=https://agentspodium.com/api PORT=3200 npm start
# or, for iteration:
npm run dev
Env vars:
ACCOUNT_API— base URL of the account API (defaulthttps://agentspodium.com/api).PORT— HTTP port (default3200).A2A_HOST— hostname that selects A2A behaviour forGET /(defaulta2a.agentspodium.com).
Calling it
MCP — mcp.agentspodium.com/mcp
Streamable HTTP, stateless (no session id). Requires
Accept: application/json, text/event-stream.
# initialize
curl -s -X POST https://mcp.agentspodium.com/mcp \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": { "name": "example-client", "version": "0.1.0" }
}
}'
# call a tool
curl -s -X POST https://mcp.agentspodium.com/mcp \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": { "name": "list_platforms", "arguments": {} }
}'
Tools: list_platforms, list_instances, create_instance,
get_instance_health, get_instance_term, set_llm_key, pause_instance,
resume_instance, rebuild_instance, delete_instance, get_payment_options,
set_peers, set_webhook. Plus one resource, agentspodium://docs (the hosting docs).
A2A — a2a.agentspodium.com/
curl -s https://a2a.agentspodium.com/.well-known/agent-card.json
# structured (data part)
curl -s -X POST https://a2a.agentspodium.com/ \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "message/send",
"params": {
"message": {
"parts": [{ "kind": "data", "data": { "skill": "create-instance", "params": { "engine": "hermes", "tier": "small", "name": "My Agent" } } }]
}
}
}'
# plain text (small command grammar)
curl -s -X POST https://a2a.agentspodium.com/ \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 2, "method": "message/send",
"params": { "message": { "parts": [{ "kind": "text", "text": "platforms" }] } }
}'
Text grammar: create <engine> <tier> [name ...], health <id>,
term <id>, platforms, payment <id>. Anything else answers with the
skill list and the exact JSON shape.
Public, no auth: GET /catalog.json (proxy of the account API's
/a2a-catalog).
Deploy
docker build -t agentpodium-agent-gateway apps/agent-gateway
# push, then apply:
kubectl apply -f apps/agent-gateway/deploy/gateway.yaml
deploy/gateway.yaml creates namespace ap-agentgw, a Deployment/Service on
port 3200, and two HTTPRoutes (mcp.agentspodium.com,
a2a.agentspodium.com) against the shared akash-gateway Gateway. Swap
__IMAGE_TAG__ for the built image tag before applying.
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://mcp.agentspodium.com/mcp"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.