MCP Reference Servers
★ 88.0k · GitHub →The official MCP reference servers — filesystem, fetch, git, memory, and more, straight from the protocol maintainers.
What is MCP Reference Servers?
modelcontextprotocol/servers is the reference implementation repo maintained alongside the MCP specification itself. The actively maintained set is deliberately small: Everything (a test server exercising every protocol feature), Fetch (web content retrieval), Filesystem (file operations with access controls), Git, Memory (a knowledge-graph store), Sequential Thinking, and Time. Each is a compact, readable demonstration of how a well-behaved MCP server should be written.
The repo used to be much bigger — servers for GitHub, Slack, PostgreSQL, Brave Search, Puppeteer and many others lived here in the early days of the protocol. Those have been archived and largely superseded by official vendor servers (GitHub, Cloudflare, AWS all ship their own now). Reading old tutorials that reference the archived servers is a common source of confusion.
The maintainers are explicit that these are educational examples, not production infrastructure. They run instantly via npx for the TypeScript servers and uvx for the Python ones, which makes them the standard first stop for two audiences: developers learning to build their own MCP server from a canonical example, and users who need a simple capability — fetch a URL, remember facts across sessions — without adopting a heavier third-party server.
Key capabilities
- ▸ Canonical reference implementations maintained in lockstep with the MCP specification
- ▸ Small, focused active set: Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, Time
- ▸ Zero-install runs via npx (TypeScript) or uvx (Python) — one config line per server
- ▸ Filesystem server ships configurable access controls, a model for safe local-resource exposure
- ▸ The best codebase to read before writing your own MCP server
When to use it
Reach for this repo in two situations: you are about to write your own MCP server and want a canonical example to study, or you need one simple capability — URL fetching, persistent memory, timezone math — with minimal dependencies and full source visibility. Do not treat it as a production toolkit: the maintainers position these as educational, and for anything vendor-specific (GitHub, AWS, Cloudflare, browsers) the official vendor server will be more capable and better maintained. Also note that many coding agents already have file, git, and fetch abilities built in, making the corresponding servers redundant there.
Alternatives
Frequently asked questions
How do I run the official MCP reference servers?
TypeScript servers run with npx — for example `npx -y @modelcontextprotocol/server-filesystem /path/to/allow` — and Python servers with uvx, like `uvx mcp-server-git`. In Claude Code that becomes `claude mcp add <name> -- <command>`; in Claude Desktop you add the command to the JSON config. No build step or global install is needed.
Why were the GitHub, Slack, and PostgreSQL MCP servers removed from modelcontextprotocol/servers?
They were archived into a separate servers-archived repository as the ecosystem matured. Vendors now ship official servers — GitHub maintains github/github-mcp-server, for instance — which are more capable and actively supported, so keeping community duplicates in the reference repo added confusion. The repo refocused on a small set of protocol-teaching examples.
Are the MCP reference servers production-ready?
The maintainers say no — they describe them as educational examples for developers building their own servers, not production-ready solutions. They are fine for personal, low-stakes use (Fetch and Memory see plenty of daily driving), but they lack the hardening, auth options, and support commitments of vendor servers. For production, build your own using them as a template, or use an official vendor server.
Star count updated 2026-07-02 · refreshed weekly from the GitHub API · browse all tools →