Riferimento degli strumenti
Ogni strumento del server MCP di Teddit, con i suoi parametri e cosa restituisce. Ci sono 30 strumenti, una risorsa e due modelli di prompt.
Come si comportano gli strumenti
- I risultati sono JSON, restituiti come testo.
render_chartrestituisce anche un’immagine. Le date sono ISO 8601 in UTC. - I siti si chiamano project. Quasi ogni strumento accetta
projectId, un numero che ottieni dalist_projects. Anche prompt, concorrenti e scansioni hanno id numerici. - Gli assistenti hanno chiavi:
openai(ChatGPT),anthropic(Claude),perplexity,gemini,google_aio(AI Overviews),google_ai_mode(AI Mode). - I report descrivono lo stato attuale: l’ultima risposta per prompt per assistente, come spiegato sotto Metriche e stati. Nel JSON, “citato” è
mentioned, “linkato” èownCited, la tua posizione èbrandRank, evisibilityè il punteggio di visibilità. - Gli errori tornano come risultato dello strumento contrassegnato come errore, con il testo
Error: …e lo stesso messaggio che mostrerebbe l’app.
L’etichetta accanto a ogni strumento è il livello di accesso minimo della chiave che può chiamarlo:
| Etichetta | Accesso della chiave | Ruolo dietro di esso |
|---|---|---|
| Lettura | Lettura, Lettura + modifica, Lettura + scansione | viewer e superiori |
| Lettura + modifica | Lettura + modifica, Lettura + scansione | member e superiori |
| Lettura + scansione | Lettura + scansione | admin |
Spazio di lavoro e siti
whoami Lettura
Nessun parametro. Restituisce per conto di chi agisce la chiave: kind (token), tokenName, user (la persona che ha creato la chiave), org (lo spazio di lavoro: id, name, plan) e role (viewer, member o admin).
list_projects Lettura
Nessun parametro. Restituisce lo spazio di lavoro, i suoi limits (siti, prompt per sito, scansioni al mese e scansioni usate questo mese), i connectedAssistants, e una voce per sito: id, name, domain, industry, language, location, i conteggi dei prompt (total, active, draft), il numero di concorrenti, lastAnsweredAt, scanRunning, le stats attuali (risposte, mentionRate, citationRate, promptCoverage, avgRank, visibility, conteggi dei toni), i primi quattro brand per shareOfVoice, e nextSteps: cosa manca ancora nella configurazione del sito.
list_providers Lettura
Nessun parametro. Restituisce i sei assistenti con key, label, il model in uso, modelOptions, e se l’assistente è enabled.
create_project Lettura + scansione
Inizia a tracciare un sito. Rifiutato quando il numero di siti dello spazio di lavoro è esaurito, o quando l’indirizzo non è un dominio.
name(testo, obbligatorio): il nome del brand come compare nelle risposte.url(testo, obbligatorio): il sito, per esempiobrightloop.example.industry(testo).brandTerms(elenco di testi, fino a 50): altre grafie che indicano comunque il brand.competitors(elenco, fino a 50): oggetti connameedomainfacoltativo.language(testo): la lingua per cui vengono chieste le risposte. PredefinitoEnglish.location(testo): dove si trova il cliente. PredefinitoUnited States.
Restituisce il nuovo sito.
update_project Lettura + modifica
Modifica un sito. Parametri: projectId (obbligatorio) e uno qualsiasi tra name, industry, brandTerms, language, location, scanFrequencyDays (da 1 a 365, l’intervallo tra le scansioni programmate).
Restituisce project e reanalysis. Quando cambiano il nome o i termini del brand, ogni risposta conservata viene riletta subito e reanalysis dice quante risposte sono state lette e quante citano il brand prima e dopo. Nessun assistente viene chiamato per questo.
Report
get_dashboard Lettura
Il report settimanale di un sito, i dati dietro la Dashboard.
projectId(obbligatorio).week(YYYY-MM-DD): una data qualsiasi dentro la settimana che vuoi. Omesso, l’ultima settimana.
Le parti principali del risultato:
noweprevious: conteggi e quote per la settimana e per quella precedente (answers,mentioned,mentionRate,ownCited,citationRate,promptCoverage,avgRank,visibility, conteggi dei toni).verdict: un titolo e un riepilogo di un paragrafo della settimana.leaderboard: tu e ogni concorrente tracciato con le risposte in cui è citato, la share of voice e la variazione.shareOfVoice,sources(i cinque domini più citati, le citazioni delle tue pagine),assistants(una riga per assistente).changes:gainedelost(prompt in cui un assistente ha iniziato o smesso di citarti, al massimo 50 ciascuno), elinkGainedelinkLostper i link.categories(numeri per categoria),activity(le scansioni della settimana, risposte raccolte, spesa) eactions(fino a tre prossimi passi suggeriti).
Prima della prima scansione restituisce un breve testo che dice che non c’è nulla da riportare.
get_trends Lettura
Settimana per settimana per un sito: le ultime dieci settimane.
projectId(obbligatorio).limit(da 1 a 200, predefinito 25): il massimo di prompt da restituire in ogni elenco.
Restituisce weeks; weekByWeek (per settimana: risposte, mentionRate, citationRate, promptCoverage e visibility, ciascuno con la sua variazione); wonLost (prompt vinti e persi per settimana); topics (per categoria, la quota dei suoi prompt che ti citano, per settimana); topPrompts (i prompt con il punteggio di visibilità più alto: latest è il punteggio, change1w e change4w la sua variazione su una e quattro settimane); e stability con tre elenchi e i loro counts:
| Elenco | Un prompt vi rientra quando |
|---|---|
held | almeno un assistente ti ha citato in ciascuna delle ultime quattro settimane. |
lost | sei stato citato in una settimana precedente e non sei più stato citato nelle ultime due settimane o più. |
volatile | non è né held né lost, ed è passato tra citato e non citato almeno due volte. |
Prompt
list_prompts Lettura
I prompt tracciati di un sito con il verdetto attuale di ogni assistente.
projectId(obbligatorio).q: ricerca testuale nel prompt.category: il nome di una categoria.status:draft,activeopaused.verdict:named,lost(un concorrente tracciato è citato, e tu non sei né citato né linkato),cited(linkato ma non citato),missing(nessuno dei due) ofailed. Le regole esatte sono quelle del filtro Risultato.competitor: il nome di un concorrente tracciato che una risposta attuale cita.stability:held,volatileolost, come definiti sottoget_trends.scanned:yesonever.sort:created(predefinito),text,category,rankoscanned.dir:ascodesc.page(da 1) eperPage(da 5 a 200, predefinito 20).
Restituisce total, page, lastPage, engines (gli assistenti che hanno risposto), facets (le categorie, le fonti e i concorrenti per cui filtrare) e prompts. Ogni prompt ha id, text, category, status, intent, source, bestRank, lastScanAt, stability e verdicts: per assistente, uno tra named first, named, linked, not named, not named, failed.
get_prompt Lettura
Un prompt per intero, con la risposta di un assistente parola per parola. La risposta porta surface (app, api o google: da dove è stata letta, vedi Da dove arriva una risposta) e askedFrom (paese, lingua, ricerca web).citedInsteadOfYou elenca, sulle ultime risposte, i siti di terzi citati dove un concorrente è citato e tu no, con i rivali e gli assistenti accanto a ciascuno.
projectId,promptId(obbligatori).engine: l’assistente la cui risposta includere. Omesso, il primo che ha risposto.
Restituisce prompt; verdicts per assistente (mentioned, brandRank, ownCited, sentiment, error, scannedAt); heatmap (per assistente e settimana, un livello da 0 a 3: non visibile, solo linkato, citato, citato per primo); e answer: provider, model, scannedAt, i verdetti, howDescribed (la frase che ti descrive), il text completo, competitorsNamed, searches (le ricerche web eseguite dall’assistente, quando le rivela) e sources. Le fonti arrivano in quattro gruppi: own (il tuo sito), opportunity (pagine di terzi), competitor (siti dei concorrenti) e reference (documentazione e siti ufficiali), ogni pagina con il suo url, kind e citedTimes.
add_prompts Lettura + modifica
Aggiunge prompt a un sito.
projectId(obbligatorio).prompts(elenco da 1 a 200, obbligatorio). Ogni elemento:text(da 3 a 500 caratteri, obbligatorio),category,intent(informational,commercial,transactional,navigational; predefinito informational),funnel(awareness,consideration,decision; predefinito awareness),status(predefinitoactive).
Restituisce added (un conteggio) e failed: i testi che non sono stati aggiunti, ciascuno con il motivo. Un testo già tracciato sul sito, e tutto ciò che supera il limite di prompt del sito, finisce lì.
update_prompt Lettura + modifica
Modifica un prompt. Parametri: projectId, promptId (obbligatori) e uno qualsiasi tra text, category, intent, funnel, status. Le risposte raccolte restano con il prompt; un nuovo testo cambia ciò che chiedono le scansioni successive. category sostituisce tutte le categorie del prompt con quella sola. Restituisce il prompt.
bulk_update_prompts Lettura + modifica
Modifica molti prompt in una volta. Parametri: projectId, ids (da 1 a 5000 id di prompt, obbligatorio) e uno o più tra status, category (li classifica solo sotto questa categoria), addCategory (aggiunge una categoria a quelle che ogni prompt già ha), delete (true elimina i prompt insieme alle loro risposte e non può essere annullato). Restituisce ok.
import_queries Lettura + modifica
Importa un elenco di prompt o query di ricerca come testo, nel formato descritto sotto Importare i prompt.
projectId(obbligatorio).contents(testo, obbligatorio): le righe del file.status:draft(predefinito) oactive.dryRun(true o false): conta soltanto cosa succederebbe.
Restituisce rows, created, updated (già tracciati; le loro categorie vengono sostituite quando la riga ne indica), skipped e categories (righe per categoria).
rewrite_queries Lettura + scansione
Riscrive le query di ricerca importate (“email automation pricing”) come domande complete, usando un modello IA. Non viene addebitato, ma richiede un credito superiore a zero, e può essere chiamato fino a 10 volte all’ora. Vengono toccati solo i prompt importati il cui testo è ancora la query originale; l’originale resta salvato come parola chiave del prompt. Parametri: projectId (obbligatorio), category (limita a una categoria), dryRun (mostra le riscritture senza salvare). Restituisce pending, written, skipped e pairs: ogni originale con la sua riscrittura.
Concorrenti e pagine
list_competitors Lettura
Parametro: projectId. Restituisce competitors (id, name, domain, aliases); answersCollected; ownNamedIn e namedIn (in quante risposte attuali siete citati tu e ogni concorrente); board (per te e ogni brand tracciato, la quota di risposte che lo cita, complessiva e per assistente); e suggestions: nomi non tracciati che compaiono in almeno tre risposte degli ultimi 28 giorni.
add_competitor Lettura + modifica
Parametri: projectId, name (obbligatorio), domain, aliases (fino a 30 altre grafie). Le risposte conservate vengono rilette subito per il nuovo brand, senza chiamare alcun assistente. Restituisce competitor e reanalysis.
update_competitor Lettura + modifica
Parametri: projectId, competitorId (entrambi obbligatori), name, domain, aliases. Restituisce competitor e reanalysis.
Cambia solo ciò che invii. Un valore omesso conserva ciò che è salvato; aliases sostituisce l’intero elenco; domain: null rimuove il dominio.
remove_competitor Lettura + modifica
Parametri: projectId, competitorId. Il brand smette di essere tracciato e le risposte conservate vengono rilette senza di esso. Le risposte stesse vengono conservate.
get_competitor_report Lettura
Parametri: projectId, competitorId. Un concorrente contro di te: numeri appaiati con le loro variazioni (tiles), per assistente (assistants), per categoria (topics), i prompt in cui è citato solo lui, entrambi, o solo tu (prompts), le pagine del suo sito citate dagli assistenti (pages), e i siti di terzi citati nelle risposte che citano lui e non te (sources: dominio, tipo, risposte, prompt, assistenti). Prima della prima scansione restituisce empty: true.
list_pages Lettura
Le pagine del tuo sito, lette dalla sua sitemap, e se una risposta attuale linka ciascuna. La sitemap viene letta quando il sito viene aggiunto e poi ogni settimana; import_sitemap la legge adesso.
projectId(obbligatorio).shown:yesper le pagine che qualche risposta attuale linka,noper le altre.q: ricerca nell’indirizzo e nel titolo.page,perPage(da 5 a 200, predefinito 50).
Restituisce items (id, url, title, path, section, shownBy: gli assistenti che la linkano, prompts: quanti prompt portano a essa), total, siteTotal, shown e sections.
get_crawler_access Lettura
Cosa il tuo robots.txt lascia leggere a ogni crawler IA. Parametri: projectId (obbligatorio), check (true rilegge prima robots.txt e llms.txt; richiede una chiave Lettura + modifica).
Restituisce checkedAt, robots (status: found, missing o unreachable; url, httpStatus, error), llmsTxt (present, url), crawlers (ciascuno con token, operator, purpose, access: allowed, partial, blocked o unknown, la line decisiva e was quando è cambiato) e history. Vedi Accesso dei crawler IA.
list_search_queries Lettura
Le ricerche web eseguite dagli assistenti mentre rispondevano ai prompt attivi del sito, secondo l’ultima risposta per prompt e assistente, le più comuni per prime (fino a 500). Parametro: projectId.
Ogni elemento: query, answers (risposte che l’hanno eseguita), named (di quelle, quante ti hanno citato), providers, prompts (id, text) e tracked (esiste un prompt con esattamente questo testo).
import_sitemap Lettura + modifica
Parametro: projectId. Legge adesso la sitemap del sito (/sitemap.xml e le sitemap indicate dal robots.txt, seguendo un indice di sitemap) e aggiunge ogni pagina del tuo dominio non ancora elencata, fino a 5.000 indirizzi. Restituisce seen e added. Fallisce con un messaggio quando lì non si trovano pagine.
Scansioni
get_scan_options Lettura
Parametro: projectId. Con cosa può essere impostata una scansione: engines (gli assistenti collegati), models (per assistente: il modello predefinito e le altre opzioni, ciascuna con un label, un costPerAnswer stimato, una note e, quando non può essere scelta, il motivo in unavailable; per ChatGPT e Gemini le opzioni includono le risposte dell’app chatgpt-app / gemini-app (veloci, subito) e chatgpt-app-queue / gemini-app-queue (lente e più economiche, qualche minuto): la risposta come la mostra l’app), activePrompts, categories (prompt attivi per categoria), scansThisMonth e scansPerMonth (il limite dello spazio di lavoro), e spentThisMonth (il costo delle scansioni del sito in questo mese di calendario).
estimate_scan Lettura
Quanto costerebbe una scansione, prima che parta. Accetta le stesse scelte di start_scan:
projectId(obbligatorio).providers(elenco di chiavi di assistenti): quali assistenti interrogare. Omesso, tutti quelli collegati.promptIds(elenco di id): un insieme scelto a mano. Omesso, ogni prompt attivo. I prompt non attivi vengono saltati.category: scansiona solo una categoria.sample(numero): scansiona solo quel numero di prompt, estratti a caso.repeats(1–5): poni ogni domanda quel numero di volte a ogni assistente; le risposte, e il prezzo, seguono (vedi Più risposte a una domanda).models(oggetto): da chiave dell’assistente a modello, per esempio{"openai": "gpt-5.4-mini"}. Il modello deve essere una delle opzioni di quell’assistente inget_scan_options.
Restituisce prompts, answers, cost (dollari USA) e formatted. Cosa include il numero: Stima del costo di una scansione.
start_scan Lettura + scansione
Avvia una scansione. Parametri: tutto ciò di estimate_scan, più budgetUsd (ferma la scansione quando ha raggiunto questo costo; 0 oppure omesso significa il doppio della sua stima) e label (fino a 60 caratteri). Restituisce la scansione: id, status, providers, total, completed, failed, costUsd, budgetUsd, startedAt.
La chiamata ritorna non appena la scansione è in coda; seguila con get_live_scan. Una scansione viene rifiutata, con il motivo come errore, quando un’altra scansione del sito è in corso, nessun prompt attivo corrisponde, il nome di un modello è sconosciuto, il credito non copre la scansione, il sito ha raggiunto il suo tetto mensile, o le scansioni del mese dello spazio di lavoro sono esaurite.
get_live_scan Lettura
Parametro: projectId. Restituisce run: null quando nulla è in corso, altrimenti la scansione con progress (elapsed, lastAnswer, secondi perAnswer, eta) e stalled (true quando ci sono risposte in coda e nessuna è arrivata dopo 20 secondi).
cancel_scan Lettura + scansione
Parametri: projectId, runId. Ferma una scansione in corso. Le risposte ancora in coda vengono scartate; una già in arrivo può ancora arrivare. Restituisce cancelled: false quando la scansione era già terminata.
list_scans Lettura
Parametro: projectId. Le ultime 30 scansioni del sito, le più recenti per prime, ciascuna con stato, assistenti, modelli, conteggi delle risposte e costUsd. Stati: queued, running, cancelling, cancelled, done, failed.
Grafici
render_chart Lettura
Disegna un grafico e lo restituisce come immagine, seguita dai valori tracciati come testo.
Chiedi uno dei grafici del sito con projectId e chart:
chart | Mostra |
|---|---|
report.assistants.mentionRate | Quota di risposte che ti citano, una linea per assistente, dieci settimane. |
report.assistants.citationRate | Quota di risposte che linkano il tuo sito, una linea per assistente. |
report.assistants.visibility | Il punteggio di visibilità (da 0 a 100), una linea per assistente. |
report.competitors | Quota di risposte che cita ogni brand, questa settimana contro la scorsa. |
report.changes | Su quanti prompt ogni assistente ha iniziato e smesso di citarti. |
trends.rates | Risposte che ti citano e ti linkano, settimana per settimana. |
trends.promptCoverage | Quota di prompt in cui sei citato, settimana per settimana. |
trends.visibility | Il punteggio di visibilità del sito, settimana per settimana. |
trends.wonLost | Prompt vinti e persi per settimana. |
competitors.trend | Tu e i brand tracciati nel tempo. |
competitors.headToHead | Per concorrente, i prompt in cui solo uno di voi è citato. |
competitor.trend | Tu contro un concorrente. Richiede competitorId. |
Oppure disegna i tuoi dati con 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:lineobar.labelseseriessono obbligatori;suffix,horizontalestackedsono facoltativi.week(YYYY-MM-DD): per i graficireport.*, una settimana passata.title(fino a 120 caratteri),width(da 300 a 2000, predefinito 900),height(da 200 a 1500),dark(true per uno sfondo scuro).
Risorsa e modelli di prompt
I client che supportano risorse e prompt MCP vedono anche:
| Nome | Tipo | Cos’è |
|---|---|---|
teddit://projects | Risorsa | I siti dello spazio di lavoro con i loro numeri attuali, come JSON. |
weekly_review | Prompt | Accetta projectId. Chiede alla tua IA di rivedere la settimana del sito: cosa si è mosso, il motivo probabile, tre azioni, e un grafico. Usa get_dashboard, get_trends, list_prompts e render_chart. |
grow_prompt_set | Prompt | Accetta projectId e facoltativamente count (predefinito 10). Chiede alla tua IA di proporre nuove domande per le categorie più deboli, mostrartele, e aggiungerle come bozze con add_prompts quando sei d’accordo. |
I modelli consegnano soltanto un’istruzione pronta alla tua IA. Le proposte e la revisione sono scritte dalla tua IA, non da Teddit.
Ogni strumento tranne render_chart ha endpoint REST che restituiscono gli stessi dati; vedi Endpoint.