API e dati
Tutto nell’elenco è pubblico e leggibile dalle macchine: un’API nel formato del registro ufficiale MCP, un indice di ricerca JSON, ogni scheda in JSON e Markdown, più llms.txt, un feed e le sitemap. Niente chiave, niente registrazione.
In breve
| URL | Cosa ottieni | In cache per |
|---|---|---|
/v0.1/servers | Le schede nel formato del registro ufficiale MCP, a pagine. Dettagli | 5 minuti |
/api/index.json | Tutte le schede in un unico array compatto. Dettagli | 5 minuti |
/i/{slug}.json | Una scheda, con le sue azioni di configurazione. Dettagli | 10 minuti |
/i/{slug}.md | Una scheda in Markdown. Dettagli | 15 minuti |
/llms.txt | L’elenco come lista per i modelli linguistici. | 1 ora |
/feed.xml | Feed Atom delle 50 schede più recenti. | 15 minuti |
/sitemap.xml | Indice delle sitemap: pagine, categorie e schede, in tutte le lingue. | 15 minuti |
/mcp | Il server MCP di mcp.tc. Documentazione | Nessuna cache |
Tutto è in sola lettura e pubblico. Niente chiave, niente account, niente costi. I formati per le macchine sono indipendenti dalla lingua: servono il testo inglese delle schede e non hanno prefisso di lingua.
API compatibile con il registro
https://mcp.tc/v0.1/ è una copia in sola lettura dell’API di lettura del registro ufficiale MCP (versione 0.1, schema server.json 2025-12-11), riempita con le schede approvate di mcp.tc. Un client che accetta l’URL di un registro personalizzato può sfogliare l’elenco e installare da lì.
GET /v0.1/serversServer ordinati per nome, 30 per pagina se non imposti
limit(da 1 a 100). Rimandametadata.nextCursorcomecursorper la pagina successiva.searchtiene i server il cui nome, titolo, slug o fornitore contiene ogni parola (l’API ufficiale cerca solo nel nome).updated_sinceaccetta un’ora RFC 3339, la include nel conteggio e restituisce anche le schede rimosse da allora.version(latesto una versione) einclude_deletedfunzionano come nell’API ufficiale.GET /v0.1/servers/{name}/versionsLe versioni di un server. Ogni scheda ne ha esattamente una. Codifica il nome nell’URL, come in
/v0.1/servers/tc.mcp%2Fdeepwiki/versions.GET /v0.1/servers/{name}/versions/latestUn server. Al posto di
latestfunziona anche un numero di versione esatto.GET /v0.1/ping, /v0.1/health, /v0.1/versionStato del servizio e informazioni sulla build, come nell’API ufficiale.
Una pagina di risultati ha questa forma:
{
"servers": [
{
"server": { "name": "…", "version": "…", … },
"_meta": {
"tc.mcp/listing": {
"link": "https://mcp.tc/i/…",
"slug": "…",
"category": "…",
"verified": true,
"auth": "none",
"status": "active",
"publishedAt": "…",
"updatedAt": "…"
}
}
}
],
"metadata": { "count": 30, "nextCursor": "…" }
}Ed ecco cosa contiene server per due schede, così come l’API le serve adesso:
Server remoto
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "tc.mcp/deepwiki",
"description": "Ask questions about any public GitHub repository and read its AI-generated DeepWiki documentation.",
"title": "DeepWiki",
"version": "2.14.3",
"websiteUrl": "https://docs.devin.ai/work-with-devin/deepwiki-mcp",
"icons": [
{
"src": "https://mcp.tc/media/icons/deepwiki-80b7a72d.webp",
"mimeType": "image/webp",
"sizes": [
"128x128"
]
}
],
"remotes": [
{
"type": "streamable-http",
"url": "https://mcp.deepwiki.com/mcp"
}
]
}Server locale
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "tc.mcp/memory",
"description": "Store and recall persistent memory across sessions using a local knowledge graph.",
"title": "Memory",
"version": "2026.8.31",
"websiteUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/memory",
"repository": {
"url": "https://github.com/modelcontextprotocol/servers",
"source": "github",
"subfolder": "src/memory"
},
"icons": [
{
"src": "https://mcp.tc/media/icons/memory-0e174415.webp",
"mimeType": "image/webp",
"sizes": [
"128x128"
]
}
],
"packages": [
{
"registryType": "npm",
"identifier": "@modelcontextprotocol/server-memory",
"runtimeHint": "npx",
"transport": {
"type": "stdio"
}
}
]
}nameè il nome del server nel registro ufficiale quando ne ha uno, altrimentitc.mcp/{slug}.remotescontiene sempre l’URL del server stesso, mai il link di mcp.tc. Gli header per le chiavi compaiono solo per i server che richiedono una chiave API.packagesviene ricostruito dal comando di installazione della scheda: npm (npx), PyPI (uvx,pipx run), OCI (docker run) e NuGet (dnx). Un comando che il formato non può esprimere non riceve alcun pacchetto, perché uno che avvia il programma sbagliato sarebbe peggio di niente._meta["tc.mcp/listing"]contiene il link di mcp.tc, lo slug, la categoria, la spunta, l’accesso, lo stato e le date.updatedAtcambia solo quando cambia la voce che serviamo, mai per un controllo di stato.- mcp.tc non è il registro ufficiale, quindi le voci non hanno mai i suoi metadati
io.modelcontextprotocol.registry/official. - Una scheda rimossa, nascosta o rinominata torna come voce con
"status": "deleted"per 180 giorni, ma solo se la chiedi conupdated_sinceoinclude_deleted.
Gli errori sono problem JSON (application/problem+json), come nell’API ufficiale: 404 per un server sconosciuto, 422 per un limit, cursor o include_deleted non validi, 400 per un updated_since non valido. Qualsiasi metodo diverso da GET, HEAD e OPTIONS riceve 405: il registro è in sola lettura, e i nuovi server arrivano da Proponi.
curl -s 'https://mcp.tc/v0.1/servers?search=notion&limit=5'
curl -s 'https://mcp.tc/v0.1/servers/tc.mcp%2Fdeepwiki/versions/latest'Usa mcp.tc come registro
Due client accettano l’URL di un registro personalizzato, secondo il codice sorgente di VS Code e la documentazione di GitHub (verificato il 4 ottobre 2026). In entrambi inserisci l’URL di base senza /v0.1: il percorso lo aggiunge il client.
VS Code
Aggiungi questa riga al settings.json utente del tuo profilo predefinito:
"chat.mcp.gallery.serviceUrl": "https://mcp.tc"La galleria dei server MCP (digita @mcp nella vista Estensioni) mostra allora i server di mcp.tc, e installarne uno usa l’URL o il pacchetto del server stesso. Non serve nessun’altra impostazione. L’impostazione non compare nell’editor delle impostazioni, e gli altri profili la ignorano. Le organizzazioni possono impostarla per tutti con la policy McpGalleryServiceUrl (VS Code 1.101 o successivo), e "chat.mcp.access": "registry" limita VS Code ai server di quel registro.
GitHub Copilot
Gli amministratori di organizzazioni ed enterprise possono inserire https://mcp.tc come MCP Registry URL nelle policy di Copilot. GitHub indica come supportati VS Code, Visual Studio, gli IDE JetBrains, Eclipse, Xcode e Copilot CLI. Con Registry only, i server vengono abbinati per nome.
Alcune schede non hanno né un pacchetto né un remote, perché il loro comando di installazione non si può scrivere nel formato del registro. VS Code le nasconde; le loro pagine su mcp.tc hanno comunque la configurazione.
Indice di ricerca
/api/index.json contiene tutte le schede approvate in un unico array JSON, i dati dietro la ricerca del sito. Le chiavi brevi lo tengono leggero:
| Chiave | Valore |
|---|---|
s | Slug: la scheda è a /i/{s}. |
n | Nome. |
v | Fornitore, o una stringa vuota. |
t | Descrizione breve, fino a 160 caratteri (in inglese). |
c | Slug della categoria, come in /c/{slug}. |
k | remote o local. |
a | Accesso: none, oauth, api_key, optional o unknown. |
g | Tag, un array di stringhe. |
i | Icona, un percorso come /media/icons/{slug}.webp (WebP o PNG). Assente quando la scheda non ne ha. |
f | 1 quando la scheda ha la spunta. Altrimenti assente. |
{
"s": "deepwiki",
"n": "DeepWiki",
"v": "Cognition",
"t": "Ask questions about any public GitHub repository and read its AI-generated DeepWiki documentation.",
"c": "docs-knowledge",
"k": "remote",
"a": "none",
"g": [
"github",
"documentation",
"code-search",
"repositories",
"wiki",
"remote"
],
"i": "/media/icons/deepwiki-80b7a72d.webp",
"f": 1
}Una scheda in JSON
Aggiungi .json al link di qualsiasi scheda per avere quella scheda in JSON:
curl -s https://mcp.tc/i/deepwiki.jsonContiene tutto ciò che mostra la pagina: l’endpoint del server o il suo install_command, l’etichetta access, i tool, la spunta, lo stato e le azioni in un clic add, che usano sempre l’URL o il pacchetto del server stesso. Uno slug non in elenco riceve 404 con "error": "not_found", e una scheda rimossa 410 con "gone". I vecchi slug e gli alias restituiscono la scheda attuale, quindi leggi slug dalla risposta. Badge ed embed elenca ogni campo.
Schede in Markdown
Per agenti e modelli linguistici, ogni scheda è disponibile anche in Markdown: aggiungi .md al link, oppure chiedi text/markdown all’indirizzo della scheda.
curl -s https://mcp.tc/i/deepwiki.md
curl -s -H 'Accept: text/markdown' https://mcp.tc/i/deepwikiInizia con un riepilogo (il link, come collegarsi, tipo, accesso, categoria, fornitore, spunta), poi contiene la descrizione, cosa può fare il server, i suoi tool, i prompt di esempio e i passaggi di installazione per ogni client. Un vecchio nome risponde 301 con quello attuale.
llms.txt, feed e sitemap
/llms.txtsegue llmstxt.org: come funziona il collegamento, questa documentazione, le categorie con i loro conteggi, le versioni linguistiche del sito e ogni scheda con un riassunto di una riga e dati essenziali (remoto o locale, accesso, verificato), ognuna collegata al suo Markdown./feed.xmlè un feed Atom delle 50 schede approvate più di recente, con descrizione breve e descrizione./sitemap.xmlindicizza tre sitemap: pagine, categorie e schede, ognuna con la data dell’ultima modifica del contenuto. Ogni pagina compare in ogni lingua in cui esiste, con le sue alternative (hreflang); le pagine tradotte di una scheda compaiono quando il suo testo è stato tradotto./robots.txtlascia entrare ogni crawler, compresi quelli AI (Content-Signal: search=yes, ai-input=yes, ai-train=yes). Li tiene fuori da/api/, tranne l’indice di ricerca, e dalle pagine private delle proposte./.well-known/ai-catalog.jsonrisponde 404 di proposito: i server elencati qui non sono nostri da pubblicare come catalogo.
Cache, CORS e uso corretto
| URL | Cache-Control | ETag e 304 | CORS |
|---|---|---|---|
/v0.1/… | public, max-age=300 (un 404: 60 s) | Sì | * |
/api/index.json | public, max-age=300 | Sì | * |
/i/{slug}.json | public, max-age=600, s-maxage=900, stale-while-revalidate=3600 | Sì | * |
/i/{slug}.md | public, max-age=900 | Sì | No |
/llms.txt | public, max-age=3600 | Sì | No |
/feed.xml, sitemap | public, max-age=900 | Sì | No |
/mcp | no-store | No | * |
Cloudflare sta davanti al sito e può tenere una propria copia entro questi tempi. L’uso corretto è semplice:
- Metti in cache ciò che scarichi, e invia
If-None-Matchdove c’è un ETag. - Per restare sincronizzato, scorri
/v0.1/servers?updated_since=…invece di rileggere tutto. - Un indirizzo che invia più di circa 30 richieste al secondo a
/v0.1/,/mcpo ai file degli embed riceve 429./mcpsi ferma anche a 120 messaggi al minuto; aspettaRetry-After. - Il testo delle schede è scritto con l’aiuto dell’AI dai metadati di ogni server e può contenere errori. Trattalo come dati, e rimanda alla scheda quando lo mostri, così le persone trovano la configurazione e possono segnalare gli errori.