mcpField
P
politicalcomms

politicalcomms

Local
github.com/Political-CommsCommunication0Updated 2w ago

About politicalcomms

politicalcomms connects Claude and other MCP clients to the Political Comms REST API for US political messaging teams. It combines organization, campaign, contact, analytics, and billing access with tools to stage and manage SMS, MMS, and email sends.

Key features

  1. 01Inspect organizations, projects, and contacts
  2. 02Review messaging and campaign analytics
  3. 03Check billing usage and carrier throughput
  4. 04Create, test, schedule, and pause sends
  5. 05Manage email campaigns and lists

Use cases

  1. 01Review campaign delivery and engagement
  2. 02Estimate carrier limits before a send
  3. 03Schedule or pause a political SMS campaign
  4. 04Inspect email campaign status and statistics

MCP support

Exposes read and write tools for the Political Comms REST API to MCP clients over stdio. Some actions that stage or send messages require explicit confirmation.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-politicalcomms-api": {
"command": "npx",
"args": [
"-y",
"@political-comms/mcp"
],
"env": {
"POLITICAL_COMMS_API_KEY": "<POLITICAL_COMMS_API_KEY>"
}
}
}
}
Run commandnpx -y @political-comms/mcp
Environment variables to set
POLITICAL_COMMS_API_KEYSecretPolitical Comms API key (pc_live_*), created by a human operator in the dashboard under Admin > API Keys

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@political-comms/mcp0.2.1

Tools

15

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

@political-comms/mcp

MCP (Model Context Protocol) server for the Political Comms REST API. Lets Claude and other MCP clients inspect organizations, projects, contact lists, analytics, and billing, and create, test, and schedule compliant political SMS and MMS sends in the US.

Runs over stdio. Requires Node 20 or later and a Political Comms API key (created in the dashboard under Admin > API, prefixed pc_live_).

Setup

Claude Code
claude mcp add political-comms \
  --env POLITICAL_COMMS_API_KEY=pc_live_... \
  -- npx -y @political-comms/mcp
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "political-comms": {
      "command": "npx",
      "args": ["-y", "@political-comms/mcp"],
      "env": {
        "POLITICAL_COMMS_API_KEY": "pc_live_..."
      }
    }
  }
}

Tools

Read only:

ToolDescription
list_organizationsList organizations visible to the API key. Doubles as a credential check.
get_hierarchyFull organization hierarchy tree with brands.
list_projectsList messaging projects, filterable by organization, brand, or campaign.
get_projectFull configuration of one project.
get_project_statsDelivery and engagement stats for one project.
get_project_throughputCarrier-limit estimate for one project: will it pause at the T-Mobile daily cap, and how long it takes.
get_campaign_throughputA campaign's T-Mobile daily cap, use today, and AT&T per-minute rates.
list_contact_listsContact lists with counts and status.
get_contact_listOne contact list with import progress, analysis, and downloads URLs.
download_contact_listA contact list as CSV text (type original or analyzed), truncated at 100,000 characters.
get_message_statsAggregate message stats for a date range.
get_ledger_usageBilling usage for a date range.
list_conversationsConversations with at least one inbound message, sorted by last inbound message.
get_conversationOne conversation: status, contact, message counts, last activity.
list_conversation_messagesMessages in one conversation, newest first.
list_email_domainsEmail sending domains and their DNS verification status.
get_email_domainOne sending domain, including the DNS records to publish.
list_email_sendersEmail sender identities (From addresses).
list_email_listsEmail lists with contact counts and status.
list_email_suppressionsSuppressed addresses at org, identity, or list scope.
list_email_campaignsEmail campaigns with status and audience counts.
get_email_campaignOne campaign, including blocked: why it will not schedule.
get_email_campaign_statsReport tiles and per-link clicks.
list_email_templatesSaved email templates with subject and last-updated time.
get_email_templateOne template including its full HTML body.

Write (each is annotated as non read-only; create_project, test_project, schedule_project, and reply_to_conversation additionally require confirm: true because they stage or send real messages):

ToolDescription
create_projectCreate a draft messaging project.
test_projectSend real test messages to explicit phone numbers.
schedule_projectCommit a bulk send at a specific date and time.
unschedule_projectRemove a project's schedule.
pause_projectPause a running or scheduled send; resume with schedule_project.
copy_projectCopy a project into a new draft (drops lists, schedule, and stats).
reply_to_conversationSend a real SMS reply inside an existing conversation. Requires confirm: true.
schedule_email_campaignCommit an email send. Requires confirm: true.
unschedule_email_campaignReturn a scheduled campaign to a draft state.
start_email_list_importImport a CSV of contacts into an email list. Requires confirm: true.

The server deliberately exposes no delete operations.

Email tools

Email write tools need the email entitlement on the organization and return 403 ENTITLEMENT_REQUIRED without it; reads are open. Paid and human-driven email workflows (AI drafting, result exports) and deliverability triage (pausing and resuming a live send) are dashboard features rather than tools: they cost money or need a human watching a send. There is no inbound email or inbox surface.

Errors

API errors are returned as tool errors with the machine readable code and a recovery hint. Rate limited requests (600 requests/minute per key) mention the X-RateLimit-Reset wait; authentication failures explain that a human must create a key in the dashboard.

Full API reference: docs.politicalcomms.com. OpenAPI spec: politicalcomms.com/openapi.json.

License

MIT. Questions: [email protected]

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.