Skip to main content

MCP server (rcs-mcp)

rcs-mcp is a hand-rolled Model Context Protocol server — newline-delimited JSON-RPC over stdio, zero runtime dependencies. Register it once and Claude (or any MCP host) can search, render, clone, author, and send templates as native tools.

The MCP server ships in the @rcs-campaigns/agent-toolkit package and is a Pro-plan feature.

Prerequisites

  • A scoped agent API key (rcsk_live_…).
  • Your gateway URL (the /api/agent base — your self-hosted server or the hosted gateway).
  • Node.js (the server runs via npx, no global install required).

Register with Claude

A single claude mcp add command points the host at the packaged server with your gateway URL and key:

claude mcp add rcs-campaigns \ --env RCS_GATEWAY_URL=https://your-server \ --env RCS_AGENT_KEY=rcsk_live_… \ -- npx -y -p @rcs-campaigns/agent-toolkit rcs-mcp

That’s it — the tools then appear natively in the agent.

Register with any MCP host

Any MCP host that supports stdio servers can launch rcs-mcp the same way. Use this JSON server entry (the shape most hosts accept):

{ "mcpServers": { "rcs-campaigns": { "command": "npx", "args": ["-y", "-p", "@rcs-campaigns/agent-toolkit", "rcs-mcp"], "env": { "RCS_GATEWAY_URL": "https://your-server", "RCS_AGENT_KEY": "rcsk_live_…" } } } }

The 48 tools

Registering the server gives your agent 48 native tools — each one is exactly one gateway call, spanning templates, conversational surveys, grounding knowledge, audiences, contacts, the conversation inbox, webhooks, and usage:

ToolScope required
Discovery
capabilitiesany key
Templates
search_templatestemplates:read
get_templatetemplates:read
render_templatetemplates:read
create_templatetemplates:write
update_templatetemplates:write
duplicate_templatetemplates:write
delete_templatetemplates:write
clone_templatemarketplace:clone
submit_templatetemplates:submit
send_messagemessages:send
Surveys
search_surveyssurveys:read
get_surveysurveys:read
render_surveysurveys:read
create_surveysurveys:write
clone_surveymarketplace:clone
delete_surveysurveys:write
submit_surveysurveys:submit
send_surveysurveys:send
update_surveysurveys:write
list_survey_sendssurveys:read
send_survey_testsurveys:send
get_resultsresults:read
upload_mediasurveys:write
Grounding knowledge
get_knowledgetemplates:read
set_knowledgetemplates:write
delete_knowledgetemplates:write
enable_knowledgetemplates:write
disable_knowledgetemplates:write
Audiences
search_audiencesaudiences:read
get_audienceaudiences:read
list_audience_contactsaudiences:read
create_audienceaudiences:write
import_contactsaudiences:write
delete_audienceaudiences:write
Contacts
list_contactscontacts:read
get_contactcontacts:read
update_contactcontacts:write
Inbox
list_conversationsconversations:read
get_conversationconversations:read
replyconversations:write
assign_conversationconversations:write
Webhooks
list_webhookswebhooks:manage
create_webhookwebhooks:manage
update_webhookwebhooks:manage
delete_webhookwebhooks:manage
test_webhookwebhooks:manage
Account
get_usageusage:read

See the API reference for each tool’s inputs and outputs.

A tool only works if your key holds its scope. Call capabilities first — it returns the scopes your key actually holds, so the agent can plan around what it’s allowed to do.