PodPitch
by nealshulman · remote · no sign-in to list tools · v1.0.0 · published by GitHub user nealshulman
Find relevant podcasts without an account. Connect PodPitch for private campaigns and outreach.
51 tools: 17 can delete or cancel things, 8 change things and 26 only read.
Scanned Oct 21, 2026
- Deletes or cancels17Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things8Claude Code: ask: see these tools
- Only reads26Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http podpitch https://api.podpitch.com/v1/mcpFindings
Matches of fixed checks, with the text they matched.
- Inforeport_agent_bug
The description mentions "credentials".
What this check looks forMatched text
description: "...rt concrete tool failures once. Exclude credentials, personal data, pitches and conversatio..."
The description mentions "credentials".
What this check looks forMatched text
description: "...atus, and daily capacity. Never returns credentials."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
51 tools
Deletes or cancels 17Claude Code: deny
archive_profileArchive a profile belonging to your team.No findings
Why it is in this group
- The name "archive_profile" says "archive": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Archive a profile belonging to your team.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Archive profile
cancel_upcoming_sendCancel an upcoming send belonging to your team.No findings
Why it is in this group
- The name "cancel_upcoming_send" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cancel an upcoming send belonging to your team.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Cancel upcoming send
delete_templateDelete a writing template belonging to your team.No findings
Why it is in this group
- The name "delete_template" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a writing template belonging to your team.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Delete template
disable_campaign_scheduleDisable pending sends for your campaign.No findings
Why it is in this group
- The name "disable_campaign_schedule" says "disable": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Disable pending sends for your campaign.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Disable campaign schedule
edit_pitch_draftEdit a saved, unscheduled pitch at its expected stage.No findings
Why it is in this group
- The name "edit_pitch_draft" says "edit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Edit a saved, unscheduled pitch at its expected stage. Refresh before editing; scheduled messages use edit_upcoming_send.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Edit pitch draft
edit_upcoming_sendEdit an upcoming unsent message through existing validation.No findings
Why it is in this group
- The name "edit_upcoming_send" says "edit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Edit an upcoming unsent message through existing validation.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Edit upcoming send
generate_pitch_draftsGenerate or replace saved pitch drafts for contacts in your campaign using existing limits and team checks.No findings
Why it is in this group
- The name "generate_pitch_drafts" says "generate": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Generate or replace saved pitch drafts for contacts in your campaign using existing limits and team checks. Can overwrite existing draft content, including with rewrite enabled. Read drafts first and obtain approval for replacement. Does not send emails.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Generate pitch drafts
mark_inbox_threadMark a thread read, unread, starred, or archived.No findings
Why it is in this group
- The name "mark_inbox_thread" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Mark a thread read, unread, starred, or archived.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Mark inbox thread
pause_campaign_schedulePause pending sends for your campaign.No findings
Why it is in this group
- The name "pause_campaign_schedule" says "schedule": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Pause pending sends for your campaign.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Pause campaign schedule
reply_to_inbox_threadSend a reply in a thread belonging to your team.No findings
Why it is in this group
- The name "reply_to_inbox_thread" says "reply": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Send a reply in a thread belonging to your team. Sends an email.
Annotations the server declares
- destructiveHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Reply to inbox thread
reschedule_upcoming_sendReschedule an upcoming send through existing scheduling validation.No findings
Why it is in this group
- The name "reschedule_upcoming_send" says "reschedule": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Reschedule an upcoming send through existing scheduling validation.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Reschedule upcoming send
rewrite_pitch_draftsRewrite saved pitches or apply a template using the existing generation queue and team checks.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Rewrite saved pitches or apply a template using the existing generation queue and team checks. Does not send emails.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Rewrite pitch drafts
schedule_campaignSchedule campaign pitches through the existing campaign and pitch-limit checks.No findings
Why it is in this group
- The name "schedule_campaign" says "schedule": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Schedule campaign pitches through the existing campaign and pitch-limit checks.
Annotations the server declares
- destructiveHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Schedule campaign
send_pitchSend a pitch through PodPitch's existing authorization, plan, campaign-mode, and daily pitch limits.No findings
Why it is in this group
- The name "send_pitch" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Send a pitch through PodPitch's existing authorization, plan, campaign-mode, and daily pitch limits. Sends an email.
Annotations the server declares
- destructiveHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Send pitch
set_campaign_modeSet a campaign Off or Manual through the existing mode checks.No findings
Why it is in this group
- The name "set_campaign_mode" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set a campaign Off or Manual through the existing mode checks. MagicPitch does not allow Manual.
Annotations the server declares
- destructiveHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Set campaign mode
update_campaignUpdate campaign name, writing, follow-up, and tracking settings.No findings
Why it is in this group
- The name "update_campaign" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update campaign name, writing, follow-up, and tracking settings. Scheduling uses schedule_campaign.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update campaign
update_templateUpdate a writing template belonging to your team.No findings
Why it is in this group
- The name "update_template" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a writing template belonging to your team.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update template
Changes things 8Claude Code: ask
add_contacts_to_campaignAdd selected contacts to your campaign through the existing duplicate checks.No findings
Why it is in this group
- The name "add_contacts_to_campaign" says "add": a word for a change.
Description, as the server wrote it Add selected contacts to your campaign through the existing duplicate checks.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Add contacts to campaign
create_inbox_labelCreate an inbox label.No findings
Why it is in this group
- The name "create_inbox_label" says "create": a word for a change.
Description, as the server wrote it Create an inbox label.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create inbox label
create_podcast_campaignCreate a podcast campaign in Off mode using a team profile and connected senders.No findings
Why it is in this group
- The name "create_podcast_campaign" says "create": a word for a change.
Description, as the server wrote it Create a podcast campaign in Off mode using a team profile and connected senders. Existing plan and first-campaign setup checks apply.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create podcast campaign
create_profileCreate a profile for your team.No findings
Why it is in this group
- The name "create_profile" says "create": a word for a change.
Description, as the server wrote it Create a profile for your team.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create profile
create_templateCreate a writing template.No findings
Why it is in this group
- The name "create_template" says "create": a word for a change.
Description, as the server wrote it Create a writing template.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create template
exclude_contactsAdd or update your team's contact exclusions.No findings
Why it is in this group
- The description's first verb is "add": a word for a change.
Description, as the server wrote it Add or update your team's contact exclusions.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Exclude contacts
report_agent_bugRecord a minimal technical PodPitch failure without an account.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...rt concrete tool failures once. Exclude credentials, personal data, pitches and conversatio..."
Description, as the server wrote it Record a minimal technical PodPitch failure without an account. Report concrete tool failures once. Exclude credentials, personal data, pitches and conversations. Respect client approval. Returns a persisted report ID.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Report a PodPitch bug
unarchive_profileRestore an archived profile.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Restore an archived profile.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Unarchive profile
Only reads 26Claude Code: allow
get_account_podcastRead a podcast's full account-accessible record.No findings
Why it is in this group
- The name "get_account_podcast" says "get": a word for reading.
Description, as the server wrote it Read a podcast's full account-accessible record.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get account podcast
get_campaignRead your team's campaign and its settings.No findings
Why it is in this group
- The name "get_campaign" says "get": a word for reading.
Description, as the server wrote it Read your team's campaign and its settings.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign
get_campaign_auditRead the change history of your campaign.No findings
Why it is in this group
- The name "get_campaign_audit" says "get": a word for reading.
Description, as the server wrote it Read the change history of your campaign.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign audit
get_campaign_build_progressRead draft generation progress for your team's campaign.No findings
Why it is in this group
- The name "get_campaign_build_progress" says "get": a word for reading.
Description, as the server wrote it Read draft generation progress for your team's campaign.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign build progress
get_campaign_draft_previewsRead pitch previews for a campaign.No findings
Why it is in this group
- The name "get_campaign_draft_previews" says "get": a word for reading.
Description, as the server wrote it Read pitch previews for a campaign.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign draft previews
get_campaign_draftsRead saved drafts for any campaign type, including podcast campaigns.No findings
Why it is in this group
- The name "get_campaign_drafts" says "get": a word for reading.
Description, as the server wrote it Read saved drafts for any campaign type, including podcast campaigns. Returns all six email stages, generation/error and pause/send state. Use next_offset as offset for the next page; use entity_id for a specific draft. A queued acknowledgement is not completion; read saved content and is_regenerating to verify.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign drafts
get_campaign_scheduleRead scheduled campaign sends.No findings
Why it is in this group
- The name "get_campaign_schedule" says "get": a word for reading.
Description, as the server wrote it Read scheduled campaign sends.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get campaign schedule
get_connected_accountReturn the account represented by this connection, with a stable opaque profile ID and display email.No findings
Why it is in this group
- The name "get_connected_account" says "get": a word for reading.
Description, as the server wrote it Return the account represented by this connection, with a stable opaque profile ID and display email.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get connected account
get_inbox_countsRead inbox status counts.No findings
Why it is in this group
- The name "get_inbox_counts" says "get": a word for reading.
Description, as the server wrote it Read inbox status counts.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get inbox counts
get_pitch_activityRead your team's recent pitch, reply, booking, and open counts.No findings
Why it is in this group
- The name "get_pitch_activity" says "get": a word for reading.
Description, as the server wrote it Read your team's recent pitch, reply, booking, and open counts.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get pitch activity
get_podcast_detailsRead public details for a podcast from search.No findings
Why it is in this group
- The name "get_podcast_details" says "get": a word for reading.
Description, as the server wrote it Read public details for a podcast from search. No account or contact addresses.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Read podcast details
get_profile_auditRead the change history of your profile.No findings
Why it is in this group
- The name "get_profile_audit" says "get": a word for reading.
Description, as the server wrote it Read the change history of your profile.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get profile audit
get_subject_resultsRead subject line performance for your campaign.No findings
Why it is in this group
- The name "get_subject_results" says "get": a word for reading.
Description, as the server wrote it Read subject line performance for your campaign.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get subject results
get_upcoming_sendsRead upcoming sends for your team.No findings
Why it is in this group
- The name "get_upcoming_sends" says "get": a word for reading.
Description, as the server wrote it Read upcoming sends for your team.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Get upcoming sends
list_campaignsList up to 50 campaign summaries, newest first.No findings
Why it is in this group
- The name "list_campaigns" says "list": a word for reading.
Description, as the server wrote it List up to 50 campaign summaries, newest first. Use next_before_id as before_id for the next page. Read complete settings with get_campaign.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List campaigns
list_connected_sendersList connected sender accounts, connection status, and daily capacity.1 finding
Why it is in this group
- The name "list_connected_senders" says "list": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...atus, and daily capacity. Never returns credentials."
Description, as the server wrote it List connected sender accounts, connection status, and daily capacity. Never returns credentials.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List connected senders
list_excluded_contactsRead your team's excluded contacts.No findings
Why it is in this group
- The name "list_excluded_contacts" says "list": a word for reading.
Description, as the server wrote it Read your team's excluded contacts.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List excluded contacts
list_inbox_labelsList your team's inbox labels.No findings
Why it is in this group
- The name "list_inbox_labels" says "list": a word for reading.
Description, as the server wrote it List your team's inbox labels.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List inbox labels
list_inbox_threadsSearch or list your team's inbox threads with pagination.No findings
Why it is in this group
- The name "list_inbox_threads" says "list": a word for reading.
Description, as the server wrote it Search or list your team's inbox threads with pagination.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List inbox threads
list_media_listsList your team's saved media lists.No findings
Why it is in this group
- The name "list_media_lists" says "list": a word for reading.
Description, as the server wrote it List your team's saved media lists.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List media lists
list_profilesList your team's profiles.No findings
Why it is in this group
- The name "list_profiles" says "list": a word for reading.
Description, as the server wrote it List your team's profiles.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List profiles
list_templatesRead your team's writing templates.No findings
Why it is in this group
- The name "list_templates" says "list": a word for reading.
Description, as the server wrote it Read your team's writing templates.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: List templates
read_inbox_threadRead a thread in a mailbox belonging to your team.No findings
Why it is in this group
- The name "read_inbox_thread" says "read": a word for reading.
Description, as the server wrote it Read a thread in a mailbox belonging to your team.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Read inbox thread
read_podcast_media_listRead a podcast media list belonging to your team.No findings
Why it is in this group
- The name "read_podcast_media_list" says "read": a word for reading.
Description, as the server wrote it Read a podcast media list belonging to your team.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Read podcast media list
search_account_podcastsSearch podcasts with your account's filters and search allowance.No findings
Why it is in this group
- The name "search_account_podcasts" says "search": a word for reading.
Description, as the server wrote it Search podcasts with your account's filters and search allowance.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Search account podcasts
search_podcastsFind active podcasts by topic or name.No findings
Why it is in this group
- The name "search_podcasts" says "search": a word for reading.
Description, as the server wrote it Find active podcasts by topic or name. No account needed. Returns public show information and listening links, never contact addresses.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- title: Find podcasts
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http podpitch https://api.podpitch.com/v1/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__podpitch__search_podcasts",
"mcp__podpitch__get_podcast_details",
"mcp__podpitch__get_connected_account",
"mcp__podpitch__get_campaign",
"mcp__podpitch__list_campaigns",
"mcp__podpitch__list_profiles",
"mcp__podpitch__search_account_podcasts",
"mcp__podpitch__get_account_podcast",
"mcp__podpitch__get_campaign_drafts",
"mcp__podpitch__get_campaign_draft_previews",
"mcp__podpitch__get_campaign_audit",
"mcp__podpitch__get_profile_audit",
"mcp__podpitch__get_subject_results",
"mcp__podpitch__get_campaign_schedule",
"mcp__podpitch__list_inbox_threads",
"mcp__podpitch__read_inbox_thread",
"mcp__podpitch__get_inbox_counts",
"mcp__podpitch__list_inbox_labels",
"mcp__podpitch__get_upcoming_sends",
"mcp__podpitch__list_templates",
"mcp__podpitch__list_media_lists",
"mcp__podpitch__read_podcast_media_list",
"mcp__podpitch__list_excluded_contacts",
"mcp__podpitch__list_connected_senders",
"mcp__podpitch__get_pitch_activity",
"mcp__podpitch__get_campaign_build_progress"
],
"ask": [
"mcp__podpitch__report_agent_bug",
"mcp__podpitch__create_podcast_campaign",
"mcp__podpitch__create_profile",
"mcp__podpitch__unarchive_profile",
"mcp__podpitch__add_contacts_to_campaign",
"mcp__podpitch__create_inbox_label",
"mcp__podpitch__create_template",
"mcp__podpitch__exclude_contacts"
],
"deny": [
"mcp__podpitch__update_campaign",
"mcp__podpitch__edit_pitch_draft",
"mcp__podpitch__archive_profile",
"mcp__podpitch__send_pitch",
"mcp__podpitch__schedule_campaign",
"mcp__podpitch__pause_campaign_schedule",
"mcp__podpitch__disable_campaign_schedule",
"mcp__podpitch__set_campaign_mode",
"mcp__podpitch__reply_to_inbox_thread",
"mcp__podpitch__mark_inbox_thread",
"mcp__podpitch__cancel_upcoming_send",
"mcp__podpitch__edit_upcoming_send",
"mcp__podpitch__reschedule_upcoming_send",
"mcp__podpitch__update_template",
"mcp__podpitch__delete_template",
"mcp__podpitch__rewrite_pitch_drafts",
"mcp__podpitch__generate_pitch_drafts"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as podpitch. Review it before you use it.
