MCP Reference Servers vs Model Context Protocol

Both are catalogued under Protocols & Interop. The figures come from the GitHub API; the assessments are ours.

At a glance

At a glanceMCP Reference ServersModel Context Protocol
LicenseMITApache-2.0 / CC-BY-4.0
LanguagesTypeScript, PythonTypeScript
DeploymentRuns locally / Self-hosted
MaturityEstablishedEstablished
Stars89.6k9k
Star growth over the last 7 days+14 ★
Forks11.5k1.7k
Open issues512175
Last commit10 Aug 202614 Aug 2026
ActivityActiveActive

What each one does

MCP Reference Servers

The clearest way to understand the Model Context Protocol is to read servers that implement it correctly, and this is that collection. Useful both as working connectors and as the template to copy when writing your own.

Full entry →

Model Context Protocol

The document every MCP client and server is measured against: a TypeScript schema published alongside a JSON Schema, plus the prose defining what a conforming implementation must do. Anthropic donated it to the Linux Foundation's Agentic AI Foundation in December 2025, and the licence is mid-transition — new code and specification text under Apache-2.0, documentation under CC-BY-4.0, and contributions whose authors have not consented to relicensing still MIT. Read it when an SDK's behaviour surprises you, but it is a document rather than a dependency: shipping anything still means picking one of the language SDKs.

Full entry →

What you can do

MCP Reference Servers

  • Expose files and git reposThe Filesystem server takes an allowed-directory argument and the Git server takes --repository, so a client gets scoped file operations plus repository read, search and history tools.
  • Start a server without installingTypeScript servers run straight from npx -y @modelcontextprotocol/server-memory and Python ones from uvx mcp-server-git, added to a client's mcpServers block in a few lines (Windows entries wrap npx in cmd /c).
  • Add memory and web fetchingThe Memory server keeps a knowledge graph that persists across sessions, Fetch converts web pages into text sized for an LLM, and Time handles timezone conversion.
  • Test your own MCP clientThe Everything server is the repo's reference and test server, exposing prompts, resources and tools together so a client implementation can be checked against all three.
  • Look elsewhere for production serversOnly the seven servers the MCP steering group maintains live here, and the README calls them educational examples rather than production-ready solutions; published servers are listed on the MCP Registry, and the old GitHub, Slack, PostgreSQL and SQLite ones moved to servers-archived.

Model Context Protocol

  • Read the schema, not the summaryThe protocol is defined in TypeScript at schema/<revision>/schema.ts and published as JSON Schema for toolchains that cannot consume it, so the authoritative answer to what fields a message carries is a file in this repository rather than any SDK's documentation.
  • Know which dated revision you are onRevisions are YYYY-MM-DD strings that advance only when a backwards-incompatible change lands, so a compatible improvement ships without moving the version. The current revision is 2026-07-28; 2025-11-25 and earlier are the handshake-based ones.
  • Negotiate per request, not per sessionFrom 2026-07-28 the version travels on every request as io.modelcontextprotocol/protocolVersion inside _meta, and in the MCP-Protocol-Version header on Streamable HTTP. A server rejects each request independently with UnsupportedProtocolVersionError listing what it supports, and server/discover is a mandatory RPC returning supported versions, capabilities and identity in one call.
  • Opt into extensions instead of waiting for the coreTasks give long-running operations durable handles with polling and mid-flight input, MCP Apps render charts, forms and video players inline in a conversation, and two authorization extensions cover machine-to-machine and enterprise-managed access. Extensions are disabled by default: the client advertises support in io.modelcontextprotocol/clientCapabilities on every request and the server in its server/discover result, so a feature exists only once both ends have opted in.
  • Do not expect the protocol to enforce safetyThe specification states that MCP cannot enforce its security principles at the protocol level: tool annotations are to be treated as untrusted unless the server is trusted, and consent flows are left to the host. Who may call which tool is your problem, or a gateway's.
  • Find the running code in sibling repositoriesThis repository holds the specification and documentation only. The reference servers, the community registry and the official Python, TypeScript, Go, C#, Rust, Java, Kotlin, PHP, Swift and Ruby SDKs are separate repositories in the same organisation, each on its own release cadence — so support for a new revision arrives after the revision does, and which one you can actually speak depends on the SDK.