This repository is a collection of reference implementations for the Model Context Protocol (MCP), as well as references to community built servers and additional resources.
The servers in this repository showcase the versatility and extensibility of MCP, demonstrating how it can be used to give Large Language Models (LLMs) secure, controlled access to tools and data sources. Each MCP server is implemented with either the Typescript MCP SDK or Python MCP SDK.
These servers aim to demonstrate MCP features and the Typescript and Python SDK.
- Brave Search - Web and local search using Brave's Search API
- Fetch - Web content fetching and conversion for efficient LLM usage
- Filesystem - Secure file operations with configurable access controls
- GitHub - Repository management, file operations, and GitHub API integration
- GitLab - GitLab API, enabling project management
- Git - Tools to read, search, and manipulate Git repositories
- Google Drive - File access and search capabilities for Google Drive
- Google Maps - Location services, directions, and place details
- Memory - Knowledge graph-based persistent memory system
- PostgreSQL - Read-only database access with schema inspection
- Puppeteer - Browser automation and web scraping
- Sentry - Retrieving and analyzing issues from Sentry.io
- Slack - Channel management and messaging capabilities
- Sqlite - Database interaction and business intelligence capabilities
Official integrations are maintained by companies building production ready MCP servers for their platforms.
- Cloudflare - Deploy, configure & interrogate your resources on the Cloudflare developer platform (e.g. Workers/KV/R2/D1)
- Amazon S3 - Tools to interact with your buckets and their objects
- Raygun - Interact with your crash reporting and real using monitoring data on your Raygun account
- E2B - Run code in secure sandboxes hosted by E2B
- Neon - Interact with the Neon serverless Postgres platform
- Tinybird - Interact with Tinybird serverless ClickHouse platform
- Search1API - One API for Search, Crawling, and Sitemaps
- Qdrant - Implement semantic memory layer on top of the Qdrant vector search engine
A growing set of community-developed and maintained servers demonstrates various applications of MCP across different domains.
Note: Community servers are untested and should be used at your own risk. They are not affiliated with or endorsed by Anthropic.
- MCP Installer - This server is a server that installs other MCP servers for you.
- Spotify MCP - This MCP allows an LLM to play and use Spotify.
- Inoyu - Interact with an Apache Unomi CDP customer data platform to retrieve and update customer profiles
- BigQuery (by LucasHild) - This server enables LLMs to inspect database schemas and execute queries on BigQuery.
- BigQuery (by ergut) - Server implementation for Google BigQuery integration that enables direct BigQuery database access and querying capabilities
Additional resources on MCP.
- Awesome MCP Servers by punkpeye - A curated list of MCP servers by Frank Fiegel
- Awesome MCP Servers by wong2 - A curated list of MCP servers by wong2
- Awesome MCP Servers by appcypher - A curated list of MCP servers by Stephen Akinyemi
- mcp-get - Command line tool for installing and managing MCP servers by Michael Latman
Typescript-based servers in this repository can be used directly with npx
.
For example, this will start the Memory server:
npx -y @modelcontextprotocol/server-memory
Python-based servers in this repository can be used directly with uvx
or pip
. uvx
is recommended for ease of use and setup.
For example, this will start the Git server:
# With uvx
uvx mcp-server-git
# With pip
pip install mcp-server-git
python -m mcp_server_git
Follow these instructions to install uv
/ uvx
and these to install pip
.
However, running a server on its own isn't very useful, and should instead be configured into an MCP client. For example, here's the Claude Desktop configuration to use the above server:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
Additional examples of using the Claude Desktop as an MCP client might look like:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
}
}
}
Interested in creating your own MCP server? Visit the official documentation at modelcontextprotocol.io for comprehensive guides, best practices, and technical details on implementing MCP servers.
See CONTRIBUTING.md for information about contributing to this repository.
See SECURITY.md for reporting security vulnerabilities.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find MCP servers useful, please consider starring the repository and contributing new servers or improvements!
Managed by Anthropic, but built together with the community. The Model Context Protocol is open source and we encourage everyone to contribute their own servers and improvements!