echorelay.dev

Model Context Protocol

MCP Server

EchoRelay speaks the Model Context Protocol, so an AI agent — Claude Code, Claude Desktop, Cursor — can inspect and configure your relay project conversationally: list lines and endpoints, create and update them, read your credit balance, and more.

Endpoint

https://mcp.echorelay.dev

A single JSON-RPC 2.0 endpoint (MCP "Streamable HTTP" transport). The MCP server is the whole of this subdomain — point your client straight at the URL above.

Getting connected

  1. 1 — Generate an MCP key

    Open your project, click MCP keys in the left sidebar, and hit Generate. An MCP key is scoped to a single (you, project) pair and carries exactly your access to that project. The er_mcp_… secret is shown once — copy it then.

    Go to your dashboard →
  2. 2 — Add the server to your MCP client

    The key travels as an Authorization: Bearer header.

    Claude Code

    claude mcp add --transport http echorelay https://mcp.echorelay.dev \
      --header "Authorization: Bearer er_mcp_YOURTOKEN"

    Cursor — ~/.cursor/mcp.json

    {
      "mcpServers": {
        "echorelay": {
          "url": "https://mcp.echorelay.dev",
          "headers": { "Authorization": "Bearer er_mcp_YOURTOKEN" }
        }
      }
    }

    Claude Desktop — claude_desktop_config.json

    {
      "mcpServers": {
        "echorelay": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://mcp.echorelay.dev",
                   "--header", "Authorization: Bearer er_mcp_YOURTOKEN"]
        }
      }
    }
  3. 3 — Ask your agent

    The agent now has the tools below, all scoped to the key's project. Try "list the endpoints on my v1 line" or "add a webhook endpoint that fans out to these two URLs."

Available tools

Read

  • get_project
  • list_lines
  • list_endpoints
  • get_endpoint
  • get_config
  • get_billing
  • list_api_keys
  • get_key_policy
  • list_requests — filter by status / method / path / targetOutcome
  • get_request
  • get_metrics — project-wide or per-target series
  • list_dlq
  • get_dlq_entry
  • list_audit_events — who changed what
  • default_endpoint_template — starter JSON
  • dry_run_endpoint — validate without writing
  • list_subscription_plans
  • list_credit_packs
  • list_addons
  • get_subscription — owner only
  • preview_plan_change — owner only

Write — needs edit access

  • create_line
  • delete_line
  • create_endpoint
  • update_endpoint
  • delete_endpoint
  • create_api_key — returns plaintext once
  • rotate_api_key
  • revoke_api_key
  • reveal_rotation_successor
  • retry_dlq_entry
  • discard_dlq_entry
  • set_key_policy — owner only
  • start_subscription — owner only, returns checkoutUrl
  • change_plan — owner only
  • cancel_subscription — owner only
  • start_topup — owner only, returns checkoutUrl

Billing tools

Catalog reads (list_subscription_plans, list_credit_packs, list_addons) are available to any MCP key on the project. Subscription reads and writes (get_subscription, preview_plan_change, start_subscription, change_plan, cancel_subscription, start_topup) are owner-only — editors and viewers behind an MCP key can't move money. Money-moving tools return a checkoutUrl the agent should surface to its human for approval.

An MCP key only ever carries its owner's permissions: a viewer-role key can read but not write. Inbound caller authentication (the keys callers present at {tenant}.echorelay.cloud/...) is configured at the project level — one API key works on every endpoint in the project, with rotation and revoke surfaced through the tools above.

First-endpoint cold start

For agents starting fresh: call default_endpoint_template for a known-good JSON shape, edit it, run it through dry_run_endpoint to surface validation errors without a billed call, then create_endpoint the same document. The three tools accept the exact same nested schema — no field renames between hops.

← Back to EchoRelay