Certificat AgentReady.md vérifié
Émis le sig: 5e245ab15881e258 Vérifier →

URL analysée

Https://mcpdir.net

Analyser une autre URL

Score AI-Ready

76 / B

Bon

sur 100

Économie de tokens

Tokens HTML 17.924
Tokens Markdown 85
Économie 100%

Détail du score

HTML sémantique 85/100
Efficacité du contenu 70/100
Visibilité IA 45/100
Données structurées 100/100
Accessibilité 100/100

Protocoles émergents

0 sur 3 détectés

Endpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.

  • 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

Votre page a un faible ratio de contenu réel par rapport au HTML total. Une grande partie du poids de la page est du balisage, des scripts ou des styles plutôt que du contenu.

Comment implémenter

Déplacez le CSS vers des feuilles de style externes, supprimez les styles en ligne, minimisez le JavaScript et assurez-vous que le HTML se concentre sur la structure du contenu.

Votre site ne supporte pas Markdown for Agents. Ce standard Cloudflare permet aux agents IA de demander du contenu en format markdown, réduisant l'utilisation de tokens de ~80%.

Comment implémenter

Implémentez un ou plusieurs : (1) Répondre à Accept: text/markdown avec du contenu markdown. (2) Servir des URLs .md (ex : /page.md). (3) Ajouter des balises <link rel="alternate" type="text/markdown">. (4) Ajouter des en-têtes HTTP Link pour la découverte 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# "}] }'>

Aucun sitemap trouvé. Un sitemap aide les AI agents à découvrir toutes les pages de votre site.

Comment implémenter

Créez un /sitemap.xml listant toutes vos pages publiques. La plupart des CMS peuvent le générer automatiquement.

Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.

Comment implémenter

Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses 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});"}] }'>

Votre page repose fortement sur les éléments <div>. Les éléments sémantiques comme <section>, <nav>, <header>, <footer> et <aside> fournissent une structure significative pour les AI agents.

Comment implémenter

Remplacez les conteneurs <div> génériques par les éléments sémantiques appropriés. Utilisez <section> pour les groupes thématiques, <nav> pour la navigation, <header>/<footer> pour les en-têtes et pieds de page ou de section.

Tokens 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/)

Téléversez ce fichier sous /index.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.

Notre recommandation

Télécharger 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)

Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)

Téléversez ce fichier vers https://mcpdir.net/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.

Ce site possède déjà un fichier llms.txt.

Format valide
# 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 sémantique

Utilise les éléments article ou main (100/100)

Has <main>

Hiérarchie de titres correcte (100/100)

Clean heading hierarchy

Utilise des éléments HTML sémantiques (24/100)

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

Textes alternatifs descriptifs pour les images (100/100)

2/2 images with meaningful alt text

Faible profondeur d’imbrication des divs (100/100)

Avg div depth: 1.2, max: 3

Efficacité du contenu

Bon ratio de réduction de tokens (100/100)

100% token reduction (HTML→Markdown)

Bon ratio contenu/bruit (0/100)

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

Styles en ligne minimaux (100/100)

0/656 elements with inline styles (0.0%)

Poids de page raisonnable (100/100)

HTML size: 59KB

Visibilité IA

Possède un fichier llms.txt (100/100)

llms.txt exists and is valid

Possède un fichier robots.txt (100/100)

robots.txt exists

robots.txt autorise les bots IA (100/100)

All major AI bots allowed

Possède un sitemap.xml (0/100)

No sitemap found

Support Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
A Content-Signal (robots.txt ou en-têtes HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Données structurées

Possède Schema.org / JSON-LD (100/100)

JSON-LD found: WebSite, Organization

Possède des balises Open Graph (100/100)

All OG tags present

Possède une meta description (100/100)

Meta description: 59 chars

Possède une URL canonique (100/100)

Canonical URL present

Possède un attribut lang (100/100)

lang="en"

Accessibilité

Contenu disponible sans JavaScript (100/100)

Content available without JavaScript

Taille de page raisonnable (100/100)

Page size: 59KB

Le contenu apparaît tôt dans le 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\">"
        }
      ]
    }
  ]
}

Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)

Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.

Partagez vos résultats

Twitter LinkedIn

Intégrez votre badge

Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.

AgentReady.md score for mcpdir.net
Script Recommandé
<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/fr/r/5c2f89b5-8355-4fcc-b327-fdb901fc1cc8)

Bientôt : Analyse de domaine complet

Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.