MCP Junction
UnexploredSearch a nightly-refreshed directory of MCP servers by keyword, category or topic.
Install
mcp_config.json
{
"mcpServers": {
"ai-mcpjunction-directory": {
"url": "https://mcpjunction.ai/mcp",
"type": "streamable-http"
}
}
}Documentation
mcpjunction.ai
A directory of Model Context Protocol servers, rebuilt nightly from public GitHub metadata. Roughly 1,800 servers in a hand-owned category taxonomy, also browsable by repository topic, published as a website, a downloadable dataset, and an MCP endpoint your agent can query directly.
mcpjunction.ai · Dataset · Categories · Licensing
Not affiliated with Anthropic or the Model Context Protocol project.
This repository is the whole thing: the pipeline that builds the dataset, the Astro site that renders it, and the Cloudflare Worker that serves it.
Use the data
Three ways in, all public and all free to read.
Bulk download. The full directory, regenerated nightly with a generated_at timestamp.
curl -O https://mcpjunction.ai/data/mcp_servers.json
mcp_servers.json— ~2.3 MB, 28 fields per server plus a dataset envelope with counts and per-category totalsmcp_servers.csv— the same data as 16 flat columns
Query it from an agent. /mcp is itself an MCP server — streamable HTTP, stateless
JSON-RPC over POST, protocol version 2025-06-18, no authentication.
claude mcp add --transport http mcpjunction https://mcpjunction.ai/mcp
| Tool | What it does |
|---|---|
search_servers | Free-text search, optionally filtered by category and language |
get_server | One server by id (owner--repo, e.g. microsoft--playwright-mcp) |
list_categories | Every category with active counts |
get_dataset_info | Counts, generated_at, source, and licensing terms |
GET /mcp returns 405 by design; POST your JSON-RPC messages. JSON-RPC batching is not
supported — it was removed in protocol 2025-06-18.
Read it as markdown. Every server and category page has a clean markdown twin with no navigation or styling to strip. Either negotiate for it:
curl -H 'Accept: text/markdown' https://mcpjunction.ai/servers/microsoft--playwright-mcp
…or just append .md to the canonical URL —
/servers/microsoft--playwright-mcp.md,
/categories/databases.md. Each HTML page
advertises its twin via <link rel="alternate" type="text/markdown">.
Machine-readable entry points are collected in
llms.txt.
How a server gets listed
Listing is automatic. There is no submission form, and none is planned — the pipeline runs
five GitHub search queries (topic:mcp-server, topic:model-context-protocol,
topic:mcp, and two name/description phrase searches), then keeps repositories that clear
a 2-star floor and match a Model Context Protocol name/topic heuristic. If your server is
on GitHub and meets that bar, it will appear on the next nightly run.
Corrections, removals, and licensing: licensing@mcpjunction.ai, acknowledged within three business days.
Contributing
Open to read and reuse; deliberately narrow about what comes back.
Corrections are the most useful thing you can send. A wrong install hint, a stale
license, a repository that moved, a server sitting in the wrong category — open an issue or
email the address above with the server id (owner--repo) and what's wrong. One maintainer
cannot check 1,800 entries by hand, and the people who hit these find them first.
Pull requests are welcome for the software — src/, worker/, scripts/, docs/.
Bug fixes need no preamble. Open an issue first for anything that changes rendered output
or the dataset shape, because the constraints in the next section are load-bearing and easy
to undo by accident.
Three things don't take pull requests, for reasons rather than ceremony:
public/data/— regenerated nightly, so the edit is gone within a day. If a server is missing, the fix is upstream: tag the repository and the next run finds it.editorial/summaries.md— summaries are written in-house. A directory that other people cite lives or dies on whether its prose is trustworthy, and reviewing a summary properly costs about what writing one costs.categories.jsonandtopics.json— every slug is a permanent public URL, and category order is matching precedence rather than presentation. Propose one in an issue, with the servers it would cover; adding a category is a decision, not a patch.
The code is MIT and contributions to it are accepted on those terms. The dataset is separately licensed — see Licensing.
How the data is kept honest
A directory other people cite has to fail safe. These are the constraints the code actually enforces:
- Automation cannot promote anything.
security_reviewed,verified_badge,sponsor_tier,editorial_notes, andeditorial_summaryare set by hand and only carried forward by the pipeline — never written by it. A machine cannot grant a badge or a security clearance here. These fields are currently unset across the entire dataset; a written summary, when one exists, is a description and not a security review. - Collapse guard. A run aborts if the active server count falls more than 10% against the previous dataset, or if more than 50 servers would be newly delisted at once. A separate check refuses to deploy below 200 servers. A bad day at the GitHub API should not silently gut the directory.
- Delisted repositories persist 30 days as
status: archived_or_removedwith adelisted_attimestamp, then drop. Stable URLs, without unbounded growth. - Identity guard. If a repository's numeric GitHub id changes under the same
owner--reponame — a rename, or a released username claimed by someone else — the editorial state is dropped rather than inherited. - CSV injection is neutralised. Cells beginning
=,+,-, or@are quote-prefixed before publication. Repository descriptions are attacker-controllable: anyone can name a GitHub repo. - Install hints never auto-confirm. No
npx -y, no--yes. The registry package sharing a repository's name may belong to someone else entirely, so hints are published as unverified suggestions. - No dead links. The sitemap lists only files present on disk at build time.
- One source, used as documented. The official GitHub REST API, authenticated and rate-limit aware, public repository metadata only.
How it's built
src/ Astro static site — pages, layouts, components
worker/ Cloudflare Worker — the /mcp server and markdown negotiation
scripts/ pipeline.py (GitHub API → dataset), build_sitemap.py
categories.json Taxonomy: human-owned, first match in file order wins
topics.json Approved /topics/<tag> pages — vetted GitHub repository topics
server.json Registry metadata for registry.modelcontextprotocol.io
editorial/ Human-written server summaries (summaries.md)
public/ Passthrough assets — robots.txt, license.xml, llms.txt, _headers, data/
dist/ Build output and the Worker's asset root (not committed)
Every night a GitHub Action runs pipeline.py, builds the site with Astro, generates the
sitemap, commits the refreshed dataset, deploys the Worker, and then verifies the live
result — licensing surface, /mcp handshake, crawler access rules, and markdown
negotiation — before it calls the run a success.
Locally:
npm ci && npm run dev
The pipeline needs Python 3 and a GITHUB_TOKEN; deploys need Cloudflare credentials. See
docs/OPERATIONS.md.
Licensing
The code is MIT. src/, worker/, scripts/, and the configuration are yours to
reuse — see LICENSE.
The dataset is not. public/data/** is excluded from the MIT grant and governed by the
RSL terms in public/license.xml: search indexing is free, agent and
inference-time use is free site-wide with attribution during the launch phase, and AI
training requires a license. Bulk /data/ retrieval carries stricter terms. Details at
mcpjunction.ai/licensing; see also NOTICE.
Citing us is easy and appreciated: via mcpjunction.ai.
Sourced from the repository README.
More in Developer Tools
- N8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.202,280
- Gemini CliAn open-source AI agent that brings the power of Gemini directly into your terminal.106,664
- World MonitorLive global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.84,026
- WorldmonitorReal-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface84,024
- Scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!76,275
- Ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated69,270