Search / io.github.nealshulman/podpitch
PodPitch
R0· no sign-inFind relevant podcasts without an account. Connect PodPitch for private campaigns and outreach.
v1.0.0 · active · repository · website · descriptor JSON · versions
Search / io.github.nealshulman/podpitch
R0· no sign-inFind relevant podcasts without an account. Connect PodPitch for private campaigns and outreach.
v1.0.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"podpitch": {
"type": "http",
"url": "https://api.podpitch.com/v1/mcp"
}
}
}claude mcp add --transport http podpitch https://api.podpitch.com/v1/mcp[mcp_servers.podpitch]
url = "https://api.podpitch.com/v1/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"podpitch": {
"type": "remote",
"url": "https://api.podpitch.com/v1/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"podpitch": {
"type": "http",
"url": "https://api.podpitch.com/v1/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=podpitch&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnBvZHBpdGNoLmNvbS92MS9tY3AifQ%3D%3D"
}{
"servers": {
"podpitch": {
"type": "http",
"url": "https://api.podpitch.com/v1/mcp"
}
}
}{
"mcpServers": {
"podpitch": {
"httpUrl": "https://api.podpitch.com/v1/mcp"
}
}
}extensions:
"podpitch":
enabled: true
name: "podpitch"
type: streamable_http
uri: "https://api.podpitch.com/v1/mcp"
timeout: 300
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changesstability.rug_pullstability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvablelist_templateschangedinput schemaget_upcoming_sendschangedinput schemacreate_profilechangeddescriptionmeaning changedCreate a profile for your team.
Create a profile for your team. PodPitch rewrites the bio with web research before saving, which can take a few minutes, so don't retry while it runs. The result's web_enhanced_bio says whether it did. If the web has nothing on them, the bio stays as passed.
create_profilechangedinput schemagenerate_pitch_draftschangedinput schemasearch_account_podcastschangedinput schemacreate_podcast_campaignchangedinput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +website +reachable +uptime-100% +updated-24d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.podpitch.com/v1/mcp streamable-http | none | yes | 100% | 206 ms | 2026-07-28 | 2026-11-14 |
add_contacts_to_campaign | Add selected contacts to your campaign through the existing duplicate checks. |
archive_profiledestructive | Archive a profile belonging to your team. |
cancel_upcoming_senddestructive | Cancel an upcoming send belonging to your team. |
create_inbox_label | Create an inbox label. |
create_podcast_campaign | Create a podcast campaign in Off mode using a team profile and connected senders. Existing plan and first-campaign setup checks apply. |
create_profile | Create a profile for your team. PodPitch rewrites the bio with web research before saving, which can take a few minutes, so don't retry while it runs. The result's web_enhanced_bio says whether it did. If the web has nothing on them, the bio stays as passed. |
create_template | Create a writing template. |
delete_templatedestructive | Delete a writing template belonging to your team. |
disable_campaign_scheduledestructive | Disable pending sends for your campaign. |
edit_pitch_draftdestructive | Edit a saved, unscheduled pitch at its expected stage. Refresh before editing; scheduled messages use edit_upcoming_send. |
edit_upcoming_senddestructive | Edit an upcoming unsent message through existing validation. |
exclude_contacts | Add or update your team's contact exclusions. |
generate_pitch_draftsdestructive | 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. |
get_account_podcastread-only | Read a podcast's full account-accessible record. |
get_campaignread-only | Read your team's campaign and its settings. |
get_campaign_auditread-only | Read the change history of your campaign. |
get_campaign_build_progressread-only | Read draft generation progress for your team's campaign. |
get_campaign_draft_previewsread-only | Read pitch previews for a campaign. |
get_campaign_draftsread-only | 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. |
get_campaign_scheduleread-only | Read scheduled campaign sends. |
get_connected_accountread-only | Return the account represented by this connection, with a stable opaque profile ID and display email. |
get_inbox_countsread-only | Read inbox status counts. |
get_pitch_activityread-only | Read your team's recent pitch, reply, booking, and open counts. |
get_podcast_detailsread-only | Read public details for a podcast from search. No account or contact addresses. |
get_profile_auditread-only | Read the change history of your profile. |
get_subject_resultsread-only | Read subject line performance for your campaign. |
get_upcoming_sendsread-only | Read upcoming sends for your team. |
list_campaignsread-only | 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. |
list_connected_sendersread-only | List connected sender accounts, connection status, and daily capacity. Never returns credentials. |
list_excluded_contactsread-only | Read your team's excluded contacts. |
list_inbox_labelsread-only | List your team's inbox labels. |
list_inbox_threadsread-only | Search or list your team's inbox threads with pagination. |
list_media_listsread-only | List your team's saved media lists. |
list_profilesread-only | List your team's profiles. |
list_templatesread-only | Read your team's writing templates. |
mark_inbox_threaddestructive | Mark a thread read, unread, starred, or archived. |
pause_campaign_scheduledestructive | Pause pending sends for your campaign. |
read_inbox_threadread-only | Read a thread in a mailbox belonging to your team. |
read_podcast_media_listread-only | Read a podcast media list belonging to your team. |
reply_to_inbox_threaddestructive | Send a reply in a thread belonging to your team. Sends an email. |
report_agent_bug | 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. |
reschedule_upcoming_senddestructive | Reschedule an upcoming send through existing scheduling validation. |
rewrite_pitch_draftsdestructive | Rewrite saved pitches or apply a template using the existing generation queue and team checks. Does not send emails. |
schedule_campaigndestructive | Schedule campaign pitches through the existing campaign and pitch-limit checks. |
search_account_podcastsread-only | Search podcasts with your account's filters and search allowance. |
search_podcastsread-only | Find active podcasts by topic or name. No account needed. Returns public show information and listening links, never contact addresses. |
send_pitchdestructive | Send a pitch through PodPitch's existing authorization, plan, campaign-mode, and daily pitch limits. Sends an email. |
set_campaign_modedestructive | Set a campaign Off or Manual through the existing mode checks. MagicPitch does not allow Manual. |
unarchive_profile | Restore an archived profile. |
update_campaigndestructive | Update campaign name, writing, follow-up, and tracking settings. Scheduling uses schedule_campaign. |
update_templatedestructive | Update a writing template belonging to your team. |
Schemas: list_tools.
{
"name": "io.github.nealshulman/podpitch",
"title": "PodPitch",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.podpitch.com/v1/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"repository": {
"url": "https://github.com/PodPitch/podpitch-plugins",
"source": "github"
},
"websiteUrl": "https://podpitch.com",
"description": "Find relevant podcasts without an account. Connect PodPitch for private campaigns and outreach."
}