Werkzeugreferenz
Jedes Werkzeug des Teddit-MCP-Servers, mit seinen Parametern und dem, was zurückkommt. Es gibt 30 Werkzeuge, eine Ressource und zwei Prompt-Vorlagen.
Wie sich Werkzeuge verhalten
- Ergebnisse sind JSON, als Text zurückgegeben.
render_chartgibt zusätzlich ein Bild zurück. Daten sind ISO 8601 in UTC. - Sites heißen Projekte. Fast jedes Werkzeug nimmt
projectId, eine Zahl, die Sie vonlist_projectsbekommen. Prompts, Wettbewerber und Scans haben ebenfalls numerische IDs. - Assistenten haben Schlüssel:
openai(ChatGPT),anthropic(Claude),perplexity,gemini,google_aio(AI Overviews),google_ai_mode(AI Mode). - Berichte beschreiben den aktuellen Zustand: die letzte Antwort pro Prompt und Assistent, wie unter Kennzahlen und Status erklärt. Im JSON ist „genannt“
mentioned, „verlinkt“ istownCited, Ihr Platz istbrandRank, undvisibilityist der Sichtbarkeitswert. - Fehler kommen als Werkzeugergebnis zurück, das als Fehler markiert ist, mit dem Text
Error: …und derselben Meldung, die die App zeigen würde.
Das Etikett neben jedem Werkzeug ist der niedrigste Schlüsselzugang, der es aufrufen darf:
| Etikett | Schlüsselzugang | Rolle dahinter |
|---|---|---|
| Lesen | Lesen, Lesen + Bearbeiten, Lesen + Scannen | Viewer und höher |
| Lesen + Bearbeiten | Lesen + Bearbeiten, Lesen + Scannen | Member und höher |
| Lesen + Scannen | Lesen + Scannen | Admin |
Workspace und Sites
whoami Lesen
Keine Parameter. Gibt zurück, als wer der Schlüssel handelt: kind (token), tokenName, user (die Person, die den Schlüssel erstellt hat), org (der Workspace: id, name, plan) und role (viewer, member oder admin).
list_projects Lesen
Keine Parameter. Gibt den Workspace zurück, seine limits (Sites, Prompts pro Site, Scans pro Monat und diesen Monat genutzte Scans), die connectedAssistants und einen Eintrag pro Site: id, name, domain, industry, language, location, Prompt-Zahlen (total, active, draft), die Zahl der Wettbewerber, lastAnsweredAt, scanRunning, die aktuellen stats (Antworten, mentionRate, citationRate, promptCoverage, avgRank, visibility, Tonalitätszahlen), die vier besten Marken nach shareOfVoice und nextSteps: was in der Einrichtung der Site noch fehlt.
list_providers Lesen
Keine Parameter. Gibt die sechs Assistenten zurück mit key, label, dem verwendeten model, modelOptions und ob der Assistent enabled ist.
create_project Lesen + Scannen
Beginnt, eine Site zu verfolgen. Verweigert, wenn die Zahl der Sites des Workspace aufgebraucht ist oder wenn die Adresse keine Domain ist.
name(Text, Pflicht): der Markenname, wie er in Antworten vorkommt.url(Text, Pflicht): die Site, zum Beispielbrightloop.example.industry(Text).brandTerms(Liste von Text, bis zu 50): weitere Schreibweisen, die ebenfalls die Marke meinen.competitors(Liste, bis zu 50): Objekte mitnameund optionaldomain.language(Text): die Sprache, für die Antworten erfragt werden. VoreinstellungEnglish.location(Text): wo der Kunde ist. VoreinstellungUnited States.
Gibt die neue Site zurück.
update_project Lesen + Bearbeiten
Ändert eine Site. Parameter: projectId (Pflicht) und beliebige von name, industry, brandTerms, language, location, scanFrequencyDays (1 bis 365, der Abstand zwischen geplanten Scans).
Gibt project und reanalysis zurück. Wenn sich der Name oder die Markenbegriffe ändern, wird jede gespeicherte Antwort sofort erneut gelesen, und reanalysis sagt, wie viele Antworten gelesen wurden und wie viele die Marke vorher und nachher nennen. Dafür wird kein Assistent aufgerufen.
Berichte
get_dashboard Lesen
Der Wochenbericht einer Site, die Daten hinter dem Dashboard.
projectId(Pflicht).week(YYYY-MM-DD): ein beliebiges Datum innerhalb der gewünschten Woche. Weggelassen, die letzte Woche.
Die Hauptteile des Ergebnisses:
nowundprevious: Zahlen und Anteile für die Woche und die Woche davor (answers,mentioned,mentionRate,ownCited,citationRate,promptCoverage,avgRank,visibility, Tonalitätszahlen).verdict: eine Überschrift und eine einabsätzige Zusammenfassung der Woche.leaderboard: Sie und jeder verfolgte Wettbewerber mit der Zahl der Antworten, in denen er genannt wird, Share of Voice und Änderung.shareOfVoice,sources(die fünf meistzitierten Domains, Zitate Ihrer Seiten),assistants(eine Zeile pro Assistent).changes:gainedundlost(Prompts, bei denen ein Assistent begonnen oder aufgehört hat, Sie zu nennen, höchstens je 50), undlinkGainedundlinkLostfür Links.categories(Zahlen pro Kategorie),activity(die Scans der Woche, gesammelte Antworten, Ausgaben) undactions(bis zu drei vorgeschlagene nächste Schritte).
Vor dem ersten Scan gibt es einen kurzen Text zurück, der sagt, dass es nichts zu berichten gibt.
get_trends Lesen
Woche für Woche für eine Site: die letzten zehn Wochen.
projectId(Pflicht).limit(1 bis 200, Voreinstellung 25): die Höchstzahl der Prompts in jeder Liste.
Gibt zurück: weeks; weekByWeek (pro Woche: Antworten, mentionRate, citationRate, promptCoverage und visibility, jeweils mit Änderung); wonLost (gewonnene und verlorene Prompts pro Woche); topics (pro Kategorie der Anteil ihrer Prompts, die Sie nennen, pro Woche); topPrompts (die Prompts mit dem höchsten Sichtbarkeitswert: latest ist der Wert, change1w und change4w seine Änderung über eine und vier Wochen); und stability mit drei Listen und ihren counts:
| Liste | Ein Prompt ist darin, wenn |
|---|---|
held | mindestens ein Assistent Sie in jeder der letzten vier Wochen genannt hat. |
lost | Sie in einer früheren Woche genannt wurden und seit zwei Wochen oder länger nicht mehr genannt werden. |
volatile | er weder gehalten noch verloren ist und mindestens zweimal zwischen genannt und nicht genannt gewechselt hat. |
Prompts
list_prompts Lesen
Die verfolgten Prompts einer Site mit dem aktuellen Urteil jedes Assistenten.
projectId(Pflicht).q: Textsuche im Prompt.category: ein Kategoriename.status:draft,activeoderpaused.verdict:named,lost(ein verfolgter Wettbewerber wird genannt, und Sie werden weder genannt noch verlinkt),cited(verlinkt, aber nicht genannt),missing(keines von beiden) oderfailed. Die genauen Regeln sind die des Filters Ergebnis.competitor: der Name eines verfolgten Wettbewerbers, den eine aktuelle Antwort nennt.stability:held,volatileoderlost, wie unterget_trendsdefiniert.scanned:yesodernever.sort:created(Voreinstellung),text,category,rankoderscanned.dir:ascoderdesc.page(ab 1) undperPage(5 bis 200, Voreinstellung 20).
Gibt zurück: total, page, lastPage, engines (die Assistenten, die geantwortet haben), facets (die Kategorien, Quellen und Wettbewerber zum Filtern) und prompts. Jeder Prompt hat id, text, category, status, intent, source, bestRank, lastScanAt, stability und verdicts: pro Assistent eines von named first, named, linked, not named, not named, failed.
get_prompt Lesen
Ein Prompt vollständig, mit der Antwort eines Assistenten Wort für Wort. Die Antwort trägt surface (app, api oder google: woher sie gelesen wurde, siehe Woher eine Antwort stammt) und askedFrom (Land, Sprache, Websuche).citedInsteadOfYou listet über die letzten Antworten die fremden Sites, die zitiert werden, wo ein Wettbewerber genannt wird und Sie nicht, mit den Konkurrenten und Assistenten neben jeder.
projectId,promptId(Pflicht).engine: der Assistent, dessen Antwort enthalten sein soll. Weggelassen, der erste, der geantwortet hat.
Gibt zurück: prompt; verdicts pro Assistent (mentioned, brandRank, ownCited, sentiment, error, scannedAt); heatmap (pro Assistent und Woche eine Stufe von 0 bis 3: nicht sichtbar, nur verlinkt, genannt, zuerst genannt); und answer: provider, model, scannedAt, die Urteile, howDescribed (der Satz, der Sie beschreibt), der vollständige text, competitorsNamed, searches (die Websuchen, die der Assistent ausgeführt hat, wenn er sie offenlegt) und sources. Quellen kommen in vier Gruppen: own (Ihre Website), opportunity (fremde Seiten), competitor (Websites der Wettbewerber) und reference (Dokumentation und offizielle Websites), jede Seite mit url, kind und citedTimes.
add_prompts Lesen + Bearbeiten
Fügt einer Site Prompts hinzu.
projectId(Pflicht).prompts(Liste von 1 bis 200, Pflicht). Jeder Eintrag:text(3 bis 500 Zeichen, Pflicht),category,intent(informational,commercial,transactional,navigational; Voreinstellung informational),funnel(awareness,consideration,decision; Voreinstellung awareness),status(Voreinstellungactive).
Gibt added (eine Zahl) und failed zurück: die Texte, die nicht hinzugefügt wurden, jeder mit dem Grund. Ein auf der Site bereits verfolgter Text und alles über das Prompt-Limit der Site hinaus landet dort.
update_prompt Lesen + Bearbeiten
Bearbeitet einen Prompt. Parameter: projectId, promptId (Pflicht) und beliebige von text, category, intent, funnel, status. Gesammelte Antworten bleiben beim Prompt; ein neuer Text ändert, was spätere Scans fragen. category ersetzt alle Kategorien des Prompts durch diese eine. Gibt den Prompt zurück.
bulk_update_prompts Lesen + Bearbeiten
Ändert viele Prompts auf einmal. Parameter: projectId, ids (1 bis 5000 Prompt-IDs, Pflicht) und eines oder mehrere von status, category (ordnet sie nur unter diese eine Kategorie ein), addCategory (fügt eine Kategorie zu denen hinzu, die jeder Prompt bereits hat), delete (true löscht die Prompts samt ihren Antworten und kann nicht rückgängig gemacht werden). Gibt ok zurück.
import_queries Lesen + Bearbeiten
Importiert eine Liste von Prompts oder Suchanfragen als Text, im Format, das unter Prompts importieren beschrieben ist.
projectId(Pflicht).contents(Text, Pflicht): die Zeilen der Datei.status:draft(Voreinstellung) oderactive.dryRun(true oder false): nur zählen, was geschehen würde.
Gibt zurück: rows, created, updated (bereits verfolgt; ihre Kategorien werden ersetzt, wenn die Zeile welche nennt), skipped und categories (Zeilen pro Kategorie).
rewrite_queries Lesen + Scannen
Schreibt importierte Suchanfragen („email automation pricing“) mit einem KI-Modell zu vollständigen Fragen um. Es wird nicht berechnet, braucht aber ein Guthaben über null und kann bis zu 10-mal pro Stunde aufgerufen werden. Nur importierte Prompts, deren Text noch die ursprüngliche Anfrage ist, werden angefasst; das Original bleibt als Keyword des Prompts gespeichert. Parameter: projectId (Pflicht), category (auf eine Kategorie beschränken), dryRun (die Umschreibungen zeigen, ohne zu speichern). Gibt zurück: pending, written, skipped und pairs: jedes Original mit seiner Umschreibung.
Wettbewerber und Seiten
list_competitors Lesen
Parameter: projectId. Gibt zurück: competitors (id, name, domain, aliases); answersCollected; ownNamedIn und namedIn (in wie vielen aktuellen Antworten Sie und jeder Wettbewerber genannt werden); board (für Sie und jede verfolgte Marke der Anteil der Antworten, die sie nennen, insgesamt und pro Assistent); und suggestions: nicht verfolgte Namen, die in mindestens drei Antworten der letzten 28 Tage vorkommen.
add_competitor Lesen + Bearbeiten
Parameter: projectId, name (Pflicht), domain, aliases (bis zu 30 weitere Schreibweisen). Gespeicherte Antworten werden sofort für die neue Marke erneut gelesen, ohne einen Assistenten aufzurufen. Gibt competitor und reanalysis zurück.
update_competitor Lesen + Bearbeiten
Parameter: projectId, competitorId (beide Pflicht), name, domain, aliases. Gibt competitor und reanalysis zurück.
Nur was Sie senden, ändert sich. Ein weggelassener Wert behält, was gespeichert ist; aliases ersetzt die ganze Liste; domain: null entfernt die Domain.
remove_competitor Lesen + Bearbeiten
Parameter: projectId, competitorId. Die Marke wird nicht mehr verfolgt, und gespeicherte Antworten werden ohne sie erneut gelesen. Die Antworten selbst bleiben erhalten.
get_competitor_report Lesen
Parameter: projectId, competitorId. Ein Wettbewerber gegen Sie: gepaarte Zahlen mit ihren Änderungen (tiles), pro Assistent (assistants), pro Kategorie (topics), die Prompts, bei denen nur er, beide oder nur Sie genannt werden (prompts), die Seiten seiner Website, die die Assistenten zitieren (pages), und die fremden Sites, die in den Antworten zitiert werden, die ihn und nicht Sie nennen (sources: Domain, Art, Antworten, Prompts, Assistenten). Vor dem ersten Scan gibt es empty: true zurück.
list_pages Lesen
Die Seiten Ihrer Website, aus ihrer Sitemap gelesen, und ob eine aktuelle Antwort auf jede verlinkt. Die Sitemap wird beim Anlegen der Site gelesen und danach jede Woche; import_sitemap liest sie jetzt.
projectId(Pflicht).shown:yesfür Seiten, auf die eine aktuelle Antwort verlinkt,nofür den Rest.q: Suche in Adresse und Titel.page,perPage(5 bis 200, Voreinstellung 50).
Gibt zurück: items (id, url, title, path, section, shownBy: die Assistenten, die darauf verlinken, prompts: wie viele Prompts dorthin führen), total, siteTotal, shown und sections.
get_crawler_access Lesen
Was Ihre robots.txt jeden KI-Crawler lesen lässt. Parameter: projectId (Pflicht), check (true liest robots.txt und llms.txt zuerst erneut; braucht einen Schlüssel Lesen + Bearbeiten).
Gibt zurück: checkedAt, robots (status: found, missing oder unreachable; url, httpStatus, error), llmsTxt (present, url), crawlers (jeder mit token, operator, purpose, access: allowed, partial, blocked oder unknown, der entscheidenden line und was, wenn er sich geändert hat) und history. Siehe KI-Crawler-Zugang.
list_search_queries Lesen
Die Websuchen, die die Assistenten beim Beantworten der aktiven Prompts der Site ausgeführt haben, nach der letzten Antwort pro Prompt und Assistent, die häufigsten zuerst (bis zu 500). Parameter: projectId.
Jeder Eintrag: query, answers (Antworten, die sie ausgeführt haben), named (davon diejenigen, die Sie genannt haben), providers, prompts (id, text) und tracked (ein Prompt mit genau diesem Text existiert).
import_sitemap Lesen + Bearbeiten
Parameter: projectId. Liest die Sitemap der Site jetzt (/sitemap.xml und die Sitemaps, die robots.txt nennt, einem Sitemap-Index folgend) und fügt jede Seite Ihrer eigenen Domain hinzu, die noch nicht aufgeführt ist, bis zu 5.000 Adressen. Gibt seen und added zurück. Schlägt mit einer Meldung fehl, wenn dort keine Seiten gefunden werden.
Scans
get_scan_options Lesen
Parameter: projectId. Womit ein Scan eingerichtet werden kann: engines (die verbundenen Assistenten), models (pro Assistent: das Standardmodell und die anderen Optionen, jede mit einem label, einem geschätzten costPerAnswer, einer note und, wenn sie nicht gewählt werden kann, dem Grund in unavailable; bei ChatGPT und Gemini umfassen die Optionen die App-Antworten chatgpt-app / gemini-app (schnell, sofort) und chatgpt-app-queue / gemini-app-queue (langsam und günstiger, einige Minuten): die Antwort, wie die App sie zeigt), activePrompts, categories (aktive Prompts pro Kategorie), scansThisMonth und scansPerMonth (das Limit des Workspace) und spentThisMonth (die Scan-Kosten der Site in diesem Kalendermonat).
estimate_scan Lesen
Was ein Scan kosten würde, bevor er läuft. Nimmt dieselben Angaben wie start_scan:
projectId(Pflicht).providers(Liste von Assistenten-Schlüsseln): welche Assistenten gefragt werden. Weggelassen, jeder verbundene.promptIds(Liste von IDs): eine handverlesene Auswahl. Weggelassen, jeder aktive Prompt. Prompts, die nicht aktiv sind, werden übersprungen.category: nur eine Kategorie scannen.sample(Zahl): nur so viele Prompts scannen, zufällig gezogen.repeats(1–5): jede Frage jedem Assistenten so oft stellen; die Antworten, und der Preis, folgen (siehe Mehrere Antworten auf eine Frage).models(Objekt): Assistenten-Schlüssel zu Modell, zum Beispiel{"openai": "gpt-5.4-mini"}. Das Modell muss eine der Optionen dieses Assistenten inget_scan_optionssein.
Gibt zurück: prompts, answers, cost (US-Dollar) und formatted. Was die Zahl enthält: Kostenschätzung eines Scans.
start_scan Lesen + Scannen
Startet einen Scan. Parameter: alles aus estimate_scan, plus budgetUsd (den Scan stoppen, sobald er so viel gekostet hat; 0 oder weggelassen bedeutet das Doppelte seiner Schätzung) und label (bis zu 60 Zeichen). Gibt den Scan zurück: id, status, providers, total, completed, failed, costUsd, budgetUsd, startedAt.
Der Aufruf kehrt zurück, sobald der Scan eingereiht ist; verfolgen Sie ihn mit get_live_scan. Ein Scan wird verweigert, mit dem Grund als Fehler, wenn ein anderer Scan der Site läuft, kein aktiver Prompt passt, ein Modellname unbekannt ist, das Guthaben den Scan nicht deckt, die Site ihre Monatsgrenze erreicht hat oder die Scans des Workspace für den Monat aufgebraucht sind.
get_live_scan Lesen
Parameter: projectId. Gibt run zurück: null, wenn nichts läuft, sonst den Scan mit progress (elapsed, lastAnswer, Sekunden perAnswer, eta) und stalled (true, wenn Antworten eingereiht sind und nach 20 Sekunden keine angekommen ist).
cancel_scan Lesen + Scannen
Parameter: projectId, runId. Stoppt einen laufenden Scan. Noch eingereihte Antworten werden verworfen; eine bereits unterwegs kann noch ankommen. Gibt cancelled zurück: false, wenn der Scan bereits beendet war.
list_scans Lesen
Parameter: projectId. Die letzten 30 Scans der Site, neueste zuerst, jeder mit Status, Assistenten, Modellen, Antwortzahlen und costUsd. Status: queued, running, cancelling, cancelled, done, failed.
Diagramme
render_chart Lesen
Zeichnet ein Diagramm und gibt es als Bild zurück, gefolgt von den gezeichneten Werten als Text.
Fordern Sie eines der eigenen Diagramme der Site mit projectId und chart an:
chart | Zeigt |
|---|---|
report.assistants.mentionRate | Anteil der Antworten, die Sie nennen, eine Linie pro Assistent, zehn Wochen. |
report.assistants.citationRate | Anteil der Antworten, die auf Ihre Website verlinken, eine Linie pro Assistent. |
report.assistants.visibility | Der Sichtbarkeitswert (0 bis 100), eine Linie pro Assistent. |
report.competitors | Anteil der Antworten, die jede Marke nennen, diese Woche gegen letzte. |
report.changes | Bei wie vielen Prompts jeder Assistent begonnen und aufgehört hat, Sie zu nennen. |
trends.rates | Antworten, die Sie nennen und verlinken, Woche für Woche. |
trends.promptCoverage | Anteil der Prompts, bei denen Sie genannt werden, Woche für Woche. |
trends.visibility | Der Sichtbarkeitswert der Site, Woche für Woche. |
trends.wonLost | Gewonnene und verlorene Prompts pro Woche. |
competitors.trend | Sie und die verfolgten Marken im Zeitverlauf. |
competitors.headToHead | Pro Wettbewerber die Prompts, bei denen nur einer von Ihnen genannt wird. |
competitor.trend | Sie gegen einen Wettbewerber. Braucht competitorId. |
Oder zeichnen Sie eigene Daten mit custom:
{
"custom": {
"type": "bar",
"labels": ["Brightloop", "Mailora", "Quillsend"],
"series": [{ "label": "Named in", "points": [12, 20, 16] }],
"suffix": " answers",
"horizontal": true
},
"title": "Answers naming each brand"
}custom.type:lineoderbar.labelsundseriessind Pflicht;suffix,horizontalundstackedsind optional.week(YYYY-MM-DD): für diereport.*-Diagramme eine vergangene Woche.title(bis zu 120 Zeichen),width(300 bis 2000, Voreinstellung 900),height(200 bis 1500),dark(true für einen dunklen Hintergrund).
Ressource und Prompt-Vorlagen
Clients, die MCP-Ressourcen und -Prompts unterstützen, sehen außerdem:
| Name | Art | Was es ist |
|---|---|---|
teddit://projects | Ressource | Die Sites des Workspace mit ihren aktuellen Zahlen, als JSON. |
weekly_review | Prompt | Nimmt projectId. Bittet Ihre KI, die Woche der Site zu beurteilen: was sich bewegt hat, der wahrscheinliche Grund, drei Maßnahmen und ein Diagramm. Sie nutzt get_dashboard, get_trends, list_prompts und render_chart. |
grow_prompt_set | Prompt | Nimmt projectId und optional count (Voreinstellung 10). Bittet Ihre KI, neue Fragen für die schwächsten Kategorien vorzuschlagen, sie Ihnen zu zeigen und sie mit add_prompts als Entwürfe hinzuzufügen, sobald Sie zustimmen. |
Die Vorlagen reichen Ihrer KI nur eine vorgefertigte Anweisung. Die Vorschläge und die Beurteilung schreibt Ihre KI, nicht Teddit.
Jedes Werkzeug außer render_chart hat REST-Endpunkte, die dieselben Daten zurückgeben; siehe Endpunkte.