Influencer Brand Safety Intelligence
About
Influencer brand safety screening for AI agents and brand teams — this MCP server delivers automated creator vetting, controversy risk analysis, audience authenticity scoring, and sanctions screening through 8 callable tools that orchestrate 9 parallel data sources.
Details
- Author
- apifyforge
- GitHub stars
- 1
- Downloads
- 113
- Categories
- Other
Jump to
- 8 targeted MCP tools covering every phase of creator vetting
- 9 parallel data sources queried simultaneously (Bluesky, Trustpilot, OFAC, etc.)
- 17 controversy keyword patterns scanned across all content
- 12 brand-unsafe content categories flagged independently
- 8 audience inauthenticity signals detected (bots, fake followers, etc.)
- 4 independent scoring models combined into a Composite Brand Fit Score (0–100)
- 5‑tier partnership verdicts from BRAND_SAFE to DO_NOT_PARTNER
- Sanctions confidence thresholding (OFAC matches at 60+ score) to reduce false positives
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Influencer Brand Safety IntelligenceCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server URL to your MCP client configuration (Claude Desktop, Cursor, Windsurf, etc.) as shown in the Quick Start. Then ask your AI assistant to vet a creator using natural language, or call any of the 8 tools directly. Each tool returns scores, verdicts, and risk signals within 30–90 seconds.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"influencer brand safety intelligence": {
"influencer-brand-safety-intelligence-mcp": {
"url": "https://ryanclinton--influencer-brand-safety-intelligence-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"influencer-brand-safety-intelligence-mcp": {
"url": "https://ryanclinton--influencer-brand-safety-intelligence-mcp.apify.actor/mcp"
}
}
Influencer Brand Safety Intelligence MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"influencer-brand-safety-intelligence-mcp": {
"url": "https://ryanclinton--influencer-brand-safety-intelligence-mcp.apify.actor/mcp"
}
}
}
---
Influencer brand safety screening for AI agents and brand teams — this MCP server delivers automated creator vetting, controversy risk analysis, audience authenticity scoring, and sanctions screening through 8 callable tools that orchestrate 9 parallel data sources. Built for brand marketers, influencer agencies, legal and compliance teams, and PR risk managers who need structured, data-driven intelligence before committing partnership budgets.
The server runs on Apify's Standby infrastructure and exposes an HTTP endpoint that any MCP-compatible client can call. Each tool dispatches parallel requests across social media, review platforms, sanctions lists, historical archives, and web presence data — then runs them through 4 scoring models to produce a Composite Brand Fit Score (0-100) with a 5-tier partnership verdict. There is no subscription, no monthly fee, and no minimum commitment.
What data can you extract?
| Data Point | Source | Example |
|---|---|---|
| 📡 Social media posts and engagement patterns | Bluesky Social Search | 47 posts, 12 controversy flags detected |
| ⭐ Consumer review sentiment | Trustpilot Review Analyzer | 3.1/5 avg, 38% negative reviews |
| 🌐 Cross-platform review aggregation | Multi-Review Analyzer | Google + Yelp: 142 reviews analyzed |
| 🛡️ US Treasury SDN list screening | OFAC Sanctions Search | 0 matches (CLEAR) / 1 match (REVIEW_REQUIRED) |
| 🌍 Multi-jurisdiction watchlist and PEP flags | OpenSanctions Search | 100+ international sanctions databases queried |
| 💬 Tech community reputation and discussions | Hacker News Search | 8 HN threads found, 3 controversy flags |
| 🗂️ Historical web archive snapshots | Wayback Machine Search | 34 archived pages, 2 deleted content flags |
| 📞 Creator web presence and contact verification | Website Contact Scraper | Professional website verified, contact info found |
| 📄 Website content analysis for brand alignment | Website Content to Markdown | Full site content extracted and keyword-scanned |
| 🎯 Composite Brand Fit Score | All 9 sources combined | Score: 18/100 — Verdict: BRAND_SAFE |
| 📋 Dimensional risk scores | 4 scoring models | Safety 87, Authenticity 74, Controversy 12, History 5 |
| 🚩 Risk signals and recommendations | Automated analysis | "Clean review profile — positive brand association" |
❓ Why use Influencer Brand Safety Intelligence MCP?
Manual influencer vetting is slow, inconsistent, and expensive. Reviewing social media history, checking sanctions databases, auditing archived content, and assessing audience quality for a single creator typically takes 2-4 hours per candidate — and most teams skip steps that later surface as brand crises. Agencies managing 50+ creator partnerships per month face a review backlog that makes thorough vetting impractical at scale.
This MCP server automates the entire influencer brand safety workflow. Plug it into Claude, Cursor, Windsurf, Cline, or any HTTP-capable AI agent, and your AI assistant can run structured creator vetting as a natural part of campaign planning — no custom code required.
- Scheduling — run recurring safety screens on live partnerships to detect emerging controversy or declining authenticity
- API access — trigger brand safety checks from Python, JavaScript, or any HTTP client in CI/CD pipelines or influencer management tools
- Proxy rotation — data collection runs on Apify's proxy infrastructure to ensure reliable access at scale
- Monitoring — configure Slack or email alerts when screenings surface new risk signals
- Integrations — connect results to Zapier, Make, Google Sheets, HubSpot, or influencer CRM platforms via webhooks
Features
- 8 targeted MCP tools covering every phase of creator vetting: brand safety screen, audience authenticity check, controversy risk analysis, platform diversification score, historical content audit, sanctions watchlist check, multi-creator comparison, and full brand fit assessment
- 9 parallel data sources queried simultaneously to minimize latency — Bluesky, Trustpilot, Multi-Review Analyzer, OFAC, OpenSanctions, Hacker News, Wayback Machine, Website Contact Scraper, and Website Content to Markdown
- 17 controversy keyword patterns scanned across all social and historical content including: scandal, cancel, boycott, harassment, fraud, lawsuit, and 11 additional high-risk terms
- 12 brand-unsafe content categories flagged independently from controversy signals: drug, violence, gambling, adult content, extremism, terrorism, conspiracy, misinformation, and 4 additional categories
- 8 audience inauthenticity signals detected: bot activity, fake followers, bought followers, engagement pods, click farms, and 3 related terms
- 4 independent scoring models combining into a composite score: Brand Safety (max 100, high = safer), Audience Authenticity (max 100, high = more authentic), Controversy Risk (max 100, high = riskier), Historical Content Risk (max 100, high = riskier)
- Composite Brand Fit Score weighted formula: (100-brandSafety) x 0.25 + (100-authenticity) x 0.20 + controversyRisk x 0.30 + historicalRisk x 0.25 — controversy weighted highest
- 5-tier partnership verdicts on composite score: BRAND_SAFE (0-19), APPROVED (20-39), CONDITIONAL (40-59), HIGH_RISK (60-79), DO_NOT_PARTNER (80-100)
- Sanctions confidence thresholding — OFAC matches flagged only when match score reaches 60+ to reduce false positives on common names
- Platform diversification scoring — active platforms x 25, reporting HIGHLY_DIVERSIFIED, DIVERSIFIED, MODERATE, or SINGLE_PLATFORM with deplatforming risk assessment
- Historical content deletion detection — Wayback Machine HTTP 404 and 410 status codes used to identify pages that have been actively removed
- Optional website URL parameter on authenticity and diversification tools — providing a direct URL improves website verification accuracy vs. name-based lookup
- Spending limit controls — each tool checks charge limits before execution and returns a structured error if the per-run budget is reached
Use cases for influencer brand safety screening
Pre-campaign creator vetting
Brand managers and marketing directors screening creator shortlists before committing partnership budgets. Run brand_fit_assessment on the top 5-10 candidates to get composite scores and verdicts in minutes rather than days. Structured JSON output integrates directly with campaign planning spreadsheets or influencer CRMs.
Influencer agency portfolio management
Agencies managing dozens of active creator partnerships need ongoing risk monitoring, not just point-in-time vetting. Schedule creator_brand_safety_screen to run weekly or monthly on all roster members, and use webhooks to pipe results into Slack channels or HubSpot when risk signals change.
Legal and compliance review
Enterprise brands with in-house legal teams need documented evidence of sanctions screening before signing talent contracts. sanctions_watchlist_check screens both OFAC SDN and OpenSanctions in one call and returns a structured BLOCKED / REVIEW_REQUIRED / CLEAR verdict that can be archived as a compliance record alongside the contract.
Crisis prevention and PR risk management
PR teams vetting creators who are inbound for brand deals or who have been proposed by media buyers. controversy_risk_analysis surfaces current social controversy, historical web archive flags, and sanctions exposure in a single structured response — giving PR teams documented risk justification for rejecting or accepting creators.
Multi-creator shortlist comparison
Media planners comparing creator candidates for campaign slots. compare_creators accepts 2-5 names and returns a ranked comparison sorted by composite brand safety score, with per-dimension ratings (safety level, authenticity level, controversy level, historical risk level) for side-by-side evaluation.
AI agent workflow integration
AI development teams building autonomous marketing agents, influencer outreach bots, or brand safety automation pipelines. Because this is an MCP server, AI agents like Claude can call creator vetting tools as native capabilities — no custom API wrapper code required.
How to screen a creator for brand safety
1. Connect the MCP server — Add the server URL to your MCP client config (Claude Desktop, Cursor, Windsurf, or any compatible client). See the connection instructions below.
2. Ask your AI assistant to vet a creator — Type a natural language prompt such as "Screen @jasminewrites for brand safety and tell me if she's safe for a partnership." The AI will automatically select and call the appropriate tools.
3. Review the structured output — The tool returns scores, verdicts, and a list of specific risk signals within 30-90 seconds. Signals are plain-language descriptions you can copy directly into a vetting report.
4. Run a full brand fit assessment for final candidates — Use brand_fit_assessment on shortlisted creators for a comprehensive 9-source report before budget commitment.
⬇️ MCP tools
| Tool | Price | Description |
|------|-------|-------------|
| creator_brand_safety_screen | $0.045 | Brand safety scan via Bluesky, Trustpilot, multi-platform reviews, and Hacker News. Returns safety score 0-100 and safety level |
| audience_authenticity_check | $0.045 | Engagement quality, cross-platform presence, and website verification. Returns authenticity score and level |
| controversy_risk_analysis | $0.045 | Social controversy, Hacker News discussion, Wayback Machine archive flags, OFAC, and OpenSanctions. Returns controversy score and risk level |
| platform_diversification_score | $0.045 | Active platforms x 25 score. Returns HIGHLY_DIVERSIFIED / DIVERSIFIED / MODERATE / SINGLE_PLATFORM |
| historical_content_audit | $0.045 | Wayback Machine archive scan for deleted and modified content with HTTP status code analysis |
| sanctions_watchlist_check | $0.045 | OFAC SDN + OpenSanctions dual-source screening. Returns BLOCKED / REVIEW_REQUIRED / CLEAR verdict |
| compare_creators | $0.045 | Rank 2-5 creators by composite brand safety score. Returns sorted comparison with dimension ratings |
| brand_fit_assessment | $0.045 | Full 9-source analysis combining all 4 scoring models. Returns composite score, verdict, and recommendations |
Tool parameters
| Tool | Parameter | Type | Required | Description |
|------|-----------|------|----------|-------------|
| creator_brand_safety_screen | creator | string | Yes | Creator name, handle, or brand to screen |
| audience_authenticity_check | creator | string | Yes | Creator name or handle |
| audience_authenticity_check | website | string | No | Creator website URL — improves verification accuracy |
| controversy_risk_analysis | creator | string | Yes | Creator name or entity to analyze |
| platform_diversification_score | creator | string | Yes | Creator name or handle |
| platform_diversification_score | website | string | No | Creator website URL |
| historical_content_audit | creator | string | Yes | Creator name or website URL to audit |
| sanctions_watchlist_check | entity | string | Yes | Creator name or entity to screen |
| compare_creators | creators | string[] | Yes | Array of 2-5 creator names to compare |
| brand_fit_assessment | creator | string | Yes | Creator name or handle to assess |
⬆️ Output example
Full output from brand_fit_assessment for a creator named "Jordan Westfield":
{
"entity": "Jordan Westfield",
"compositeScore": 22,
"verdict": "APPROVED",
"brandSafety": {
"score": 82,
"controversyFlags": 0,
"unsafeContentFlags": 0,
"safetyLevel": "BRAND_SAFE",
"signals": [
"No controversy or unsafe content flags — brand-safe profile",
"Clean review profile — positive brand association"
]
},
"audienceAuthenticity": {
"score": 71,
"engagementQuality": 28,
"authenticityIndicators": 6,
"authenticityLevel": "AUTHENTIC",
"signals": [
"Professional website verified — legitimate creator presence",
"Multi-platform presence verified — strong authenticity indicator",
"3 HN discussions — genuine community presence"
]
},
"controversyRisk": {
"score": 6,
"socialControversy": 0,
"historicalFlags": 0,
"sanctionFlags": 0,
"riskLevel": "CLEAN",
"signals": []
},
"historicalContent": {
"score": 0,
"archivedPages": 14,
"deletedContentFlags": 0,
"contentRiskLevel": "CLEAN",
"signals": []
},
"allSignals": [
"No controversy or unsafe content flags — brand-safe profile",
"Clean review profile — positive brand association",
"Professional website verified — legitimate creator presence",
"Multi-platform presence verified — strong authenticity indicator",
"3 HN discussions — genuine community presence"
],
"recommendations": []
}
High-risk example output from controversy_risk_analysis:
{
"score": 68,
"socialControversy": 7,
"historicalFlags": 3,
"sanctionFlags": 0,
"riskLevel": "HIGH",
"signals": [
"7 controversy mentions across platforms — pattern of controversial content",
"3 historical content flags — deleted/modified controversial content detected"
]
}
Sanctions screening output from sanctions_watchlist_check:
{
"entity": "Viktor Kravchenko",
"hits": 1,
"matches": [
{
"source": "OpenSanctions",
"datasets": ["us_ofac_sdn", "eu_fsf_sanctions"],
"name": "Viktor V. Kravchenko"
}
],
"verdict": "REVIEW_REQUIRED",
"signals": [
"1 sanctions/watchlist matches — partnership must not proceed without legal review"
]
}
Output fields
| Field | Type | Description |
|-------|------|-------------|
| entity | string | The creator name that was screened |
| compositeScore | number | Overall risk score 0-100 (lower = safer for brand partnerships) |
| verdict | string | BRAND_SAFE / APPROVED / CONDITIONAL / HIGH_RISK / DO_NOT_PARTNER |
| brandSafety.score | number | Brand safety score 0-100 (higher = safer) |
| brandSafety.controversyFlags | number | Count of controversy keyword hits in social content |
| brandSafety.unsafeContentFlags | number | Count of brand-unsafe content keyword hits |
| brandSafety.safetyLevel | string | UNSAFE / HIGH_RISK / CAUTION / SAFE / BRAND_SAFE |
| brandSafety.signals | string[] | Plain-language risk and positive signal descriptions |
| audienceAuthenticity.score | number | Authenticity score 0-100 (higher = more authentic) |
| audienceAuthenticity.engagementQuality | number | Engagement quality sub-score (max 35) |
| audienceAuthenticity.authenticityIndicators | number | Count of positive authenticity indicators |
| audienceAuthenticity.authenticityLevel | string | FAKE / SUSPICIOUS / MIXED / AUTHENTIC / VERIFIED |
| controversyRisk.score | number | Controversy risk score 0-100 (higher = riskier) |
| controversyRisk.socialControversy | number | Count of controversy items across social platforms |
| controversyRisk.historicalFlags | number | Count of controversy flags in web archive |
| controversyRisk.sanctionFlags | number | Count of OFAC and OpenSanctions matches |
| controversyRisk.riskLevel | string | CLEAN / LOW / MODERATE / HIGH / CRITICAL |
| historicalContent.score | number | Historical content risk score 0-100 |
| historicalContent.archivedPages | number | Total archived pages found in Wayback Machine |
| historicalContent.deletedContentFlags | number | Count of pages with 404/410 HTTP status |
| historicalContent.contentRiskLevel | string | CLEAN / MINOR / NOTABLE / HIGH / CRITICAL |
| allSignals | string[] | Deduplicated list of all risk and positive signals across all dimensions |
| recommendations | string[] | Actionable partnership recommendations based on risk findings |
| platforms | object | Per-platform presence map (diversification tool) |
| diversificationScore | number | Active platforms x 25, max 100 |
| level | string | HIGHLY_DIVERSIFIED / DIVERSIFIED / MODERATE / SINGLE_PLATFORM |
| hits | number | Total sanctions/watchlist match count |
| matches[].source | string | OFAC or OpenSanctions |
| matches[].score | number | OFAC match confidence score (0-100) |
| matches[].datasets | string[] | OpenSanctions dataset identifiers |
How much does it cost to screen influencers for brand safety?
This MCP uses pay-per-event pricing — you pay $0.045 per tool call. Platform compute costs are included. There is no monthly subscription.
| Scenario | Tool calls | Cost per call | Total cost |
|----------|-----------|---------------|------------|
| Quick safety check | 1 | $0.045 | $0.045 |
| Vet 10 creators (basic screen each) | 10 | $0.045 | $0.45 |
| Full brand fit assessment x 5 creators | 5 | $0.045 | $0.225 |
| Compare two shortlists of 5 (compare_creators x 2) | 2 | $0.045 | $0.09 |
| Monthly monitoring of 50 partnerships (weekly screen) | 200 | $0.045 | $9.00 |
You can set a maximum spending limit per run to control costs. The MCP checks the limit before each tool execution and stops gracefully when your budget is reached.
Compare this to manual creator vetting agencies at $500-1,500 per creator audit, or enterprise influencer risk platforms at $800-3,000/month — with this MCP, monthly brand safety programs typically cost under $10 with no subscription commitment. Apify's free tier includes $5 of monthly credits, covering over 100 individual tool calls.
How to connect this MCP server
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"influencer-brand-safety": {
"url": "https://influencer-brand-safety-intelligence-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline
Add the MCP server endpoint in your IDE's MCP settings panel:
- URL: https://influencer-brand-safety-intelligence-mcp.apify.actor/mcp
- Auth: Bearer token (your Apify API token)
Python
import httpx
import json
APIFY_TOKEN = "YOUR_APIFY_TOKEN"
MCP_URL = "https://influencer-brand-safety-intelligence-mcp.apify.actor/mcp"
def screen_creator(creator_name: str) -> dict:
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "brand_fit_assessment",
"arguments": {"creator": creator_name}
},
"id": 1
}
response = httpx.post(
MCP_URL,
json=payload,
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {APIFY_TOKEN}"
},
timeout=120
)
result = response.json()
content = json.loads(result["result"]["content"][0]["text"])
print(f"Creator: {content['entity']}")
print(f"Verdict: {content['verdict']} | Score: {content['compositeScore']}/100")
for signal in content.get("allSignals", []):
print(f" - {signal}")
return content
screen_creator("Jordan Westfield")
JavaScript
const APIFY_TOKEN = "YOUR_APIFY_TOKEN";
const MCP_URL = "https://influencer-brand-safety-intelligence-mcp.apify.actor/mcp";
async function screenCreator(creatorName) {
const response = await fetch(MCP_URL, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": Bearer ${APIFY_TOKEN},
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "brand_fit_assessment",
arguments: { creator: creatorName },
},
id: 1,
}),
});
const result = await response.json();
const content = JSON.parse(result.result.content[0].text);
console.log(Creator: ${content.entity});
console.log(Verdict: ${content.verdict} | Score: ${content.compositeScore}/100);
for (const signal of content.allSignals) {
console.log( - ${signal});
}
return content;
}
screenCreator("Jordan Westfield");
cURL
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



