sponsorable
Find brands that already sponsor podcasts like yours, then reveal the buyer to pitch.
我该使用它吗
质量与安全性
发现(1)
- LOW在 fetch 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"sponsorable": {
"url": "https://app.sponsorable.com/mcp"
}
}
}远程端点
https://app.sponsorable.com/mcpstreamable-http它能做什么
工具清单
工具(17)
🟢search(query)
Search Sponsorable's podcast-sponsorship database for brands that sponsor podcasts — the deep-research/Responses-API compatibility interface, paired with fetch. Matches sponsor names and domains and returns citable documents; pass a result's id to fetch for the full profile. For filtered or paginated search (category, industry, recency), use search_sponsors instead.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Sponsor name, product, or domain to search for"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
]
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fetch(id)
Retrieve the Sponsorable profile for one podcast sponsor as a citable document — the deep-research/Responses-API compatibility interface, paired with search. The id is a sponsor domain, as returned by search (e.g. 'betterhelp.com'). For a structured JSON profile use get_sponsor instead.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "Sponsor domain from a search result id"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object"
}
},
"required": [
"id",
"title",
"text",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_sponsors_for_show(show, feed_url)
Given a podcast's name or RSS feed URL, return the brands detected sponsoring it, falling back to brands active in the show's categories when few exact sponsors are found. Each result carries a short reason. Use this for "who would sponsor my show?" questions; it identifies one show per call and does not browse the podcast catalog. Without a linked account, results cover publicly listed sponsors only.
输入模式
{
"type": "object",
"properties": {
"show": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The podcast's name"
},
"feed_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "The podcast's RSS feed URL (exact match; use when known)"
}
},
"required": [],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"show": {
"type": "object"
},
"exact_sponsors": {
"type": "array",
"items": {
"type": "object"
}
},
"similar_sponsors": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"show",
"exact_sponsors",
"similar_sponsors"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_sponsors(search, category, industry, last, podcasts, ...)
Search companies that sponsor podcasts. All filters are optional and combine (AND). Results are paginated (default 25 per page, max 100); page depth is capped at 20 — refine the filters instead of paging deep. Each result carries the sponsor's domain, name, industry, location, sponsorship/podcast counts, and a representative buyer contact (masked on credit-based plans). Without a linked account, results cover only publicly listed sponsors with top-line stats (no contact or company-detail fields), the last 90 days, first page only, max 25 results. For one company's full profile use get_sponsor; for its buyer-contact list use list_sponsor_contacts.
输入模式
{
"type": "object",
"properties": {
"search": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Match against sponsor name or domain"
},
"category": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Category slug — find slugs with list_categories"
},
"industry": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Industry name, loosely matched free text (not an exact slug), e.g. 'Software'"
},
"last": {
"type": "string",
"enum": [
"day",
"week",
"month",
"quarter"
],
"description": "Only sponsors with a sponsorship in this recent window"
},
"podcasts": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Minimum number of distinct podcasts sponsored"
},
"sponsorships": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Minimum total sponsorship count"
},
"podcast_sponsored": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Podcast ID — only sponsors that have sponsored this podcast"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Page number (1-20, default 1)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Results per page (1-100, default 25)"
}
},
"required": [],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object"
}
},
"pagination": {
"type": "object",
"properties": {
"current_page": {
"type": "integer"
},
"total_pages": {
"type": "integer"
},
"total_results": {
"type": "integer"
}
}
}
},
"required": [
"data",
"pagination"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_sponsor(domain)
Full profile for one sponsor, addressed by domain: description, industry, location, size, sponsorship totals, top and newest podcasts, and top categories. Without a linked account, only publicly listed sponsors resolve, with top-line stats and category names only (no company details, no contact section). On the credit-based Free plan the first full view of a sponsor charges 1 credit and permanently unlocks its dossier for the whole organization (repeat views are free, never double-charged) — warn the user before opening many new sponsors in one go. A result with locked: true charged nothing; its locked_note says why.
输入模式
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "The sponsor's domain, e.g. 'athleticgreens.com'"
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"sponsor": {
"type": "object"
},
"top_podcasts": {
"type": "array",
"items": {
"type": "object"
}
},
"top_categories": {
"type": "array",
"items": {
"type": "object"
}
},
"new_podcasts": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"sponsor"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_sponsor_contacts(domain)
Contacts at the sponsoring company who are the likely buyers of podcast sponsorships — the people a podcaster or sales agency would pitch. Ordered by likelihood of owning the ad budget. Free to call. On credit-based plans, locked contacts come back masked (initials, no email/LinkedIn) with disclosure fields — has_email, email_domain, has_linkedin — showing what reveal_contact buys. Plans with contact data included get every contact unmasked here directly; those listings record deduplicated internal usage for billing parity (no credits are charged, nothing else changes).
输入模式
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "The sponsor's domain"
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🔴reveal_contact(domain, contact_id, confirmed)
Spend 1 credit to reveal a contact's full name, email, and LinkedIn URL. The unlock is permanent and org-wide: revealing an already-unlocked contact is free and never double-charges. Check the contact's has_email/has_linkedin fields from list_sponsor_contacts first so you know what the credit buys. Ask the user before revealing unless they already told you to, then set confirmed=true.
输入模式
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "The sponsor's domain"
},
"contact_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The contact_id from list_sponsor_contacts"
},
"confirmed": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly authorizes spending a credit"
}
},
"required": [
"domain",
"contact_id",
"confirmed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_categories
The full podcast category tree with per-category sponsorship totals. Category slugs from here feed the category filter on search_sponsors and search_podcasts. Without a linked account the totals cover the last 90 days and internal identifiers are omitted.
输入模式
{
"type": "object",
"properties": {},
"required": [],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_category(slug)
Category dossier: totals plus the top sponsors and podcasts in the category. Free to call.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "The category slug from list_categories"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_podcasts(search, category, industry, last, sponsors, ...)
Search podcasts by name, category, sponsor activity, or the industry of their sponsors. Free to call. Results are paginated (default 25 per page, max 100); page depth is capped at 20 — refine the filters instead of paging deep. Each result carries the podcast_id, name, categories, episode count, and sponsor/sponsorship counts. For one podcast's full profile and its top sponsors, use get_podcast.
输入模式
{
"type": "object",
"properties": {
"search": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Match against podcast name"
},
"category": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Category slug — find slugs with list_categories"
},
"industry": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Only podcasts sponsored by companies in this industry (loosely matched free text, not a slug)"
},
"last": {
"type": "string",
"enum": [
"day",
"week",
"month",
"quarter"
],
"description": "Only podcasts with a sponsorship in this recent window"
},
"sponsors": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Minimum number of distinct sponsors"
},
"sponsorships": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Minimum total sponsorship count"
},
"episodes": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Minimum episode count"
},
"sort_by": {
"type": "string",
"enum": [
"episodes",
"sponsors",
"sponsorships",
"last_episode"
],
"description": "Sort key (default: sponsors)"
},
"sort_order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort direction (default: desc)"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Page number (1-20, default 1)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Results per page (1-100, default 25)"
}
},
"required": [],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_podcast(podcast_id)
Full profile for one podcast: overview, host contact, and its top and newest sponsors. Free to call.
输入模式
{
"type": "object",
"properties": {
"podcast_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The podcast_id from search_podcasts"
}
},
"required": [
"podcast_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_lists
The organization's saved lists — named collections of sponsors, podcasts, categories, and contacts — with item counts. Free to call.
输入模式
{
"type": "object",
"properties": {},
"required": [],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_list(list_id)
Full contents of a saved list: sponsors, podcasts (Pro plans), categories, and contacts. Contacts follow the same masking and reveal rules as list_sponsor_contacts, including the deduplicated internal usage record on included-contact plans (no credits are charged).
输入模式
{
"type": "object",
"properties": {
"list_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The list's id (from list_lists or create_list)"
}
},
"required": [
"list_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡create_list(name)
Create a new, empty saved list. Free to call.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A short name for the list, e.g. \"Q3 outreach targets\""
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡add_list_item(list_id, item_type, item_id)
Add an item to a saved list. item_id is the sponsor's domain, a podcast_id (Pro plans), a category_id, or a contact_id. Adding an item that's already in the list is a no-op. Free to call.
输入模式
{
"type": "object",
"properties": {
"list_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The list's id (from list_lists or create_list)"
},
"item_type": {
"type": "string",
"enum": [
"sponsor",
"podcast",
"category",
"contact"
]
},
"item_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "sponsor: domain, podcast: podcast_id, category: category_id, contact: contact_id"
}
},
"required": [
"list_id",
"item_type",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🔴remove_list_item(list_id, item_id)
Remove an item from a saved list. Removing an item that isn't in the list is a no-op. Free to call.
输入模式
{
"type": "object",
"properties": {
"list_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The list's id (from list_lists)"
},
"item_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The item's id as shown in get_list (domain, podcast_id, category_id, or contact_id)"
}
},
"required": [
"list_id",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🔴delete_list(list_id, confirmed)
Permanently delete a saved list and everything in it. This cannot be undone — confirm with the user before calling, then set confirmed=true.
输入模式
{
"type": "object",
"properties": {
"list_id": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The list's id (from list_lists)"
},
"confirmed": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly confirms permanent deletion"
}
},
"required": [
"list_id",
"confirmed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据