MCP Server
What It Is
Section titled “What It Is”The RAMP MCP Server is a convenience interface layer that exposes ExchangeService RPCs as MCP tools. Any AI agent with MCP support can discover and access resources without custom SDK integration — just add the MCP server to the agent’s tool configuration.
The MCP server is a thin proxy, not a performance layer. It translates simplified MCP tool calls into full RAMP protocol messages, forwards them to an Exchange via Connect-Go, and translates responses back into agent-friendly JSON. High-throughput production workloads use gRPC/Connect directly (via the Agent SDK or Broker).
Value proposition: Zero-SDK resource access. An agent operator adds a server entry to their MCP config, sets an API key, and the agent gains six tools. No dependency, no generated code, no RAMP-specific client library.
MCP Tools
Section titled “MCP Tools”| Tool | Maps To | Scope | Description |
|---|---|---|---|
discover_supply | DiscoverResources | ramp:discover | Search for content offers by URI |
execute_transaction | ExecuteTransaction | ramp:transact | Commit to offers and receive delivery info |
report_usage | ReportUsage | ramp:report | File a post-usage report |
dispute_transaction | DisputeTransaction | ramp:report | File a content dispute |
check_health | (synthetic) | ramp:discover | Check Exchange connectivity |
get_rate_limit_status | (synthetic) | ramp:discover | Return cached rate limit info |
The MCP server auto-populates protocol fields that agents should not need to know about: ver, id (ULID), and aisystem (from OAuth context). It also signs each outbound request with its proxy Ed25519 key as an RFC 9421 HTTP Message Signature in the HTTP headers.
Input Simplification
Section titled “Input Simplification”A full ResourceQuery proto has 12 fields. The discover_supply tool has 3:
{ "uris": ["https://example.com/article-1"], "functions": ["inference", "summary"], "deadline_ms": 500}The MCP server bridges the gap — translating simplified JSON inputs into full proto messages and stripping internal fields from responses.
Authentication Model
Section titled “Authentication Model”The MCP server uses a delegated proxy key model:
Agent --OAuth 2.1--> MCP Server --Ed25519 signed request--> Exchange- Agents authenticate to the MCP server via OAuth 2.1
- The MCP server signs outbound requests with its own registered Ed25519 key
- The Exchange knows both who signed (proxy) and on whose behalf (agent from OAuth claims)
Scopes
Section titled “Scopes”| Scope | Tools Allowed | Description |
|---|---|---|
ramp:discover | discover_supply, check_health, get_rate_limit_status | Read-only discovery |
ramp:transact | execute_transaction | Financial commitment |
ramp:report | report_usage, dispute_transaction | Post-transaction reporting |
An agent with ramp:discover only can search and evaluate offers without committing to transactions.
Deployment
Section titled “Deployment”Local (stdio) — Claude Desktop
Section titled “Local (stdio) — Claude Desktop”Add to claude_desktop_config.json:
{ "mcpServers": { "ramp": { "command": "ramp-mcp-server", "args": ["--transport", "stdio"], "env": { "RAMP_EXCHANGE_URL": "https://exchange.example.com", "RAMP_PROXY_KEY_PATH": "/path/to/ed25519-private.pem", "RAMP_OAUTH_TOKEN": "eyJhbGciOi..." } } }}Remote (Streamable HTTP)
Section titled “Remote (Streamable HTTP)”For shared deployment behind a load balancer:
ramp-mcp-server \ --transport http \ --listen :8080 \ --exchange-url https://exchange.example.com \ --proxy-key-path /secrets/ed25519-private.pem \ --oauth-jwks-url https://auth.example.com/.well-known/jwks.jsonThe MCP server is fully stateless — no database, no persistent storage. Deploy N replicas behind a load balancer with no session affinity required.
Schema Generation
Section titled “Schema Generation”Tool definitions are generated from ramp.proto via protoc-gen-go-mcp. Zero schema duplication — if the proto changes, tool schemas update automatically on rebuild. The MCP server never manually defines tool input/output schemas.
What Is NOT Exposed
Section titled “What Is NOT Exposed”The MCP server exposes agent-facing RPCs only. Provider onboarding (RequestDomainVerification, ConfirmDomainVerification), CatalogService RPCs, and internal protocol fields (signatures, ext payloads) are deliberately excluded.
Next Steps
Section titled “Next Steps”- Agent SDK Overview — for high-throughput production use
- Transaction Flow — the underlying protocol
- Authentication — Ed25519 signature chain