Back to Browse

Brand Sponsor Finder MCP Server

Developer ToolsModerate7.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

Brands paying creators in a niche, with evidence links, dates, and recency scores.

About

Brands paying creators in a niche, with evidence links, dates, and recency scores.

Security Report

7.6
Moderate7.6Low Risk

This is a thin MCP client wrapper that starts an Apify actor run, polls it to completion, and pages through the returned dataset, with the APIFY_TOKEN read from the environment and no hardcoded secrets. Its permissions (outbound HTTPS to api.apify.com and environment variable reads) match its stated purpose, and the only notable observations are minor: the optional YouTube API key is forwarded to a third-party actor, and the cursor is an unsigned base64 token that is validated only by format. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

7 files analyzed · 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Apify API token from https://console.apify.com/account/integrationsRequired

Environment variable: APIFY_TOKEN

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "com-mambabuilt-mcp-brand-sponsor-finder": {
      "env": {
        "APIFY_TOKEN": "your-apify-token-here"
      },
      "args": [
        "-y",
        "@mambalabsdev/mcp-brand-sponsor-finder"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Brand Sponsor Finder MCP Server

Glama score MCP Registry npm version npm downloads license mcpservers.org

Find the brands that paid creators in a niche in the last 90 days, with the public evidence for each placement. One row per brand with a recency score, and one row per sighting with its evidence link, date, and promo code.

What's Inside

What it does

  • Reads public YouTube video descriptions (channel feeds, or your own YouTube Data API key), podcast show notes, newsletter issues, and event sponsor pages for sponsor lines, promo codes, and sponsor slots.
  • Follows shortlinks and affiliate redirects to the brand's own domain, and merges every sighting into one row per brand domain.
  • Checks the brands it found for open partnership job posts (Greenhouse, Lever, Ashby) and creator or affiliate program pages, which become the brand's public contact.
  • Returns only sightings inside your date window, each with an evidence link. Instagram, TikTok, and the Meta Ad Library are not read.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Row cap and paging

One run can return hundreds of rows (633 rows and about 0.8 MB of text on a 30 day health and fitness search), which is more than an agent context holds. So each call returns at most max_rows rows: 50 unless you set it, and never more than 200.

  1. The first call starts the run and returns the first page. The first content block is the JSON array of rows. The second is a paging block with run_id, total_rows, rows_returned, and next_cursor.
  2. To get the next page, call find_brand_sponsors again with only cursor set to next_cursor. Add max_rows to change the page size.
  3. Repeat until next_cursor is null.

A cursor call starts no run. It reads the next page of rows the first run already wrote, so no row is billed twice. A cursor works for as long as Apify keeps that run's dataset.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-brand-sponsor-finder": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-brand-sponsor-finder"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The find_brand_sponsors tool appears.

Prerequisites

Example prompts

  • "Find brands sponsoring health and fitness creators in the last 90 days."
  • "Which brands paid beauty YouTubers this month? Brand rows only."
  • "List coffee brands sponsoring podcasts and newsletters, with promo codes."

Tool

find_brand_sponsors. One tool. Example arguments:

{
  "niche": "health and fitness",
  "window_days": "90"
}

Inputs

Every buyer facing input of the actor, unchanged, plus the two paging settings. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

InputTypeDescription
nichestringThe audience niche, for example "health and fitness", "beauty and skincare", or "food and beverage". Searches for channels, shows, and newsletters use it, and every row carries it. These three niches also start from a list of sources Mamba Labs has read before (turn off with use_niche_presets)
audience_keywordsstringOptional. More search terms for the audience, one per line or separated by commas, for example "strength training". Each one widens the podcast, newsletter, and (with your key) YouTube channel search. Up to 20. A text field, so a Clay column maps straight in
window_daysstringOnly sightings from the last N days. Whole number, default 90, at most 365. Sent as text so Clay works Default 90
sourcesstringOptional. Which sources to run, separated by commas, any of: youtube, podcast, event, newsletter, job_post, program. Empty runs all of them. job_post and program check the brands the other sources found
seed_sourcesstringOptional. YouTube channel URLs or @handles, podcast RSS feed URLs, or newsletter URLs to read first, one per line or separated by commas. Each is read even beyond the per source limits
event_calendarstringOptional. Events whose sponsor or partner page to read, as a JSON list of objects: [{"name": "...", "url": "sponsor page URL", "date": "YYYY-MM-DD", "city": "...", "audience": "...", "size": "..."}], or one sponsor page URL per line. url is needed; the rest is optional. A dated event inside the window gives dated rows; an undated or upcoming event gives undated rows
use_niche_presetsstringtrue or false, default true. For health and fitness, beauty and skincare, and food and beverage, also read the channels, shows, newsletters, and event pages Mamba Labs has read before Default true
include_brandsstringtrue or false, default true. One row per brand domain with sighting count, last seen date, sources, creators or events, contact, and recency score Default true
include_sightingsstringtrue or false, default true. One row per sighting with its evidence link, date, promo code, placement type, and pitch angle Default true
max_channelsstringYouTube channels read per run. Whole number, default 20, at most 100. Sent as text so Clay works Default 20
max_videos_per_channelstringNewest uploads read per channel (the public feed holds 15). Whole number, default 15, at most 50. Sent as text so Clay works Default 15
max_podcastsstringPodcast shows read per run. Whole number, default 15, at most 100. Sent as text so Clay works Default 15
max_episodes_per_podcaststringNewest episodes read per show. Whole number, default 8, at most 30. Sent as text so Clay works Default 8
max_newslettersstringNewsletters read per run. Whole number, default 8, at most 50. Sent as text so Clay works Default 8
max_issues_per_newsletterstringNewest issues read per newsletter. Whole number, default 8, at most 30. Sent as text so Clay works Default 8
max_brands_to_checkstringBrands, most sighted first, whose job boards and program pages are checked. Whole number, default 25, at most 200. Sent as text so Clay works Default 25
max_charge_usdstringOptional. The run stops before it would charge more than this
max_rowsstringWrapper setting, not sent to the actor. Rows returned per call: whole number, default 50, at most 200
cursorstringWrapper setting, not sent to the actor. The next_cursor from the previous call. Starts no run and returns the next page of that run's rows

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
brand-row, one brand returned as a row: domain, sighting count, last seen date, sources, creators or events it paid, public contact, and recency score$0.02$0.019$0.018$0.017
sighting-row, one public placement returned as a row: brand, source, creator or event, date, evidence link, promo code, placement type, and pitch angle$0.005$0.00475$0.0045$0.00425
apify-actor-start, per run start$0.002$0.002$0.002$0.002

Free rows: a run with no result writes one free row that says why, and a refused input writes one free row whose error_reason starts with input_invalid:.

Your keys

No key is needed. Your own YouTube Data API key is optional: set YOUTUBE_API_KEY in this server's environment and it is passed to the actor as youtube_api_key, so the key never goes through the conversation. With it the actor searches YouTube for channels in the niche and reads up to 50 uploads per channel.

Full actor documentation

apify.com/mambalabs/brand-sponsor-finder

License

MIT. See LICENSE.

Reviews

No reviews yet

Be the first to review this server!