MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Beschreibung vom Entwickler (englisches Original)
Safe Facebook Pages publishing with brand-voice, image-required & anti-duplication checks.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
META_USER_TOKEN, MCP_FB_PUBLISHER_CONFIG, MCP_FB_PUBLISHER_CONFIG_JSON, OPENAI_API_KEY, FAL_KEYAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"fb-publisher": {
"command": "uvx",
"args": [
"mcp-fb-publisher"
],
"env": {
"META_USER_TOKEN": "your-value",
"MCP_FB_PUBLISHER_CONFIG": "your-value",
"MCP_FB_PUBLISHER_CONFIG_JSON": "your-value",
"OPENAI_API_KEY": "your-value",
"FAL_KEY": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add fb-publisher --env META_USER_TOKEN=your-value --env MCP_FB_PUBLISHER_CONFIG=your-value --env MCP_FB_PUBLISHER_CONFIG_JSON=your-value --env OPENAI_API_KEY=your-value --env FAL_KEY=your-value -- uvx mcp-fb-publisherTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"fb-publisher": {
"command": "uvx",
"args": [
"mcp-fb-publisher"
],
"env": {
"META_USER_TOKEN": "your-value",
"MCP_FB_PUBLISHER_CONFIG": "your-value",
"MCP_FB_PUBLISHER_CONFIG_JSON": "your-value",
"OPENAI_API_KEY": "your-value",
"FAL_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"fb-publisher": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-fb-publisher"
],
"env": {
"META_USER_TOKEN": "your-value",
"MCP_FB_PUBLISHER_CONFIG": "your-value",
"MCP_FB_PUBLISHER_CONFIG_JSON": "your-value",
"OPENAI_API_KEY": "your-value",
"FAL_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
MCP_FB_PUBLISHER_CONFIG envMCP_FB_PUBLISHER_CONFIG_JSON envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto anthonyjbolo bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: META_USER_TOKEN, OPENAI_API_KEY, FAL_KEY
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 6 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An MCP server that lets Claude (or any MCP-compatible LLM) safely publish posts to multiple Facebook Pages through the Meta Graph API, with built-in guardrails: brand-voice config, banned-topic blocklists, image-required enforcement, and anti-duplication checks across recent feed posts.
Letting an LLM agent post directly to your Facebook Pages is a footgun unless you put guardrails in front. Common failure modes I have hit running 5+ pages:
mcp-fb-publisher ships an MCP server that wraps the Meta Graph API behind 4 deterministic tools, all driven by a single config.yaml. Every publish call goes through validation by default. Validation is pure-Python (no LLM), reproducible in CI, and runs offline.
4 MCP tools:
| Tool | What it does | |
|---|---|---|
fb_publish_post | Publishes (or schedules) a post on a configured page. Runs full validation by default; pass skip_validation=True to bypass. | |
fb_validate_pre_publish | Dry-run all guardrails. Returns `verdict: go | block` plus per-check details. Network-optional. |
fb_anti_duplicate_check | Compares a candidate message against the page's recent posts using Jaccard similarity over word 4-grams. | |
fb_generate_post_with_image | Generates an image via OpenAI (gpt-image-1) or fal.ai (flux-pro) and returns a URL ready for fb_publish_post. |
# 1. Install
pip install mcp-fb-publisher
cp config.example.yaml config.yaml
export META_USER_TOKEN=" " export MCP_FB_PUBLISHER_CONFIG="$PWD/config.yaml"
export OPENAI_API_KEY="sk-..." # or export FAL_KEY="..."
mcp-fb-publisher
Add to your claude_desktop_config.json:
{
"mcpServers": { "fb-publisher": { "command": "mcp-fb-publisher", "env": { "META_USER_TOKEN": "your_token_here", "MCP_FB_PUBLISHER_CONFIG": "/absolute/path/to/config.yaml", "OPENAI_API_KEY": "sk-..." } } } }
Then ask Claude things like:
*"Post on the marketing page: 'New collection drops Friday'. Generate an image first, validate, then publish."*
Claude will call fb_generate_post_with_image → fb_validate_pre_publish → fb_publish_post.
flowchart LR
A[Claude / MCP client] -->|tool call| B[FastMCP server] B --> C{tool} C -->|generate| D[OpenAI / fal.ai] C -->|validate| E[Validator pure Python] C -->|anti-dup| F[Meta Graph API fetch_recent_posts] C -->|publish| G[Meta Graph API POST /feed or /photos] E -.reads.-> H[(config.yaml per-page rules)] G -.reads.-> H F -.reads.-> H
The split between generation, validation and publish is intentional: it lets the LLM iterate on the visual without burning Meta API quota, and it makes the guardrails inspectable in CI without a Meta account.
We compare the candidate message against every post within anti_duplicate_lookback_days (per-page, default 14) using Jaccard similarity over word 4-grams:
similarity = |A ∩ B| / |A ∪ B|similarity >= similarity_threshold (default 0.5), block.Why this and not embeddings: deterministic, free, no extra API key, fast enough for 50 candidates per call. If you want LLM-grade semantic comparison, add another layer on top — the fb_validate_pre_publish tool returns the score so your agent can decide.
defaults:
language: en brand_voice: | Direct, professional, no fluff. banned_topics: [] image_required: true anti_duplicate_lookback_days: 14
pages: marketing_main: page_id: "0000000000000000" name: "My Brand — Main" brand_voice: | Confident, concise, customer-first. banned_topics:
community: page_id: "0000000000000002" name: "Community" image_required: false
Note: the brand_voice field is informational — it's surfaced to the calling LLM via the tool description but the server itself does not LLM-validate against it. This is by design (tests must run offline). Layer your own LLM check on top if you want enforcement.
You manage 5 Facebook pages for clients. Each has its own brand voice, banned topics (competitor names), and image policy. Configure them all in one config.yaml, give Claude the tool, and let the agent draft + validate + publish across all of them with safety rails.
You run a single product page and want Claude to schedule the next 30 days of posts. Set image_required: true, give the agent your product brief, and use fb_anti_duplicate_check to make sure no two posts land on the same angle within a fortnight.
You rotate flash promos. Set anti_duplicate_lookback_days: 7 for the promo page and 14 for the evergreen content page. Combine with scheduled_at to queue a week's worth of posts in one shot.
git clone https://github.com/anthonyjbolo/mcp-fb-publisher.git
cd mcp-fb-publisher
python3.12 -m venv .venv source .venv/bin/activate pip install -e ".[dev,openai,fal]"
pytest
ruff check .
All tests use httpx.MockTransport and pytest-mock. No real Meta API calls in tests.
META_USER_TOKEN only. Never hard-code it.***REDACTED***) before they leave the process.config.yaml is in .gitignore. Only config.example.yaml is committed.fb_check_token_expiry).Construit en Nouvelle-Calédonie pour gérer 5 pages FB en parallèle (auto-école, marketplace de bingo, atelier d'apps, marque de tee-shirts, page média). Tous les écueils ci-dessus sont des bugs que j'ai vraiment vécus. Le serveur MCP est la couche que j'aurais aimé avoir le premier jour — maintenant elle est libre.
MIT — see LICENSE.
Issues + PRs welcome. Please run pytest and ruff check . before opening a PR. For substantial features, open an issue first to discuss.
#BuiltOnClaudeCode