Reference MCP Servers
The canonical implementations to read before writing your own
The Model Context Protocol organisation maintains a set of reference servers covering filesystem, fetch, git, memory and sequential thinking. They are useful as tools and more useful as the clearest available specification of how a server should behave.
Read these before you build one
Every question about how to shape a tool, name an argument, describe a resource or report an error is answered somewhere in this repository. Reading the filesystem server end to end is a faster education than any amount of protocol documentation.
The filesystem server in particular shows how to constrain a server to specific directories, which is the pattern every server touching a real machine should copy.
As tools in their own right
The fetch server gives an agent web access with a defined boundary. The git server exposes repository history in a structured form. Both are small enough to audit before you trust them, which is not true of most servers you will install.
Note that some servers here are explicitly reference material rather than production software. Read the repository's own guidance on which are archived before depending on one.
Reach for it when
- you are writing your own MCP server and want a correct model to copy
- you want a small server you can actually audit before trusting it
- you need filesystem access scoped to specific directories
Watch out for
- some entries are reference material rather than maintained products, so check before depending on one
- a filesystem server is only as safe as the directories you scope it to
- the fetch server can reach any URL, which is worth thinking about before enabling it
Compare with these
- MCP serversFree
Chrome DevTools MCP
Let the agent open the page and read what actually rendered
- mcp
- browser
- chrome
Apache-2.0Read - MCP serversFree
Playwright MCP
Browser automation through the accessibility tree instead of pixels
- mcp
- browser
- playwright
Apache-2.0Read - MCP serversFree tier
Context7
Current library documentation, fetched instead of remembered
- mcp
- documentation
- context
MITRead