Skip to main content
Aeolo exposes remote MCP at:
POST https://mcp.aeolo.io/mcp

Required headers

Authorization: Bearer atok_...
Content-Type: application/json
Accept: application/json, text/event-stream
The Accept header matters because the endpoint uses Streamable HTTP transport.

Initialize

curl -sS https://mcp.aeolo.io/mcp \
  -H "Authorization: Bearer $AEOLO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": { "name": "example-agent", "version": "0.1.0" }
    }
  }'

List tools

curl -sS https://mcp.aeolo.io/mcp \
  -H "Authorization: Bearer $AEOLO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list",
    "params": {}
  }'
Expected tool names:
  • aeo_list_domains
  • aeo_execute_command

Execute an Aeolo command

Start by listing domains with aeo_list_domains, then pass the selected ID as domainId.
curl -sS https://mcp.aeolo.io/mcp \
  -H "Authorization: Bearer $AEOLO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "aeo_execute_command",
      "arguments": {
        "command": "agent context",
        "domainId": "<domain_id>"
      }
    }
  }'
See MCP Tools for schemas and Command Execution for routing behavior.