Curated Open Source MCP Server Directory
Browse the curated open-source MCP server directory by mcpso to discover, compare, and join reliable servers.
npx -y @chatmcp/mcp-directoryOverview
This repository is a curated directory of open-source MCP (Model Context Protocol) servers maintained by the mcpso community. It aggregates reliable, community-vetted servers that implement MCP so developers can discover, compare, and connect to healthy server endpoints for development, testing, or production integration.
The directory provides a searchable list, metadata about each server (tags, protocol versions, geo-location, reliability metrics), and tooling to validate and monitor entries. For developers new to MCP, it removes the overhead of finding trustworthy servers manually and enables programmatic discovery for client applications and integrations.
Features
- Curated list of open-source MCP servers with metadata (version, tags, country, reliability)
- Health checks and basic uptime/reliability scoring
- REST API for listing, searching, and retrieving server details
- Web UI to browse and compare servers (starter frontend included)
- CLI / automation examples for consuming the directory
- Contribution workflow: add or update server entries via PRs
- Docker-friendly for local development and deployments
Installation / Configuration
Clone the repository and follow the typical Node.js/Docker workflow. Replace commands with the package manager used in the repo if different.
Install and run locally:
# install dependencies
# run dev server
Environment variables (example .env):
PORT=3000
DATABASE_URL=sqlite://./data/db.sqlite
HEALTHCHECK_INTERVAL=300000 # milliseconds
TRUSTED_CONTRIBUTORS=alice,bob
Run with Docker:
# docker-compose.yml (example)
version: "3.8"
services:
mcp-directory:
build: .
ports:
- "3000:3000"
environment:
- PORT=3000
- DATABASE_URL=sqlite:///data/db.sqlite
volumes:
- ./data:/app/data
Sample database/server entry schema (JSON):
Available Resources
- Repository: https://github.com/chatmcp/mcp-directory
- REST API endpoints (typical)
- GET /servers — list servers with filters
- GET /servers/:id — server details
- POST /servers — add candidate server (PRs preferred)
- GET /health — directory service health status
- Example client snippets (curl, JavaScript fetch)
- Sample frontend to browse and compare servers
- Contribution guide and templates for adding server entries
- Tests and CI config to validate new entries and healthchecks
Example API usage:
# list all servers with tag "community"
# get details for a server
Use Cases
- Developer discovery: Quickly find MCP servers that match required capabilities (e.g., protocol version, country, tags) for local development or demo apps.
- Automated client configuration: Use the REST API to populate server lists in test harnesses, SDKs, or dev environments so clients can cycle through healthy endpoints.
- Reliability-aware integrations: Select servers programmatically by reliabilityScore and recent health checks to prefer stable endpoints in production-like tests.
- Contribution and community curation: Add new open-source MCP servers to increase exposure and enable community validation through PRs and automated checks.
- Benchmarking and monitoring: Use the directory’s healthcheck results and metadata to compare server performance, uptime, and protocol compliance across providers.
Contributing and Best Practices
- Prefer submitting server additions via pull requests with metadata and a public endpoint for health checking.
- Ensure entries include protocolVersion and tags to make discovery easier for consumers.
- Avoid listing private or paid-only endpoints unless clearly marked.
- Run included tests and follow repository linting/CI before opening PRs.
For more details, visit the project on GitHub: https://github.com/chatmcp/mcp-directory