Skip to main content

Response MCP Servers

ResponseCX ships two Model Context Protocol servers with different jobs.

Remote agent-building server

An external AI agent connects with its rcx_ API key as a Bearer token and gets a scope-filtered toolset for building ResponseCX agents.
The key is authenticated by the same guard as the REST v1 API. Scopes gate each individual tool, and tools/list advertises only the tools the key’s scopes permit β€” an unauthorized tool is never even visible.
The server is stateless: each JSON-RPC POST builds a fresh server and transport, so there is no cross-request session state to leak between tenants. Tool output is capped at 60,000 characters and truncated with a marker beyond that.

Tools

Discovery β€” so an agent can orient before it writes anything: Building: Verifying: Reading:

Resources

Re-readable context a client can attach without spending a tool call β€” notably vocabulary and workspace.

The build β†’ verify loop

The intended flow for an agent building an agent:
  1. describe_workspace and describe_vocabulary to orient.
  2. provision_agent to create the whole thing atomically.
  3. test_agent to exercise it.
  4. audit_agent, then update_rule / update_function to correct.
Errors come back as safe, model-readable messages β€” internals are never leaked.

Local analytics server

A stdio MCP server that lets Claude Desktop call the Response analytics and reporting API through a small authenticated bridge.

Run it

Optional:
  • RESPONSE_INTERNAL_SECRET (or INTERNAL_API_SECRET) adds x-internal-secret for internal-only routes.
  • RESPONSE_MCP_MAX_RESPONSE_CHARS caps large tool responses. Default 60000.

Claude Desktop

Tools

CX reporting flow

For a broad report, start with response_cx_reporting_bundle. For deeper evidence, use response_responses_created to pull filtered response rows and response_chat_conversations to find relevant threads. Use response_chat_thread when you need the actual transcript.
The analytics server only accepts /api/... paths and never writes logs to stdout, so the MCP JSON-RPC channel stays clean.