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 — 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
Go to your dashboard →er_mcp_…secret is shown once — copy it then. -
2 — Add the server to your MCP client
The key travels as an
Authorization: Bearerheader.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 — 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.