Book a Sponsor
Find brands that already sponsor newsletters like yours, with sponsorship rates.
Should I use this
Quality & Safety
Findings (2)
- LOWin list_brands_sponsoring_newsletters
- LOWin get_newsletter_sponsorship_rates
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"book-a-sponsor": {
"url": "https://bookasponsor.com/mcp"
}
}
}Remote endpoints
https://bookasponsor.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢find_newsletter_sponsors(newsletter_url)
Use this when someone who runs a newsletter asks which brands might sponsor it or how to find sponsors for it. Takes the newsletter's web address, finds similar newsletters, and returns the brands that sponsored them, with the newsletters and dates where each ad ran. Starts a scan of the public newsletter pages if none exists; a new scan takes about 15 to 60 seconds.
Input Schema
{
"type": "object",
"properties": {
"newsletter_url": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "The newsletter's web address, such as yourname.substack.com or yournewsletter.com"
}
},
"required": [
"newsletter_url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"complete",
"running",
"needs_details",
"failed",
"refused"
]
},
"message": {
"type": "string"
},
"newsletter": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"domain": {
"type": "string"
},
"niche": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"domain",
"niche"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"similar_newsletters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"domain"
],
"additionalProperties": false
}
},
"sponsors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"domain": {
"type": [
"string",
"null"
]
},
"newsletters_sponsored": {
"type": [
"number",
"null"
]
},
"last_seen": {
"type": [
"string",
"null"
]
},
"seen_in": {
"type": "array",
"items": {
"type": "object",
"properties": {
"newsletter": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"issue_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"newsletter",
"date",
"issue_url"
],
"additionalProperties": false
}
}
},
"required": [
"brand",
"domain",
"newsletters_sponsored",
"last_seen",
"seen_in"
],
"additionalProperties": false
}
},
"sponsors_total": {
"type": "number"
},
"results_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"status",
"message",
"newsletter",
"similar_newsletters",
"sponsors",
"sponsors_total",
"results_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_sponsor_scan(newsletter_url)
Use this to read the result of a sponsor scan that find_newsletter_sponsors started, for example when it reported that the scan was still running. Takes the same newsletter web address.
Input Schema
{
"type": "object",
"properties": {
"newsletter_url": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "The newsletter's web address used for find_newsletter_sponsors"
}
},
"required": [
"newsletter_url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"complete",
"running",
"needs_details",
"failed",
"refused"
]
},
"message": {
"type": "string"
},
"newsletter": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"domain": {
"type": "string"
},
"niche": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"domain",
"niche"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"similar_newsletters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"domain"
],
"additionalProperties": false
}
},
"sponsors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"domain": {
"type": [
"string",
"null"
]
},
"newsletters_sponsored": {
"type": [
"number",
"null"
]
},
"last_seen": {
"type": [
"string",
"null"
]
},
"seen_in": {
"type": "array",
"items": {
"type": "object",
"properties": {
"newsletter": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"issue_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"newsletter",
"date",
"issue_url"
],
"additionalProperties": false
}
}
},
"required": [
"brand",
"domain",
"newsletters_sponsored",
"last_seen",
"seen_in"
],
"additionalProperties": false
}
},
"sponsors_total": {
"type": "number"
},
"results_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"status",
"message",
"newsletter",
"similar_newsletters",
"sponsors",
"sponsors_total",
"results_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_brands_sponsoring_newsletters(niche)
Use this when someone asks which companies or brands sponsor newsletters, overall or in a topic such as AI, finance or marketing. Returns the brands seen in the most newsletters in the last 12 months, read from published issues.
Input Schema
{
"type": "object",
"properties": {
"niche": {
"description": "Newsletter topic: ai, business, finance, tech, marketing, health, culture, food, productivity, crypto, dev, design, science, education, sports, climate, media, local, legal, travel. Leave out for all newsletters.",
"type": "string",
"enum": [
"ai",
"business",
"finance",
"tech",
"marketing",
"health",
"culture",
"food",
"productivity",
"crypto",
"dev",
"design",
"science",
"education",
"sports",
"climate",
"media",
"local",
"legal",
"travel"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"niche": {
"type": [
"string",
"null"
]
},
"brands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"domain": {
"type": "string"
},
"newsletters": {
"type": "number"
},
"last_seen": {
"type": [
"string",
"null"
]
},
"recent_newsletters": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"brand",
"domain",
"newsletters",
"last_seen",
"recent_newsletters"
],
"additionalProperties": false
}
},
"brands_seen": {
"type": "number"
},
"newsletters_read": {
"type": "number"
},
"updated": {
"type": "string"
},
"source_url": {
"type": "string"
}
},
"required": [
"niche",
"brands",
"brands_seen",
"newsletters_read",
"updated",
"source_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_newsletter_sponsorship_rates(subscribers)
Use this when someone asks how much to charge for a newsletter sponsorship or what newsletters charge for an ad. Returns the median price newsletters list for the main sponsor slot of one issue, by list size, read from their own advertise pages.
Input Schema
{
"type": "object",
"properties": {
"subscribers": {
"description": "The newsletter's subscriber count, to pick its size band",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000000
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"bands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"list_size": {
"type": "string"
},
"newsletters": {
"type": "number"
},
"median_usd": {
"type": "number"
},
"low_usd": {
"type": "number"
},
"high_usd": {
"type": "number"
},
"median_per_1000_subscribers_usd": {
"type": "number"
}
},
"required": [
"list_size",
"newsletters",
"median_usd",
"low_usd",
"high_usd",
"median_per_1000_subscribers_usd"
],
"additionalProperties": false
}
},
"your_band": {
"type": [
"string",
"null"
]
},
"newsletters_priced": {
"type": "number"
},
"read_on": {
"type": "string"
},
"source_url": {
"type": "string"
}
},
"required": [
"bands",
"your_band",
"newsletters_priced",
"read_on",
"source_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence