Api

com.politicalcommsPublished by politicalcomms.comv0.2.1Updated Nov 3, 2026

Compliant political SMS/MMS from MCP clients: projects, contacts, analytics, billing.

The publisher's own server: Docs

Overview

AI-generated overview

MCP server for the Political Comms API that lets an assistant inspect political SMS/MMS projects, contacts, analytics and billing, and stage, test or schedule…

What you can do
  • List organizations, hierarchy, projects and project configuration
  • Read delivery, engagement, survey and throughput stats, plus message stats and billing usage
  • Browse contact lists, download a list as CSV, and read conversations and their messages
  • Inspect email domains, senders, lists, suppressions, campaigns, stats and templates
  • Create, copy, test, schedule, pause and unschedule SMS/MMS projects, reply in conversations, and schedule email campaigns or import email lists
When to use it
Useful when an assistant needs to work with a US political SMS/MMS account: reviewing projects, contact lists and analytics, or preparing and scheduling compliant sends and email campaigns from a chat client.
Requirements
Runs locally over stdio via the npm package, requiring Node 20 or later. Needs a Political Comms API key (prefix pc_live_) supplied in the POLITICAL_COMMS_API_KEY environment variable, created by a human in the dashboard under Admin > API Keys. Email write tools need the email entitlement on the organization.
Before you install
The API key is a live credential passed in an environment variable. Several tools act on real audiences: test_project sends real test messages, schedule_project commits a bulk send, reply_to_conversation sends a real reply, and schedule_email_campaign and start_email_list_import also require confirm: true. Sends may cost money; paid email workflows are dashboard-only. No delete operations are exposed.

Installation

In SourceWeft

  1. Open Api in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

bash
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:

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_survey_resultsTopline survey results for a survey project: per-question option counts and percentages, completion and dropoff rates. Returns a 409 NOT_A_SURVEY error for other projects.
get_project_throughputCarrier-limit estimate for one project: recipients per carrier and how long AT&T takes (will_pause is always false).
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 reply (text, one media_ids entry for MMS, or both) 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]

Source: packages/mcp/README.md at commit 79029b1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Politicalcomms integrations