Analyzed URL
Https://mcpdir.net
AI-Ready Score
Good
out of 100
Token Savings
Score Breakdown
Emerging protocols
0 of 3 detectedWell-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.
-
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
Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.
How to implement
Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.
Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.
How to implement
Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.
No sitemap found. A sitemap helps AI agents discover all pages on your site.
How to implement
Create a /sitemap.xml listing all your public pages. Most CMS platforms can generate this automatically.
No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.
How to implement
Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.
Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.
How to implement
Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.
© 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 [](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/)
Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.
Our recommendation
# 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)
Full llms.txt requires domain-wide analysis (coming soon)
Upload this file to https://mcpdir.net/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.
This site already has a llms.txt file.
Valid format# 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
Semantic HTML
Has <main>
Clean heading hierarchy
11 semantic elements, 141 divs (ratio: 7%)
2/2 images with meaningful alt text
Avg div depth: 1.2, max: 3
Content Efficiency
100% token reduction (HTML→Markdown)
Content ratio: 0.5% (290 content chars / 60888 HTML bytes)
0/656 elements with inline styles (0.0%)
HTML size: 59KB
AI Discoverability
llms.txt exists and is valid
robots.txt exists
All major AI bots allowed
No sitemap found
Structured Data
JSON-LD found: WebSite, Organization
All OG tags present
Meta description: 59 chars
Canonical URL present
lang="en"
Accessibility
Content available without JavaScript
Page size: 59KB
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[](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\">"
}
]
}
]
}
Use our API to get this programmatically (coming soon)
This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.
Embed your badge
Add this badge to your site. It updates automatically as your AI-readiness score changes.
<script src="https://agentready.md/badge.js" data-id="5c2f89b5-8355-4fcc-b327-fdb901fc1cc8" data-domain="mcpdir.net"></script>
[](https://agentready.md/r/5c2f89b5-8355-4fcc-b327-fdb901fc1cc8)
Coming soon: Full Domain Analysis
Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.