Skip to content

MCP tools, resources and prompts

Reference
For:
Developers, Workspace admins
Needs permission:
mcp:managesensitive
In the app:
Settings, then Keys & MCP

This page is the MCP tools list of the ReputeCast MCP server, with its resources and prompts.

The server listens at <public URL>/mcp (Streamable HTTP). An MCP agent authenticates with Authorization: Bearer rc_agent_…; create agents in Settings, then Keys & MCP. Connect AI agents with MCP shows client setup.

  • Permission: what the agent needs to call the tool. Without it, the call is denied and ReputeCast records a proposal for a member who holds the permission. An agent never does more than the member who created it can do.
  • Effect: Reads data changes nothing. Changes data acts at once. Proposes; a person approves creates a request that a member confirms in ReputeCast; nothing happens until then.
  • Every tool call, allowed, denied or failed, is written to the audit log with the agent’s name.
NamePermissionEffectDescription
list_campaignscampaigns:viewReads dataList campaigns with status, audience and headline results.
  • status: Which campaigns: all, drafts, scheduled, sending or sent (default all). Optional.
  • query: Search by name. Optional.
  • limit: At most this many campaigns (default 25, max 100). Optional.
get_campaign_reportreports:viewReads dataResults of a campaign by sending provider and mailbox provider.
  • campaign: The campaign's exact name or ID.
get_send_readinesscampaigns:viewReads dataThe latest Send Readiness verdict and checks of a campaign.
  • campaign: The campaign's exact name or ID.
create_campaign_draftcampaigns:editChanges dataCreate a draft campaign from MJML.
  • name: The campaign's name.
  • subject: The subject line. Optional.
  • preheader: The preheader text. Optional.
  • mjml: MJML 4 source. Optional.
update_campaign_contentcampaigns:editChanges dataChange the subject, preheader or MJML of a draft, or of one of its language versions.
  • campaign: The draft's name or ID.
  • subject: A new subject line. Optional.
  • preheader: A new preheader. Optional.
  • mjml: New MJML 4 source. Optional.
  • language: Change this language version (its code, such as de) instead of the source; get_campaign_languages lists them. Optional.
schedule_campaigncampaigns:sendProposes; a person approvesPropose a send time. A team member confirms it in ReputeCast.
  • campaign: The campaign's name or ID.
  • at: The send time in RFC 3339, such as 2026-11-04T09:00:00-05:00.
pause_campaigncampaigns:pauseChanges dataPause a running send.
  • campaign: The campaign's name or ID.
  • reason: Why, recorded in the audit log. Optional.
resume_campaigncampaigns:sendChanges dataResume a paused send.
  • campaign: The campaign's exact name or ID.
get_campaign_live_statscampaigns:viewReads dataLive counters and routes of a running send.
  • campaign: The campaign's exact name or ID.
send_test_emailcampaigns:editChanges dataSend a test of a campaign to a member of the workspace.
  • campaign: The campaign's name or ID.
  • to: The email address of a member of this workspace.
get_campaign_languagescampaigns:viewReads dataA campaign's language versions: each one's status (up to date, outdated, draft, missing) and who gets it.
  • campaign: The campaign's exact name or ID.
get_accessibility_issuescampaigns:viewReads dataAccessibility issues of a campaign in every language: what is serious, where it is and how to fix it.
  • campaign: The campaign's exact name or ID.
NamePermissionEffectDescription
search_contactssubscribers:viewReads dataFind contacts by email or name.
  • query: Part of an email address or name.
  • limit: At most this many contacts (default 20, max 100). Optional.
create_segmentsegments:editChanges dataCreate a segment from condition-builder JSON.
  • name: The segment's name.
  • description: The segment's description. Optional.
  • definition: Condition-builder JSON: {"groups":[{"match":"all","conditions":[{"field":…,"op":…,"value":…}]}]}. Checked before the segment is stored.
add_to_suppressionsubscribers:editChanges dataSuppress an address so nothing is sent to it again.
  • email: The email address to suppress.
  • reason: Why, kept with the suppression. Optional.
get_growth_sourcessubscribers:viewReads dataJoins, departures, quality and cohort retention per growth source over a period (totals only, no addresses).
  • period: The period: 30d (default), 90d or 12m. Optional.
  • list: A list name or ID, to count its members instead of contacts. Optional.
NamePermissionEffectDescription
get_provider_healthproviders:viewReads dataStatus, bounce and complaint rates and quota of each sending provider.
get_routingproviders:viewReads dataRouting rules per stream with weights and fallbacks.
update_routingproviders:manageChanges dataChange the weights of a stream's default route.
  • stream: The stream: broadcast, automation or system.
  • weights: Sending provider name → percent; the weights add up to 100.
get_deliverabilitydeliverability:viewReads dataDomain authentication, blocklists and Postmaster reputation.
list_placement_testsdeliverability:viewReads dataPlacement tests people ran: the email, the providers and where the copies landed.
get_placement_testdeliverability:viewReads dataOne placement test: each copy's folder, time to arrive and SPF, DKIM and DMARC, with the guidance.
  • test: The test's ID or its name (such as Weekly Digest #142 · SES vs Postal).
NamePermissionEffectDescription
list_automationsautomations:viewReads dataAutomations with their status.
list_digestscampaigns:viewReads dataRecurring digests with their status, schedule, next issue and owner. Agents can't turn a digest on.
get_digest_issuescampaigns:viewReads dataA digest's issues: sent, skipped, held and waiting, each with its posts and results. Agents can't release or skip an issue.
  • digest: The digest's exact name or ID.
get_poll_resultsreports:viewReads dataResults of a campaign's polls or of a survey: answers by answer, NPS, by tier and language. Aggregate only.
  • campaign: The campaign's exact name or ID, for the results of its polls. Give a campaign or a survey.
  • survey: A survey's exact name or ID, for its results. Give a campaign or a survey.
NamePermissionEffectDescription
list_transactional_templatestransactional:viewReads dataTransactional templates with their category, live version and numbers.
  • period: The period of the numbers: 24h, 7d (default) or 30d. Optional.
render_transactional_templatetransactional:viewReads dataRender a transactional template with test data or given data. Nothing is sent or stored.
  • template: The template's ID, such as password-reset.
  • version: The version: live (default), draft or a version number. Optional.
  • test_data: The name of one of the template's test data sets. Optional.
  • data: Variables to render with instead of a test data set; nothing is stored or sent. Optional.
search_transactional_messagestransactional:viewReads dataSearch the transactional message log by status, template or recipient, without message content.
  • status: The status: queued, sent, delivered, deferred, bounced, complained, rejected, failed or test (default all). Optional.
  • template: A template's ID, or raw for mail that arrived by SMTP. Optional.
  • query: Recipient, message ID, idempotency key, tag or metadata value. Optional.
  • range: The time range: 1h, 24h (default), 7d or 30d. Optional.
  • limit: At most this many messages (default 25, max 100). Optional.
NamePermissionEffectDescription
get_referral_resultsgrow:viewReads dataA referral program's results: visits, signups, confirmations, counted referrals, channels, top referrers and rewards.
  • list: The program's list name (default: the first program). Optional.
  • period: The period: 7d, 30d or all (default all). Optional.
list_referrersgrow:viewReads dataReferrers with their counted, in-hold and held referrals and the milestones they reached (no addresses).
  • list: The program's list name (default: the first program). Optional.
  • query: A name to look for. Optional.
  • held: Only referrers with referrals held for review. Optional.
list_held_referralsgrow:viewReads dataReferrals held for review, grouped by referrer, with the signals and addresses masked to their network.
  • list: The program's list name (default: the first program). Optional.
  • period: The period: 7d, 30d or all (default all). Optional.
propose_referral_decisiongrow:viewProposes; a person approvesPropose counting or not counting a referrer's held referrals. A person with grow:review decides in ReputeCast.
  • list: The program's list name (default: the first program). Optional.
  • referrer: The referrer's name, as list_held_referrals shows it.
  • decision: count, dont (not count) or dont_pause (not count, and pause the referrer's link).
  • reason: Why, for the person who decides. Optional.
list_recommendationsgrow:viewReads dataThe newsletters you recommend and the partners that recommend you, with their numbers. Agents can't change them or touch partner links.
NamePermissionEffectDescription
get_sms_overviewproviders:viewReads dataSMS providers, senders and their registrations, routes by country and the month's spend against the budget.
get_sms_campaign_reportreports:viewReads dataA text campaign's results by country: delivery, failures with the providers' codes, clicks, opt-outs, replies and cost. Counts only.
  • campaign: The text campaign's ID or its name (such as Summit: 8 days to go).
create_sms_draftcampaigns:editChanges dataDraft a text campaign with its lists. A person with sms:send reviews and sends it.
  • name: The campaign's name.
  • body: The text, without the brand prefix and opt-out text the rules add. Personalization tokens such as {{ first_name | default: "there" }} work.
  • lists: Lists by name or ID; texts go to their members with SMS consent. Optional.
create_push_draftcampaigns:editChanges dataDraft a push campaign: a title, a message and the page it opens. It stays a draft: a person reviews and sends it.
  • name: The campaign's name.
  • title: The notification's title (about 40 characters show everywhere).
  • message: The notification's text (up to 120 characters). Optional.
  • link: The page the notification opens.
get_push_reportreports:viewReads dataA push campaign's results: sent, shown, clicks, unsubscribes and expired subscriptions, by browser and site.
  • campaign: The campaign's exact name or ID.
create_whatsapp_draftcampaigns:editChanges dataDraft a WhatsApp campaign with an approved template and the lists it goes to. It stays a draft: a person reviews and sends it.
  • name: The campaign's name.
  • template: The name of an approved template.
  • lists: The names or IDs of the lists it goes to (people with WhatsApp consent). Optional.
get_whatsapp_reportreports:viewReads dataA WhatsApp campaign's results and cost: sent, delivered, read, failed with Meta's codes, replies and opt-outs.
  • campaign: The campaign's exact name or ID.
NamePermissionEffectDescription
get_paid_member_countsearn:viewReads dataPaid members by status and tier, and the MRR: counts only, never names or emails.
get_revenue_overviewearn:viewReads dataEarn's numbers for the last 30 days, 90 days or 12 months: MRR, ARR, paid members, new and churned, churn rate, free-to-paid rate, gift and sponsor income. Totals only, never names or emails.
  • period: The period: 30d (default), 90d or 12m. Optional.
list_sponsor_bookingsearn:viewReads dataSponsor bookings by issue and slot, from 30 days ago on: the sponsor, the status, the creative's state and the payment's. Never contact data.
  • sponsor: Only this sponsor's bookings (its name). Optional.
propose_sponsor_bookingsponsors:manageProposes; a person approvesPropose a sponsor for an open issue of a slot. A team member confirms it before it's booked.
  • slot: The slot's name (such as Main sponsor) or ID.
  • issue: The issue number, such as 146.
  • sponsor: The sponsor's name or ID, from the sponsor library.
  • price_cents: The price in cents; the slot's price by default. Optional.
  • note: Why, for the person who confirms it (up to 500 characters). Optional.
NamePermissionEffectDescription
list_postswebsite:viewReads dataThe website's posts with their status, visibility, address and 30-day views. No member data.
  • status: Which posts: all (default), published, scheduled, draft or unpublished. Optional.
  • query: Words of the title. Optional.
get_postwebsite:viewReads dataOne post: its settings, tags, web checks and, for a web-only post, its MJML.
  • post: The post's ID or its address (the slug after /posts/).
create_post_draftwebsite:editChanges dataDraft a web-only post from a title and MJML. It stays a draft: agents never publish.
  • title: The post's title.
  • mjml: The post's content as MJML (mjml > mj-body > sections). Optional.
propose_post_publishwebsite:editProposes; a person approvesPropose publishing a post. A person with website:publish publishes it in ReputeCast (approvals still apply).
  • post: The post's ID or its address (the slug after /posts/).
  • note: Why it's ready, for the person who publishes it. Optional.
list_pageswebsite:viewReads dataThe workspace's landing and sales pages with their status, address, visibility and 30-day views and results.
get_pagewebsite:viewReads dataOne page: its settings, status, publish checks and numbers. No visitor data.
  • page: The page's ID or its address (the slug, such as field-guide).
list_productsproducts:viewReads dataDigital products with their price, status and 30-day orders and gross: counts only, never buyers.
get_productproducts:viewReads dataOne product: its description, files, price, delivery settings and publish checks. No buyer data.
  • product: The product's ID or its address (the slug, such as deliverability-field-guide).
NameDescription
reputecast://campaigns/{id}.mjmlCampaign MJML: the MJML source of a campaign (text/mjml).
reputecast://campaigns/{id}/report.csvCampaign report (CSV): results by sending and mailbox provider (sent, delivered, human and machine opens, clicks, bounces, complaints, unsubscribes).
reputecast://audit/recent.jsonAudit log (latest 100 entries): the workspace audit log, newest first (application/json).
NameDescription
draft_weekly_digestDraft the next Weekly Digest from what performed well recently. The agent reads the last issues' reports, writes MJML and creates a draft; it never schedules it.
  • topics: Topics or links to include, comma-separated. Optional.
explain_auto_pauseExplain why a send paused automatically and what the options are: the threshold that tripped, the recipients held, and resume, adjust the audience, move to another provider or cancel.
  • campaign: The paused campaign's name or ID.
SettingDefaultHow to change
Calls per minute per agent120Settings › Keys & MCP › Change limits, 1–6,000
Proposal expiry stated to the agent and the approver2 hoursSettings › Keys & MCP › Change limits, 1–168 hours
Idle MCP session ends after30 minutesFixed