Certificato AgentReady.md verificato
Emesso il sig: 5e245ab15881e258 Verifica →

URL analizzato

Https://mcpdir.net

Analizza un altro URL

Punteggio AI-Ready

76 / B

Buono

su 100

Risparmio di token

Token HTML 17.924
Token Markdown 85
Risparmio 100%

Dettaglio del punteggio

HTML Semantico 85/100
Efficienza dei contenuti 70/100
Scopribilità IA 45/100
Dati Strutturati 100/100
Accessibilità 100/100

Protocolli emergenti

0 di 3 rilevati

Endpoint well-known cercati dagli agenti IA. Rilevato significa che un agente può scoprire e connettersi automaticamente al tuo servizio.

  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

La tua pagina ha un basso rapporto tra contenuto reale e HTML totale. Gran parte del peso della pagina è markup, script o stili anziché contenuto.

Come implementare

Sposta i CSS in fogli di stile esterni, rimuovi gli stili inline, minimizza JavaScript e assicurati che l'HTML si concentri sulla struttura del contenuto.

Il tuo sito non supporta Markdown for Agents. Questo standard Cloudflare permette agli agenti IA di richiedere contenuti in formato markdown, riducendo l'uso dei token di ~80%.

Come implementare

Implementa uno o più: (1) Rispondere a Accept: text/markdown con contenuto markdown. (2) Servire URL .md (es: /pagina.md). (3) Aggiungere tag <link rel="alternate" type="text/markdown">. (4) Aggiungere header HTTP Link per la scoperta markdown.

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"},{"id":"fastify","label":"Fastify","language":"javascript","filename":"server.js","code":"// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page/route.ts","code":"// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"},{"id":"wordpress","label":"WordPress","language":"php","filename":"functions.php","code":"post_content));\n exit;\n});"},{"id":"static","label":"Hugo / Jekyll / Astro","language":"txt","filename":"static/page.md","code":"# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in :\n# "}] }'>

Nessuna sitemap trovata. Una sitemap aiuta gli agenti IA a scoprire tutte le pagine del tuo sito.

Come implementare

Crea un /sitemap.xml che elenchi tutte le tue pagine pubbliche. La maggior parte delle piattaforme CMS può generarla automaticamente.

Nessuna direttiva Content-Signal trovata. Queste indicano agli agenti IA come possono usare i tuoi contenuti (indicizzazione, input IA, dati di addestramento). La posizione consigliata è robots.txt.

Come implementare

Aggiungi Content-Signal al tuo robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Puoi anche aggiungerlo come header HTTP nelle risposte markdown.

{\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"}] }'>

La tua pagina si basa molto sugli elementi <div>. Elementi semantici come <section>, <nav>, <header>, <footer> e <aside> forniscono una struttura significativa per gli agenti IA.

Come implementare

Sostituisci i contenitori <div> generici con elementi semantici appropriati. Usa <section> per gruppi tematici, <nav> per la navigazione, <header>/<footer> per intestazioni e piè di pagina.

Token Markdown: 85
© 2026 MCPdir.net. Built for discovering and comparing MCP servers.

Data sourced from MCP Registry, PulseMCP, Docker MCP Catalog & community

Project in development by [Color Vivo](https://colorvivo.com/) & [David Carrero](https://carrero.es/). Hosted on Cloudflare Pages.

Made with ❤️ from Madrid and Herencia (Ciudad Real) — Spain.
The multilingual MCP server directory | MCPdir

[![MCPdir — MCP Server Directory](https://mcpdir.net/logo.png)](https://mcpdir.net/)

🇬🇧 [🇪🇸](https://mcpdir.net/es/ "Español")

# Find the right MCP server for your AI tools

Discover, compare and install MCP servers. The open directory with original editorial content in English and Spanish.

3147 servers · 17 categories · 2 languages

## Featured

[

### AWS MCP Servers

by AWS Labs

Official AWS MCP servers for documentation, infrastructure, containers, and serverless

⭐ 8.3k 📅 1mo ago 📦 Python

Python Intermediate Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/aws-mcp/)[

### Blender MCP

by ahujasid

Prompt-assisted 3D modeling — connect Blender to AI through MCP for scene creation and manipulation

⭐ 17.4k 📅 1mo ago 📦 Python

Python Intermediate Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/blender-mcp/)[

### Chrome DevTools MCP

by dinesh-nalla-se

Give your AI agent full access to Chrome DevTools

📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/chrome-devtools-mcp/)[

### Context7 MCP

by Upstash

Up-to-date, version-specific code documentation for any library — right in your AI assistant

⭐ 47.2k 📅 1mo ago 📦 Node.js

Node.js Beginner

🍎🐧🪟

](https://mcpdir.net/s/context7-mcp/)[

### Firecrawl

by Mendable

The Web Data API for AI — turn entire websites into LLM-ready markdown or structured data

⭐ 86.7k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/firecrawl/)[

### GitHub MCP Server

by GitHub

GitHub's official MCP server — manage repos, issues, PRs, Actions, and security from any AI tool

⭐ 27.3k 📅 1mo ago 📦 Docker

Docker Beginner Self-hostable Docker

🍎🐧🪟

](https://mcpdir.net/s/github-mcp-server/)[

### GitHub MCP

by anthropics

Turn your AI coding agent into a full-powered GitHub collaborator

⭐ 5.2k 👁 320k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/github-mcp/)[

### MCP Reference Servers

by Anthropic

Official MCP reference implementations from Anthropic — the most starred MCP project

⭐ 79.7k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/mcp-reference-servers/)[

### Notion MCP Server

by Notion

Official Notion MCP server for AI-powered workspace management

⭐ 4k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable Docker

🍎🐧🪟

](https://mcpdir.net/s/notion-mcp-server/)[

### Playwright MCP

by Microsoft

Browser automation for LLMs via accessibility snapshots, no vision models needed

⭐ 27.9k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/playwright-mcp/)

## Popular servers[See all →](https://mcpdir.net/servers/)

[

### Firecrawl

by Mendable

The Web Data API for AI — turn entire websites into LLM-ready markdown or structured data

⭐ 86.7k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/firecrawl/)[

### MCP Reference Servers

by Anthropic

Official MCP reference implementations from Anthropic — the most starred MCP project

⭐ 79.7k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/mcp-reference-servers/)[

### Slack MCP

by Anthropic

Official MCP reference server for Slack — send messages, read channels, and search conversations

⭐ 79.7k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/slack-mcp/)[

### Context7 MCP

by Upstash

Up-to-date, version-specific code documentation for any library — right in your AI assistant

⭐ 47.2k 📅 1mo ago 📦 Node.js

Node.js Beginner

🍎🐧🪟

](https://mcpdir.net/s/context7-mcp/)[

### Playwright MCP

by Microsoft

Browser automation for LLMs via accessibility snapshots, no vision models needed

⭐ 27.9k 📅 1mo ago 📦 Node.js

Node.js Beginner Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/playwright-mcp/)[

### GitHub MCP Server

by GitHub

GitHub's official MCP server — manage repos, issues, PRs, Actions, and security from any AI tool

⭐ 27.3k 📅 1mo ago 📦 Docker

Docker Beginner Self-hostable Docker

🍎🐧🪟

](https://mcpdir.net/s/github-mcp-server/)

## Recently added

[

### Memory Graph MCP

by FlarelyLegal

Persistent shared memory for LLMs with knowledge graphs and semantic search

⭐ 2 📅 1mo ago 📦 Node.js

Node.js Advanced Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/memory-graph-mcp/)[

### 1mcpserver

by particlefuture

MCP server — editorial content pending

⭐ 40 📅 3mo ago 📦 Python

Python Intermediate Self-hostable

🍎

](https://mcpdir.net/s/1mcpserver/)[

### 4everland-hosting-mcp

by 4everland

MCP server — editorial content pending

⭐ 2 📅 9mo ago 📦 Node.js

Node.js Intermediate Self-hostable

🍎🐧

](https://mcpdir.net/s/4everland-hosting-mcp/)[

### aaa-mcp

by ariffazil

MCP server — editorial content pending

⭐ 29 📅 1mo ago 📦 Python

Python Intermediate Self-hostable

🍎🐧🪟

](https://mcpdir.net/s/aaa-mcp/)

## Browse by category[See all →](https://mcpdir.net/categories/)

[🌐

Browser & Web

35 servers

](https://mcpdir.net/categories/browser/)[🗄️

Database

99 servers

](https://mcpdir.net/categories/database/)[📁

Filesystem

36 servers

](https://mcpdir.net/categories/filesystem/)[🔧

DevOps & CI/CD

142 servers

](https://mcpdir.net/categories/devops/)[🤖

AI & ML

623 servers

](https://mcpdir.net/categories/ai-ml/)[📊

Data & Analytics

27 servers

](https://mcpdir.net/categories/data/)[💬

Communication

19 servers

](https://mcpdir.net/categories/communication/)[📝

Productivity

34 servers

](https://mcpdir.net/categories/productivity/)[🔒

Security

25 servers

](https://mcpdir.net/categories/security/)[☁️

Cloud Providers

16 servers

](https://mcpdir.net/categories/cloud/)[🎨

Design & Media

33 servers

](https://mcpdir.net/categories/design/)[💰

Finance

41 servers

](https://mcpdir.net/categories/finance/)[🔍

Search & Discovery

60 servers

](https://mcpdir.net/categories/search/)[🏗️

Code & Development

1536 servers

](https://mcpdir.net/categories/code/)[🧪

Testing

18 servers

](https://mcpdir.net/categories/testing/)[📡

API & Integration

390 servers

](https://mcpdir.net/categories/api/)[🗺️

Maps & Location

13 servers

](https://mcpdir.net/categories/maps/)

## Recommended Services

Other tools from our team

[### SpyOnWeb

Find hidden connections between websites by correlating domains, Analytics, AdSense, nameservers and IPs.

spyonweb.net →](https://spyonweb.net/)[### AgentReady

Evaluate and improve your website compatibility with AI agents through scoring and analysis.

agentready.md →](https://agentready.md/)[### NSlookup

Minimal DNS and IP diagnostics suite with fast lookups over HTTPS, history and caching.

nslookup.network →](https://nslookup.network/)[### Spider

Check if search engines, AI crawlers and bots can access your site by analyzing robots.txt and headers.

spider.es →](https://spider.es/)[### Password.es

Generate secure, customizable passwords online with a built-in strength checker.

password.es/en/ →](https://password.es/en/)[### Time Tracking

Free online Pomodoro timer for deep focus sessions with a distraction-free interface.

timetracking.uk/ →](https://timetracking.uk/)

Carica questo file come /index.md sul tuo server affinché gli agenti IA possano accedere a una versione pulita della tua pagina. Puoi anche configurare la negoziazione dei contenuti Accept: text/markdown per servirlo automaticamente.

La nostra raccomandazione

Scarica llms.txt
# MCPdir

> Discover, compare and install MCP servers for your AI tools

## Main
- [The multilingual MCP server directory](Https://mcpdir.net): Discover, compare and install MCP servers for your AI tools
- [About](https://mcpdir.net/about/)
- [Servers](https://mcpdir.net/servers/)
- [Categories](https://mcpdir.net/categories/)
- [🔥 Trending](https://mcpdir.net/trending/)
- [🇪🇸](https://mcpdir.net/es/)
- [RSS Feed](https://mcpdir.net/feed.xml)

Il llms.txt completo richiede un'analisi dell'intero dominio (prossimamente)

Carica questo file come https://mcpdir.net/llms.txt nella radice del tuo dominio. Agenti IA come ChatGPT, Claude e Perplexity controllano questo file per comprendere la struttura del tuo sito.

Questo sito ha già un file llms.txt.

Formato valido
# MCPdir — The multilingual MCP server directory

> MCPdir is an open directory of MCP (Model Context Protocol) servers. It helps developers discover, compare and install MCP servers for AI coding tools like Claude Code, Cursor, VS Code Copilot, Gemini CLI, and more.

## What is MCP?

MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data sources. MCP servers expose capabilities (tools, resources, prompts) that AI clients can use.

## Site structure

- `/` — Homepage with featured and popular MCP servers
- `/servers/` — Full directory with search and filters
- `/s/{slug}/` — Individual MCP server detail page
- `/categories/` — Browse by category (browser, database, devops, etc.)
- `/categories/{slug}/` — Servers in a specific category
- `/es/` — Spanish version of all pages

## Data

Each MCP server entry includes:
- Canonical registry data (name, version, author, license)
- GitHub metrics (stars, downloads, last commit)
- Original editorial content (description, pros/cons, use cases, tips)
- Installation instructions for 8+ AI clients
- Client compatibility matrix
- Category, tags, difficulty level

## API

- `/feed.xml` — RSS feed with latest MCP servers
- `/sitemap-index.xml` — XML sitemap with hreflang

## Contact

Website: https://mcpdir.net

HTML Semantico

Utilizza elemento article o main (100/100)

Has <main>

Gerarchia di intestazioni corretta (100/100)

Clean heading hierarchy

Utilizza elementi HTML semantici (24/100)

11 semantic elements, 141 divs (ratio: 7%)

Testi alt delle immagini significativi (100/100)

2/2 images with meaningful alt text

Bassa profondità di annidamento div (100/100)

Avg div depth: 1.2, max: 3

Efficienza dei contenuti

Buon rapporto di riduzione token (100/100)

100% token reduction (HTML→Markdown)

Buon rapporto contenuto-rumore (0/100)

Content ratio: 0.5% (290 content chars / 60888 HTML bytes)

Stili inline minimi (100/100)

0/656 elements with inline styles (0.0%)

Peso della pagina ragionevole (100/100)

HTML size: 59KB

Scopribilità IA

Ha file llms.txt (100/100)

llms.txt exists and is valid

Ha file robots.txt (100/100)

robots.txt exists

robots.txt consente bot IA (100/100)

All major AI bots allowed

Ha sitemap.xml (0/100)

No sitemap found

Supporto Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Ha Content-Signal (robots.txt o header HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Dati Strutturati

Ha Schema.org / JSON-LD (100/100)

JSON-LD found: WebSite, Organization

Ha tag Open Graph (100/100)

All OG tags present

Ha meta descrizione (100/100)

Meta description: 59 chars

Ha URL canonico (100/100)

Canonical URL present

Ha attributo lang (100/100)

lang="en"

Accessibilità

Contenuto disponibile senza JavaScript (100/100)

Content available without JavaScript

Dimensione della pagina ragionevole (100/100)

Page size: 59KB

Il contenuto appare presto nell'HTML (100/100)

Main content starts at 11% of HTML

{
  "url": "Https://mcpdir.net",
  "timestamp": 1776589460527,
  "fetch": {
    "mode": "simple",
    "timeMs": 63,
    "htmlSizeBytes": 60888,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "The multilingual MCP server directory",
    "excerpt": "Discover, compare and install MCP servers for your AI tools",
    "byline": null,
    "siteName": "MCPdir",
    "lang": "en",
    "contentLength": 290,
    "metadata": {
      "description": "Discover, compare and install MCP servers for your AI tools",
      "ogTitle": "The multilingual MCP server directory",
      "ogDescription": "Discover, compare and install MCP servers for your AI tools",
      "ogImage": "https://mcpdir.net/og-cover.png",
      "ogType": "website",
      "canonical": "https://mcpdir.net/",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "WebSite",
          "name": "MCPdir",
          "url": "https://mcpdir.net",
          "potentialAction": {
            "@type": "SearchAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://mcpdir.net/servers/?q={search_term_string}"
            },
            "query-input": "required name=search_term_string"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "Organization",
          "name": "MCPdir",
          "url": "https://mcpdir.net",
          "logo": "https://mcpdir.net/og-cover.png",
          "sameAs": [
            "https://github.com/dcarrero/MCPdir"
          ]
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": "Astro v5.17.3",
      "markdownAlternateHref": null
    }
  },
  "markdown": "© 2026 MCPdir.net. Built for discovering and comparing MCP servers.\n\nData sourced from MCP Registry, PulseMCP, Docker MCP Catalog & community\n\nProject in development by [Color Vivo](https://colorvivo.com/) & [David Carrero](https://carrero.es/). Hosted on Cloudflare Pages.\n\nMade with ❤️ from Madrid and Herencia (Ciudad Real) — Spain.\n",
  "fullPageMarkdown": "The multilingual MCP server directory | MCPdir\n\n[![MCPdir — MCP Server Directory](https://mcpdir.net/logo.png)](https://mcpdir.net/)\n\n🇬🇧 [🇪🇸](https://mcpdir.net/es/ \"Español\")\n\n# Find the right MCP server for your AI tools\n\nDiscover, compare and install MCP servers. The open directory with original editorial content in English and Spanish.\n\n3147 servers · 17 categories · 2 languages\n\n## Featured\n\n[\n\n### AWS MCP Servers\n\nby AWS Labs\n\nOfficial AWS MCP servers for documentation, infrastructure, containers, and serverless\n\n⭐ 8.3k 📅 1mo ago 📦 Python\n\nPython Intermediate Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/aws-mcp/)[\n\n### Blender MCP\n\nby ahujasid\n\nPrompt-assisted 3D modeling — connect Blender to AI through MCP for scene creation and manipulation\n\n⭐ 17.4k 📅 1mo ago 📦 Python\n\nPython Intermediate Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/blender-mcp/)[\n\n### Chrome DevTools MCP\n\nby dinesh-nalla-se\n\nGive your AI agent full access to Chrome DevTools\n\n📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/chrome-devtools-mcp/)[\n\n### Context7 MCP\n\nby Upstash\n\nUp-to-date, version-specific code documentation for any library — right in your AI assistant\n\n⭐ 47.2k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/context7-mcp/)[\n\n### Firecrawl\n\nby Mendable\n\nThe Web Data API for AI — turn entire websites into LLM-ready markdown or structured data\n\n⭐ 86.7k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/firecrawl/)[\n\n### GitHub MCP Server\n\nby GitHub\n\nGitHub's official MCP server — manage repos, issues, PRs, Actions, and security from any AI tool\n\n⭐ 27.3k 📅 1mo ago 📦 Docker\n\nDocker Beginner Self-hostable Docker\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/github-mcp-server/)[\n\n### GitHub MCP\n\nby anthropics\n\nTurn your AI coding agent into a full-powered GitHub collaborator\n\n⭐ 5.2k 👁 320k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/github-mcp/)[\n\n### MCP Reference Servers\n\nby Anthropic\n\nOfficial MCP reference implementations from Anthropic — the most starred MCP project\n\n⭐ 79.7k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/mcp-reference-servers/)[\n\n### Notion MCP Server\n\nby Notion\n\nOfficial Notion MCP server for AI-powered workspace management\n\n⭐ 4k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable Docker\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/notion-mcp-server/)[\n\n### Playwright MCP\n\nby Microsoft\n\nBrowser automation for LLMs via accessibility snapshots, no vision models needed\n\n⭐ 27.9k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/playwright-mcp/)\n\n## Popular servers[See all →](https://mcpdir.net/servers/)\n\n[\n\n### Firecrawl\n\nby Mendable\n\nThe Web Data API for AI — turn entire websites into LLM-ready markdown or structured data\n\n⭐ 86.7k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/firecrawl/)[\n\n### MCP Reference Servers\n\nby Anthropic\n\nOfficial MCP reference implementations from Anthropic — the most starred MCP project\n\n⭐ 79.7k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/mcp-reference-servers/)[\n\n### Slack MCP\n\nby Anthropic\n\nOfficial MCP reference server for Slack — send messages, read channels, and search conversations\n\n⭐ 79.7k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/slack-mcp/)[\n\n### Context7 MCP\n\nby Upstash\n\nUp-to-date, version-specific code documentation for any library — right in your AI assistant\n\n⭐ 47.2k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/context7-mcp/)[\n\n### Playwright MCP\n\nby Microsoft\n\nBrowser automation for LLMs via accessibility snapshots, no vision models needed\n\n⭐ 27.9k 📅 1mo ago 📦 Node.js\n\nNode.js Beginner Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/playwright-mcp/)[\n\n### GitHub MCP Server\n\nby GitHub\n\nGitHub's official MCP server — manage repos, issues, PRs, Actions, and security from any AI tool\n\n⭐ 27.3k 📅 1mo ago 📦 Docker\n\nDocker Beginner Self-hostable Docker\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/github-mcp-server/)\n\n## Recently added\n\n[\n\n### Memory Graph MCP\n\nby FlarelyLegal\n\nPersistent shared memory for LLMs with knowledge graphs and semantic search\n\n⭐ 2 📅 1mo ago 📦 Node.js\n\nNode.js Advanced Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/memory-graph-mcp/)[\n\n### 1mcpserver\n\nby particlefuture\n\nMCP server — editorial content pending\n\n⭐ 40 📅 3mo ago 📦 Python\n\nPython Intermediate Self-hostable\n\n🍎\n\n](https://mcpdir.net/s/1mcpserver/)[\n\n### 4everland-hosting-mcp\n\nby 4everland\n\nMCP server — editorial content pending\n\n⭐ 2 📅 9mo ago 📦 Node.js\n\nNode.js Intermediate Self-hostable\n\n🍎🐧\n\n](https://mcpdir.net/s/4everland-hosting-mcp/)[\n\n### aaa-mcp\n\nby ariffazil\n\nMCP server — editorial content pending\n\n⭐ 29 📅 1mo ago 📦 Python\n\nPython Intermediate Self-hostable\n\n🍎🐧🪟\n\n](https://mcpdir.net/s/aaa-mcp/)\n\n## Browse by category[See all →](https://mcpdir.net/categories/)\n\n[🌐\n\nBrowser & Web\n\n35 servers\n\n](https://mcpdir.net/categories/browser/)[🗄️\n\nDatabase\n\n99 servers\n\n](https://mcpdir.net/categories/database/)[📁\n\nFilesystem\n\n36 servers\n\n](https://mcpdir.net/categories/filesystem/)[🔧\n\nDevOps & CI/CD\n\n142 servers\n\n](https://mcpdir.net/categories/devops/)[🤖\n\nAI & ML\n\n623 servers\n\n](https://mcpdir.net/categories/ai-ml/)[📊\n\nData & Analytics\n\n27 servers\n\n](https://mcpdir.net/categories/data/)[💬\n\nCommunication\n\n19 servers\n\n](https://mcpdir.net/categories/communication/)[📝\n\nProductivity\n\n34 servers\n\n](https://mcpdir.net/categories/productivity/)[🔒\n\nSecurity\n\n25 servers\n\n](https://mcpdir.net/categories/security/)[☁️\n\nCloud Providers\n\n16 servers\n\n](https://mcpdir.net/categories/cloud/)[🎨\n\nDesign & Media\n\n33 servers\n\n](https://mcpdir.net/categories/design/)[💰\n\nFinance\n\n41 servers\n\n](https://mcpdir.net/categories/finance/)[🔍\n\nSearch & Discovery\n\n60 servers\n\n](https://mcpdir.net/categories/search/)[🏗️\n\nCode & Development\n\n1536 servers\n\n](https://mcpdir.net/categories/code/)[🧪\n\nTesting\n\n18 servers\n\n](https://mcpdir.net/categories/testing/)[📡\n\nAPI & Integration\n\n390 servers\n\n](https://mcpdir.net/categories/api/)[🗺️\n\nMaps & Location\n\n13 servers\n\n](https://mcpdir.net/categories/maps/)\n\n## Recommended Services\n\nOther tools from our team\n\n[### SpyOnWeb\n\nFind hidden connections between websites by correlating domains, Analytics, AdSense, nameservers and IPs.\n\nspyonweb.net →](https://spyonweb.net/)[### AgentReady\n\nEvaluate and improve your website compatibility with AI agents through scoring and analysis.\n\nagentready.md →](https://agentready.md/)[### NSlookup\n\nMinimal DNS and IP diagnostics suite with fast lookups over HTTPS, history and caching.\n\nnslookup.network →](https://nslookup.network/)[### Spider\n\nCheck if search engines, AI crawlers and bots can access your site by analyzing robots.txt and headers.\n\nspider.es →](https://spider.es/)[### Password.es\n\nGenerate secure, customizable passwords online with a built-in strength checker.\n\npassword.es/en/ →](https://password.es/en/)[### Time Tracking\n\nFree online Pomodoro timer for deep focus sessions with a distraction-free interface.\n\ntimetracking.uk/ →](https://timetracking.uk/)\n",
  "markdownStats": {
    "images": 0,
    "links": 2,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 17924,
    "markdownTokens": 85,
    "reduction": 17839,
    "reductionPercent": 100
  },
  "score": {
    "score": 76,
    "grade": "B",
    "dimensions": {
      "semanticHtml": {
        "score": 85,
        "weight": 20,
        "grade": "B",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 25,
            "details": "Clean heading hierarchy"
          },
          "semantic_elements": {
            "score": 24,
            "weight": 20,
            "details": "11 semantic elements, 141 divs (ratio: 7%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "2/2 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 1.2, max: 3"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.5% (290 content chars / 60888 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "0/656 elements with inline styles (0.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 59KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 45,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 100,
            "weight": 20,
            "details": "llms.txt exists and is valid"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 0,
            "weight": 10,
            "details": "No sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 15,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 30,
            "details": "JSON-LD found: WebSite, Organization"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 25,
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 59 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"en\""
          }
        }
      },
      "accessibility": {
        "score": 100,
        "weight": 15,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 59KB"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 30,
            "details": "Main content starts at 11% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.5% (290 content chars / 60888 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_sitemap",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_sitemap.title",
      "descriptionKey": "rec.add_sitemap.description",
      "howToKey": "rec.add_sitemap.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No sitemap found"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 24,
      "checkDetails": "11 semantic elements, 141 divs (ratio: 7%)"
    }
  ],
  "llmsTxtPreview": "# MCPdir\n\n> Discover, compare and install MCP servers for your AI tools\n\n## Main\n- [The multilingual MCP server directory](Https://mcpdir.net): Discover, compare and install MCP servers for your AI tools\n- [About](https://mcpdir.net/about/)\n- [Servers](https://mcpdir.net/servers/)\n- [Categories](https://mcpdir.net/categories/)\n- [🔥 Trending](https://mcpdir.net/trending/)\n- [🇪🇸](https://mcpdir.net/es/)\n- [RSS Feed](https://mcpdir.net/feed.xml)\n\n",
  "llmsTxtExisting": "# MCPdir — The multilingual MCP server directory\n\n> MCPdir is an open directory of MCP (Model Context Protocol) servers. It helps developers discover, compare and install MCP servers for AI coding tools like Claude Code, Cursor, VS Code Copilot, Gemini CLI, and more.\n\n## What is MCP?\n\nMCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data sources. MCP servers expose capabilities (tools, resources, prompts) that AI clients can use.\n\n## Site structure\n\n- `/` — Homepage with featured and popular MCP servers\n- `/servers/` — Full directory with search and filters\n- `/s/{slug}/` — Individual MCP server detail page\n- `/categories/` — Browse by category (browser, database, devops, etc.)\n- `/categories/{slug}/` — Servers in a specific category\n- `/es/` — Spanish version of all pages\n\n## Data\n\nEach MCP server entry includes:\n- Canonical registry data (name, version, author, license)\n- GitHub metrics (stars, downloads, last commit)\n- Original editorial content (description, pros/cons, use cases, tips)\n- Installation instructions for 8+ AI clients\n- Client compatibility matrix\n- Category, tags, difficulty level\n\n## API\n\n- `/feed.xml` — RSS feed with latest MCP servers\n- `/sitemap-index.xml` — XML sitemap with hreflang\n\n## Contact\n\nWebsite: https://mcpdir.net",
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://mcpdir.net/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://mcpdir.net/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://mcpdir.net/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_sitemap",
      "title": "Create /sitemap.xml",
      "description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
      "language": "xml",
      "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n  <url>\n    <loc>Https://mcpdir.net</loc>\n    <lastmod>2026-04-19</lastmod>\n  </url>\n</urlset>",
      "filename": "/sitemap.xml"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Usa la nostra API per ottenere questo programmaticamente (prossimamente)

Questo JSON è per uso interno — a differenza dei file Markdown e llms.txt, non è destinato ad essere caricato sul tuo sito. Salvalo come riferimento per monitorare il tuo punteggio nel tempo, condividilo con il tuo team di sviluppo o integralo nella tua pipeline CI/CD.

Condividi i tuoi risultati

Twitter LinkedIn

Incorpora il tuo badge

Aggiungi questo badge al tuo sito. Si aggiorna automaticamente quando cambia il tuo punteggio di prontezza IA.

AgentReady.md score for mcpdir.net
Script Consigliato
<script src="https://agentready.md/badge.js" data-id="5c2f89b5-8355-4fcc-b327-fdb901fc1cc8" data-domain="mcpdir.net"></script>
Markdown
[![AgentReady.md score for mcpdir.net](https://agentready.md/badge/mcpdir.net.svg)](https://agentready.md/it/r/5c2f89b5-8355-4fcc-b327-fdb901fc1cc8)

Prossimamente: Analisi completa del dominio

Scansiona l'intero dominio, genera llms.txt e monitora il tuo punteggio di prontezza IA nel tempo. Iscriviti alla lista d'attesa.

Sei nella lista! Ti avviseremo quando sarà disponibile.