Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

com.politicalcomms/api

NPM · @POLITICAL-COMMS/MCP · SCANNED AUG 3

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

66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 1363 tokens (~90/item across 15 items; 15 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @political-comms/mcp

# add to Claude Code
claude mcp add com-politicalcomms-api -- npx -y @political-comms/mcp
# add to Codex CLI
codex mcp add com-politicalcomms-api -- npx -y @political-comms/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-politicalcomms-api": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@political-comms/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-politicalcomms-api --command npx --arg -y --arg @political-comms/mcp
# ~/.hermes/config.yaml
mcp_servers:
  com-politicalcomms-api:
    command: "npx"
    args: ["-y", "@political-comms/mcp"]
// mcp.json
{
  "mcpServers": {
    "com-politicalcomms-api": {
      "command": "npx",
      "args": [
        "-y",
        "@political-comms/mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +25
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Schema quality: unverified → excellent functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Licence: MIT functional
  • 2 Aug 26 +20
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → pass functional
  • 1 Aug 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 28

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@political-comms/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 95 packages

95 packages in the resolved dependency tree · 94 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 15 exposed · ~1,225 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
archive_project ~55

Archive a completed project so it no longer appears in default project listings. Only projects in completed status can be archived; other statuses are rejected with INVALID_STATE_TRANSITION.

NameTypeReqDescription
project_idstringyesID of the project to archive

No output schema declared.

No examples provided.

copy_project ~71

Copy an existing project into a new draft. The copy keeps the message, phone numbers, and settings but drops contact lists, schedule, and stats, and gets a versioned name (X becomes X_v2). Copying never sends messages.

NameTypeReqDescription
project_idstringyesID of the project to copy

No output schema declared.

No examples provided.

create_project ~334

Create a new messaging project (a draft send). Requires the owning organization, a name, protocol (sms or mms), sending phone number IDs, contact list IDs, and the message text. For channel=10dlc also pass brand_id and campaign_id; for channel=toll-free pass toll_free_verification_id. Creating a project does not send messages by itself.

NameTypeReqDescription
brand_idstringRequired when channel=10dlc
campaign_idstringRequired when channel=10dlc
channelstringMessaging channel. Defaults to 10dlc.
confirmbooleanyesMust be true to run this write operation. Set it only after the user has explicitly confirmed.
contact_list_idsarrayyesContact list IDs to send to
link_tracking_destination_urlstringDestination URL for tracked links
link_tracking_domain_idstringTracking domain ID
link_tracking_enabledbooleanEnable link tracking
link_tracking_param_fieldstringContact field appended as a redirect query param on tracking links
media_idsarrayMedia file IDs for MMS
message_textstringyesThe message body to send
namestringyesProject name
organization_idstringyesOwning organization ID
phone_number_idsarrayyesSending phone number IDs (1-49)
protocolstringyesMessage protocol
suppression_list_idsarrayContact list IDs to suppress
toll_free_verification_idstringRequired when channel=toll-free

No output schema declared.

No examples provided.

get_contact_list ~35

Get one contact list by ID, including import progress and list analysis results when available.

NameTypeReqDescription
idstringyesResource ID

No output schema declared.

No examples provided.

get_hierarchy ~43

Get the full organization hierarchy tree visible to the API key, including nested child organizations and their brands.

NameTypeReqDescription
organization_idstringFilter to a specific descendant organization

No output schema declared.

No examples provided.

get_ledger_usage ~77

Get billing usage totals and per-category breakdown from the ledger for a date range, optionally filtered to a descendant organization.

NameTypeReqDescription
end_datestringyesEnd date in YYYY-MM-DD format
organization_idstringFilter to a specific descendant organization
start_datestringyesStart date in YYYY-MM-DD format

No output schema declared.

No examples provided.

get_message_stats ~105

Get aggregate message stats (totals and daily breakdown) for a date range, optionally filtered by organization, brand, or campaign.

NameTypeReqDescription
brand_idstringFilter to a specific brand
campaign_idstringFilter to a specific campaign
end_datestringyesEnd date in YYYY-MM-DD format
organization_idstringFilter to a specific descendant organization
start_datestringyesStart date in YYYY-MM-DD format

No output schema declared.

No examples provided.

get_project ~47

Get one project by ID with its full configuration: status, channel, message text, phone numbers, contact lists, link tracking settings, and schedule.

NameTypeReqDescription
idstringyesResource ID

No output schema declared.

No examples provided.

get_project_stats ~48

Get delivery and engagement stats for one project: sent, delivered, undeliverable, replies, opt outs, clicks, and the derived rates.

NameTypeReqDescription
idstringyesResource ID

No output schema declared.

No examples provided.

list_contact_lists ~55

List contact lists with their contact counts and import status. Optionally filter by organization or brand.

NameTypeReqDescription
brand_idstringFilter to a specific brand
organization_idstringFilter to a specific descendant organization

No output schema declared.

No examples provided.

list_organizations ~32

List all organizations visible to the API key, including their status and parent organization. Also useful as a credential check.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_projects ~80

List messaging projects (a project is one composed send: message text, sending numbers, and contact lists). Optionally filter by organization, brand, or campaign.

NameTypeReqDescription
brand_idstringFilter to a specific brand
campaign_idstringFilter to a specific campaign
organization_idstringFilter to a specific descendant organization

No output schema declared.

No examples provided.

schedule_project ~114

Schedule a project to send to its full contact lists at a specific date and time. This commits a real bulk send to every contact on the lists once the scheduled time arrives.

NameTypeReqDescription
confirmbooleanyesMust be true to run this write operation. Set it only after the user has explicitly confirmed.
idstringyesResource ID
scheduled_atstringyesISO 8601 date-time at which to send
scheduled_timezonestringyesIANA timezone name, for example America/New_York

No output schema declared.

No examples provided.

test_project ~85

Send real test messages for a project to up to 50 explicit phone numbers. This delivers actual SMS or MMS to those recipients and incurs cost.

NameTypeReqDescription
confirmbooleanyesMust be true to run this write operation. Set it only after the user has explicitly confirmed.
idstringyesResource ID
phonesarrayyesRecipient phone numbers for the test send

No output schema declared.

No examples provided.

unschedule_project ~44

Remove the schedule from a project so it will not send. Safe to call repeatedly; the project returns to an unscheduled state.

NameTypeReqDescription
idstringyesResource ID

No output schema declared.

No examples provided.