Der MCP-Stack
Ein Feldführer aus einem Bake-Off, bei dem jeder Server an denselben echten Aufgaben getestet wurde (ein 1080x1350 Social-Media-Beitrag im Riso-Hausstil; echte räumliche Abfragen, die durch eine unabhängige Abfrage überprüft wurden). Nur kostenlose Stufen.
Regel: Nur kostenlos. Führen Sie niemals ein Upgrade durch, starten Sie keine Testabrechnung oder geben Sie bei keinem dieser Dienste eine Karte ein, ohne dass der Besitzer dies genehmigt hat. Eine Paywall ist ein Befund, kein Kauf.
Regel: Nichts wird veröffentlicht. Orshot hat einen publish-Parameter, der in sozialen Netzwerken postet; Canva und
Figma können teilen. Verwenden Sie diese niemals ohne Aufforderung. Die Ausgabe ist eine lokale Datei, die ein Mensch überprüft.
Design / Kunst / Marke – nach Aufgabe auswählen
| Aufgabe | Verwenden | Warum / Kosten |
|---|---|---|
| Fertiges Marketingstück aus einem Briefing, am besten aussehend | canva create-design -> resize-design -> export-design | Bestaussehendes Ergebnis der Gruppe. ~6 KI-Designs/Monat kostenlos (ein Design = ~15 % des Kontingents; wird monatlich zurückgesetzt). Bearbeiten mit edit-design statt neu generieren. |
| Riso-Beitrag / Karte / Poster, unbegrenzt, exakte Zahlen | inkscape MCP inkscape_vector construct_svg (params.header + params.body) -> inkscape_render export_preview | Rendert echte Halbtonmuster, feTurbulence-Körnung, Multiplikationsüberdruck, Fehlregistrierung. ~5s, headless, unbegrenzt. Standard für alles Wiederholbare; behalten Sie Ihren SVG-Body als Vorlagendatei. |
| Präzises Vektor-Layout in einer Design-Datei | penpot execute_code -> export_shape | Kostenlos, unbegrenzt. Ein Penpot-Tab mit der Datei muss geöffnet sein (headless OK), sonst schlägt jeder Aufruf fehl. |
| Gleiches, aber in Figma, damit jemand es übernehmen kann | figma create_new_file + use_figma | Kostenloser Starter = ~20 gezählte Aufrufe/Monat, 3 Dateien. Planen Sie es ein. Kein createImageAsync/setPluginData. |
| Wiederverwendbare Vorlage mit Variablen (OG-Karte, IG-Beitragsserie) | orshot | ~100 Renderings/Monat kostenlos. Die Formfarbe wird in style.fill angegeben (backgroundColor malt schwarz). Ausgabe-URLs sind öffentlich-unerratbar. |
| KI-Illustrationsentwurf, kostenlos | huggingface dynamic_space -> mcp-tools/Qwen-Image, aspect_ratio:"3:4" | Den Riso-Modellen der kostenlosen Modelle am nächsten. ~6 Bilder/Tag (ZeroGPU-Kontingent). 1,6 MP; malt gefälschte Signaturkritzeleien in den Ecken – zuschneiden. Endfassungen gehen an eine kostenpflichtige Engine (make-art). |
| Transparentes PNG-Freisteller | huggingface space_name: Upsampler/birefnet-background-removal, {"image":"<öffentliche URL>"} | ~5s. Spaces akzeptieren nur öffentliche URLs, niemals lokale Pfade. |
| Farb-Raster -> SVG (Logos, Marken) | shapesoda vectorize {image_base64, image_type:"artwork", colors:8, format:["svg"]} | ~10/Tag kostenlos. Der Download-Link läuft in 24h ab – sofort abrufen. Entfernen Sie stray #ff00ff-Pfade an Ausschnittkanten. Rendern Sie das SVG bei 4x = kostenlose Hochskalierung für flache Kunst. |
| Einfarbiges SVG (Stempel, Schablone, Konturplatte) | svg-tracer trace_bitmap_to_svg (absolute Pfade) | Lokaler Potrace, unbegrenzt, 0,1s. |
| Diagramm aus echten Zahlen | antv-chart | Option für handgezeichnete Textur. Sendet Ihre Daten an einen Drittanbieter-Rendering-Dienst und gibt eine öffentliche URL zurück – nur öffentliche Zahlen. Leere x-Achsen-Beschriftung druckt „category“. |
| 3D-Schrift / Produkt-Mockup | Blender MCP (benötigt laufende App) | Blender mit dem Add-On starten, dann den Server ad hoc hinzufügen (uvx mcp-for-blender@<pinned>) mit DISABLE_TELEMETRY=true. Telemetrie ist standardmäßig AKTIVIERT – immer deaktivieren. |
| Raster-Nachbearbeitung (Zeitungshalbton, Fotobearbeitung) | GIMP MCP (benötigt laufendes gimp-console) | Für GIMP 3.2 headless: gimp-console -i --batch-interpreter=python-fu-eval -b "p=Gimp.get_pdb().lookup_procedure('plug-in-mcp-server'); c=p.create_config(); c.set_property('run-mode', Gimp.RunMode.NONINTERACTIVE); p.run(c)" &. Zeitungsdruck standardmäßig Linien – circle setzen. Nur Hex-Farben. gimp-console danach beenden. |
| HTML -> PNG-Karte, nichts verlässt den Rechner | Satori MCP, gepatcht | Die Standardversion lädt jedes Bild in öffentlichen Blob-Speicher hoch; patchen Sie es, um lokal zu speichern. Mit einer eingefrorenen Lockfile installieren. |
Jede Zahl auf einem Stück stammt von der Live-Quelle (curl), niemals getippt. Überprüfen Sie den Kontrast von Akzentfarben auf hellen Hintergründen (ein mittleres Rot auf Creme kann ~3,8:1 betragen, was bei kleinem Text durchfällt; verdunkeln Sie es unter ~24px).
Verworfen (nicht erneut testen): Pollinations (Wasserzeichen, niedrige Auflösung), Stability (einmaliger Test), fal/Replicate/Together (keine kartellfreie Stufe), Krita MCP (kein Text), tldraw und Excalidraw MCP Apps (Zeichnen nur innerhalb einer Chat-UI), Bannerbear/Placid (Tests), Postiz (keine kostenlose Cloud, benötigt Docker), Remotion MCP (nur Docs), Buffer (Anmelde-CAPTCHA).
Daten / Raumbezug
| Aufgabe | Verwenden | Fallstricke |
|---|---|---|
| SQL + räumlich über parquet/csv/geojson/.duckdb | duckdb MCP (In-Memory, räumlich geladen) | ST_Transform(ST_Point(lon,lat),'EPSG:4326','EPSG:26915') gibt stillschweigend POINT(inf inf) zurück, daher zählen Entfernungsfilter 0. Übergeben Sie always_xy := true. Bewerterspalten sind oft VARCHAR (max sortiert als Text); Verkaufspreise können einen 999.999.999-Platzhalter enthalten. Wenn der Server lesend-schreibend läuft, kann er COPY TO überall hin: Hängen Sie Ihre echten Dateien READ_ONLY an. |
| Live ArcGIS FeatureServer-Layer | duckdb ST_Read('<FeatureServer>/0/query?where=...&outFields=...&orderByFields=OBJECTID&f=geojson&resultOffset=N') | Kürzt stillschweigend auf das maxRecordCount des Servers (oft 2.000) ohne Warnung. Überprüfen Sie zuerst returnCountOnly=true, blättern Sie mit resultOffset + orderByFields, und benennen Sie Spalten im UNION ALL (eine leere letzte Seite hat keine). |
| OSM / Overpass (Restaurants in einem Viertel...) | osm openstreetmap_search_places -> relations-ID -> openstreetmap_query_bbox{within:"R..."} | Bereich-nach-Name-Leaks: Ein Viertelname kann Zeilen aus einem gleichnamigen Ort in einem anderen Bundesland ziehen. Suchen Sie immer innerhalb der relations-ID. Overpass-Mirrors 500 oft; wiederholen. |
| Census ACS nach Adresse/Trakt | census census_resolve_geography{name:"<Adresse>"} -> census_query_data{dataset:"acs/acs5", ...} | Gibt MOE zurück (...M-Variablen) – melden. Benötigt einen kostenlosen CENSUS_API_KEY. |
| Karten-PNG rendern, um zu sehen, was Sie gebaut haben | maplibre render_style | Headless Chrome, OpenFreeMap-Basiskarte, kein Schlüssel. |
Verworfen: gis-mcp (88 Tools, DuckDB deckt es ab), das offizielle Census MCP (benötigt Docker+Postgres), Crawler-artige ArcGIS MCPs ohne Seitennummerierung, PostGIS (DuckDB deckt es ab).
Web-Recherche / Extraktion
| Aufgabe | Verwenden | Fallstricke |
|---|---|---|
| „Wer leitet den Betrieb bei X“, Personen-/Unternehmensrecherche | exa web_search_exa | Schlüssellos. Findet oft die eigene Team-Seite eines Unternehmens, wo die generische Websuche nichts findet. |
| Schnelles Lesen einer bekannten Seite | exa web_fetch_exa {urls:[...]} | Unter einer Sekunde aus seinem Index – zwischengespeichert und kein JS; veraltet möglich. |
| Exakte Phrasensuche, gerenderter Scrape | firecrawl | ~1.000 Credits/Monat kostenlos (scrape 1, search 2, JSON 5). JSON-Extraktion erfindet Felder – vertrauen Sie nur dem, was im zurückgegebenen markdown erscheint. |
| Gerenderter Crawl, unbegrenzt, Cloudflare-verborgene E-Mails | Crawl4AI CLI crwl <url> -o markdown | Dekodiert data-cfemail, das curl übersieht. Batch: AsyncWebCrawler(...).arun_many. |
| JS-Seite mit nichts installiertem | curl https://r.jina.ai/<url> | ~20 req/min schlüssellos, 2-18s. |
- Einige Stadtportale stecken hinter Cloudflare, das von keinem Headless-Browser durchdrungen wird; deren ArcGIS REST-Layer hat normalerweise dieselben Daten.
- E-Mail: Verwenden Sie die Adresse, die das Unternehmen auf seiner eigenen Website veröffentlicht, und überprüfen Sie dann den MX für diese genaue Domain. Verzeichnisse verstümmeln Domains (ein weggelassener oder hinzugefügter Buchstabe ist üblich). Postfach-Verifizierung ist von einer Heimverbindung aus normalerweise nicht möglich; Port 25 ist blockiert.
- Verworfen: Reddit MCP (403 anonym –
reddit-miningverwenden), browser-use (benötigt einen kostenpflichtigen LLM-Schlüssel), Browserbase (Telefonverifizierung). Tavily/Apify/Hunter/Brave stoppen alle bei einem CAPTCHA bei der Anmeldung – jeweils ein menschlicher Klick, falls gewünscht.
Finanz-/Behördendaten
| Aufgabe | Verwenden | Fallstricke |
|---|---|---|
| Gemeldete Finanzdaten, aktuelles Quartal | sec-edgar get_xbrl_concepts (pro Einreichung) | EDGAR companyfacts (was die get_key_metrics vieler Tools lesen) kann ein Quartal hinterherhinken – es stoppt stillschweigend beim vorherigen Quartal. XBRL pro Einreichung erhält das aktuelle Quartal korrekt. Siehe sec-financials. |
| Kurse, Analysten-Hoch-/Herabstufungen, Schätzungen | yfinance | Als unzuverlässig behandeln; Schlusskurs gegen die eigene Seite der Börse überprüfen, bevor Sie eine Zahl verwenden. |
| SAM.gov-Ausschreibungen, grants.gov, data.gov | Ein schlüsselloses gov-Daten-MCP | Der kostenlose SAM-Weg (SAMs eigene API benötigt login.gov MFA). Suchergebnisse lassen NAICS/Set-Aside aus – jede Bekanntmachung abrufen. |
| USAspending-Zuschüsse | usaspending | Filtert nach Leistungsort, nicht nach Empfängerstandort – für „Empfänger in Bundesstaat X“ rufen Sie spending_by_award mit recipient_locations auf. „Award Amount“ ist lebenslang, nicht Geschäftsjahr. |
| 10-jährige Treasury etc. | schlüssellos curl "https://fred.stlouisfed.org/graph/fredgraph.csv?id=DGS10&cosd=<YYYY-MM-DD>" | FRED hinkt der eigenen Kurve des Finanzministeriums um ~1 Tag hinterher. |
Frameworks
- Claude Agent SDK für geplante Headless-Agenten (z. B. ein uv-Skript, das das
sec-edgar-MCP aufruft und JSON schreibt). Unter macOS launchd kann es
~/Desktopoder~/Documentsnicht lesen – legen Sie Dateien woanders ab. - promptfoo-Evaluierungen für ein Chat-Produkt: Führen Sie das echte System-Prompt durch
claude -pmit deterministischen Asserts (verbotene Wörter, Wortbegrenzungen). Setzen SiePROMPTFOO_DISABLE_TELEMETRY=1. Übergeben Sie das Prompt auf stdin (--tools ""verschluckt ein positionsbezogenes Prompt). - Observable Framework für Daten -> statische Website (Python-Loader via
uv run). Ein wörtliches Analytics<script>-Tag zerstört den Build; injecten Sie es zur Laufzeit. - uv-Skripte (PEP 723 Inline-Deps) für jede kleine Pipeline.
- Verworfen: Evidence.dev (jetzt ein anmeldegeschütztes Studio), Pydantic AI/DSPy für kleine Aufgaben (das SDK deckt es ab), schwere Anbieter-Plugins, die Tausende von Kontext-Token pro Sitzung kosten.
Betrieb
| Bedarf | Verwenden | Hinweis |
|---|---|---|
| Einmalige Produktanalyse-Fragen („welche Events existieren“, Trichter) | posthog (einzelnes exec-Tool) | Dieselben Zahlen wie HogQL. Ein persönlicher API-Schlüssel kann Flags/Kohorten schreiben – halten Sie ihn schreibgeschützt. |
| Texte auf einem Mac lesen | imessage MCP | Schlägt rohes chat.db-SQL: dekodiert attributedBody, verwirft Tapbacks, löst Kontakte auf. Kein Sende-Tool. Anpinnen – einzelner Maintainer. |
| Aktuelle Bibliotheksdokumente | context7 | Nennen Sie den Anbieter in der Abfrage, sonst wird die falsche Bibliothek aufgelöst. |
Behalten Sie eine Fähigkeit, nicht das MCP, wenn das MCP für dieselbe Antwort langsamer und schwerer ist:
Vercel (sein MCP hat ~240 Tools inkl. buy_domain; siehe vercel-api), Stripe (sein MCP
redigkeit Kundennamen; siehe stripe-dashboard), GitHub (gh), Notion (curl; das gehostete
MCP lehnt Integrationstoken ab), Apple Notes (apple-notes; MCPs liefern Lösch-Tools).
Fügen Sie niemals ein E-Mail-Anbieter-MCP hinzu, das ein Sende-Tool enthält, wenn Ihre Regel ist, dass ein
Mensch auf „Senden“ drückt.
Authentifizierungsstatus
- OAuth-Server (canva, figma, orshot): wenn
claude mcp list„Benötigt Authentifizierung“ sagt, führen Sie/mcpeinmal in einer interaktiven Sitzung aus. Bewahren Sie Passwörter und Token im Schlüsselbund auf, niemals in einem Repository. - Widerrufen Sie jede OAuth-Genehmigung in den Einstellungen der jeweiligen Website -> Verbundene Apps.
Hinzufügen eines neuen MCP
Testen vor dem Registrieren: npx -y @modelcontextprotocol/inspector --cli <cmd> --method tools/list (den Server in ein Shell-Skript packen – der Inspector verschluckt -e und Server-Flags). Dann: Version anpinnen ([email protected]; Referenzserver nummerieren neu), die Tool-Liste auf
Sende-/Lösch-/Veröffentlichungs-Tools lesen, Telemetrie-Standardeinstellungen überprüfen und eine Zeile oben mit
dessen Fallstrick hinzufügen. Entfernen, wenn es seinen Platz nicht mehr verdient.