This document provides an overview of the modelcontextprotocol/servers repository, which serves as a collection of reference implementations for the Model Context Protocol (MCP). This page introduces the repository's purpose, explains the distinction between reference servers and production servers, and contextualizes how these implementations fit into the broader MCP ecosystem.
For detailed information about the MCP protocol architecture and primitives, see MCP Protocol and Architecture. For specifics on individual reference servers, see Reference Servers Overview. For guidance on contributing to this repository, see Development and Contribution.
The modelcontextprotocol/servers repository maintains a small, curated set of reference server implementations that demonstrate MCP features and SDK usage patterns. These servers are educational examples designed to help developers understand how to build their own MCP servers, not production-ready solutions meant for direct deployment README.md8-11
Repository Contents
Sources: README.md1-36 package.json11-26 package-lock.json11-19
The repository is organized into the following key components:
| Component | Location | Purpose |
|---|---|---|
| Active TypeScript Servers | src/everything/, src/filesystem/, src/memory/, src/sequentialthinking/ | Reference implementations using TypeScript SDK |
| Active Python Servers | src/git/, src/fetch/ | Reference implementations using Python SDK |
| Documentation | README.md, CONTRIBUTING.md, SECURITY.md | Repository documentation and policies |
| Development Infrastructure | package.json, .github/ | CI/CD and monorepo workspace configuration |
A critical distinction exists between the reference servers maintained in this repository and production servers that should be published to the MCP Server Registry.
Reference servers in this repository are:
Sources: README.md8-11 CONTRIBUTING.md20-22 SECURITY.md7-10
The repository has a selective contribution policy that reinforces its role as a reference collection:
Accepted Contributions:
Rejected Contributions:
Sources: CONTRIBUTING.md15-24 .github/pull_request_template.md7-9
The reference servers exist within a broader ecosystem of MCP components, including SDKs, clients, and the Registry.
Sources: README.md12-23 src/everything/package.json33 src/filesystem/package.json28 src/memory/package.json28
The repository demonstrates usage of the official TypeScript and Python SDKs, but MCP supports a wide range of programming languages README.md14-23:
| Language | SDK Reference |
|---|---|
| TypeScript | @modelcontextprotocol/sdk src/everything/package.json33 |
| Python | python-mcp-sdk README.md19 |
| Others | C#, Go, Java, Kotlin, PHP, Ruby, Rust, Swift README.md14-22 |
The active reference servers serve specific educational purposes:
Educational/Demonstration Servers:
src/everything/) - Comprehensive demonstration of all MCP protocol features including stdio, SSE, and streamableHttp transports README.md29 src/everything/package.json25-27src/sequentialthinking/) - Demonstrates dynamic problem-solving through thought sequences README.md34Practical Utility Servers:
src/filesystem/) - Secure file operations with configurable access controls README.md31src/git/) - Tools to read, search, and manipulate Git repositories README.md32src/fetch/) - Web content fetching and conversion for LLM usage README.md30src/memory/) - Knowledge graph-based persistent memory system README.md33src/time/) - Time and timezone conversion capabilities README.md35Sources: README.md29-35 src/everything/package.json4
Previously maintained reference servers (e.g., Brave Search, GitHub, Slack, SQLite) have been moved to the `servers-archived` repository. These are no longer actively maintained here as many have been replaced by official or community-maintained versions README.md37-53
The repository is managed as a monorepo using npm workspaces for TypeScript projects.
The root package.json defines the workspaces that include all sub-projects in src/* package.json11-13
Sources: package.json1-13 package-lock.json7-19
For detailed information on the build systems and development workflows, see Repository Structure and Package Management.
This introduction provides context for understanding the reference servers. To dive deeper:
Refresh this wiki