Creator Brief MCP
# Creator Brief MCP
**Give Claude the tools a creator-partnerships manager uses every day.**
An [MCP](https://modelcontextprotocol.io) server that plugs into Claude Desktop, Claude Code or any MCP client. Once connected, you can ask Claude things like:
> *"Plan a €15k Instagram campaign with 12 micro creators in Germany. What reach and cost per conversion should we expect? Then write the creator brief and check this caption is compliant."*
and Claude calls these tools to answer with real calculations instead of guesses.
| Tool | What it does |
|---|---|
| `campaign_math` | Reach, engagements, clicks, conversions, cost per 1,000 reached, cost per engagement and per conversion for a planned budget |
| `engagement_check` | Puts a creator in a follower tier and says if their engagement is healthy, weak or suspiciously high (a sign of engagement pods) |
| `check_disclosure` | Checks a sponsored caption against the paid-partnership label each market expects: **DE, AT, FR, UK, US**. Flags labels hidden behind "more" and suggests a fixed caption |
| `draft_brief` | Writes a one-page creator brief with key messages, do's and don'ts, approval flow and the right disclosure label for the market |
## Why disclosure checks matter in Europe
Labelling rules differ by country, and the details catch brands out. In Germany, media authorities expect **"Werbung"** or **"Anzeige"**, so an English `#ad` alone isn't considered enough. France's 2023 influencer law requires **"Publicité"** or **"Collaboration commerciale"**. The UK wants **"Ad"** upfront. `check_disclosure` encodes these so a whole campaign's captions can be checked in seconds.
```json
check_disclosure(caption="#ad obsessed with this serum", country="DE")
{
"compliant": false,
"issues": [
"No accepted label found. Use one of: werbung, anzeige.",
"English labels alone are not enough here."
],
"suggested_caption": "Werbung | #ad obsessed with this serum"
}
```
*A summary of public regulator guidance, not legal advice. Sources are returned with every check.*
## Install
```bash
git clone https://github.com/Vishwajeetkumbhar379/creator-brief-mcp
cd creator-brief-mcp
pip install -e ".[dev]"
pytest
```
### Connect to Claude Desktop
Add this to `claude_desktop_config.json` (Settings → Developer → Edit config), then restart Claude:
```json
{
"mcpServers": {
"creator-brief": {
"command": "python",
"args": ["-m", "creator_brief_mcp"],
"cwd": "/path/to/creator-brief-mcp"
}
}
}
```
### Connect to Claude Code
```bash
claude mcp add creator-brief -- python -m creator_brief_mcp
```
## Design
- **`rules.py`** holds all the business logic as plain functions with no I/O, so it's fully unit-tested (15 tests).
- **`server.py`** is a thin MCP layer built on the official Python SDK (v2). Each tool has typed inputs, so the model gets a precise schema.
- Tested end to end with a real MCP client over stdio.
---
Built by [Vishwajeet Kumbhar](https://www.linkedin.com/in/vishwajeetkumbhar379) with Claude Code. MIT licence.
TDQS
Scored across 4 tools
Each tool targets a distinct action: forecasting math (campaign_math), compliance checking (check_disclosure), creator auditing (engagement_check), and brief generation (draft_brief). The only mild overlap is that campaign_math also estimates engagements while engagement_check owns engagement-rate health, but the resource/action split keeps them separable.
All names use consistent snake_case, which keeps the set readable. Word order varies (verb_noun for check_disclosure/draft_brief versus noun_verb for campaign_math/engagement_check), a minor deviation from a single predictable pattern.
Four tools is slightly thin but each earns its place with a clear, non-redundant function in the creator-campaign workflow. There is no filler or redundant tool bloating the surface.
The surface covers the core lifecycle: plan the math, vet the creator, check the disclosure, and draft the brief. Minor gaps exist (no way to list supported markets or disclosure rules, no export/save of the brief), but agents can work around these.