This Week in AI
  Anthropic Opus 5: Half Fable 5's Price, Near Its Score  Model Context Protocol: The Repo Behind Every MCP Tool  Claude Cookbook  Chinese Open-Source AI Models: Kimi K3, Qwen 3.8, GLM 5.2  Claude Skills Repos Take Over GitHub Trending  ChatGPT Voice Mode Now Controls Your Computer  Trending GitHub Repos: OpenCode, Firecrawl & 5 More  Claude Cookbook: Anthropic's Official Recipe Hub Goes Viral
GitHub Weekly Wins

Model Context Protocol: The Repo Behind Every MCP Tool

GitHub Weekly Wins: the Model Context Protocol GitHub repo hit 8,683 stars. What's inside the MCP spec, who needs it, and the token cost nobody mentions.

Model Context Protocol: The Repo Behind Every MCP Tool

> **TL;DR:** The Model Context Protocol GitHub repo (modelcontextprotocol/modelcontextprotocol) is the canonical home of the MCP specification, its protocol schema, and the official docs at modelcontextprotocol.io. At 8,683 stars it is the most load-bearing repository in today's agent-tooling stack: the schema is authored in TypeScript first and published as JSON Schema for every other language. If you build MCP servers or clients, this is the source of truth you should be pinning against — not your SDK's README.

Key Takeaways

- modelcontextprotocol/modelcontextprotocol holds the MCP spec, protocol schema, and official documentation in one place — 8,683 stars, primarily TypeScript. - The schema is defined in TypeScript first and also published as JSON Schema, so any language can generate conformant types without hand-rolling the wire format. - Schema revisions are versioned by date (the README points at the 2025-11-25 revision), which means you can and should pin to a revision instead of tracking main. - MCP is not free context: every tool listing and tool result consumes context window, so pre-synthesized summaries often beat live tool calls for stable knowledge. - GitHub's API does not resolve this repo's license to a standard identifier — read the LICENSE file yourself before vendoring schema files into a commercial product.

If you clone one repository this week, make it the spec. `modelcontextprotocol/modelcontextprotocol` is the canonical home of the Model Context Protocol — the specification, the protocol schema, and the official documentation, all in a single tree. At **8,683 stars** it is not the loudest repo on GitHub. It is, however, the most load-bearing one in the current agent-tooling stack, because every MCP client, every MCP server, and every half-finished connector in someone's `~/projects` folder is ultimately conforming to what lives here.

One caveat up front, and it's a deliberate one: this week's roundup is a single entry deep. Every repo we publish in [GitHub Weekly Wins](https://speka.info/github-weekly-wins/) is verified against the GitHub API before it goes live — description, star count, primary language, license. Exactly one candidate cleared that bar this cycle, so rather than pad the list with unverified links, we're going deep on the one that matters.

modelcontextprotocol/modelcontextprotocol — the reference spec for agent tool access

**What it is.** A specification repository, not a framework. It contains three things: the MCP specification prose, the MCP protocol schema, and the official MCP documentation. The schema is authored in TypeScript first and then published as JSON Schema for wider compatibility — a small decision with large downstream consequences, which we'll get to. The documentation is built with Mintlify and served at [modelcontextprotocol.io](https://modelcontextprotocol.io), so the site you land on when you search "MCP docs" is generated from this repo rather than maintained separately. The protocol was created by David Soria Parra and Justin Spahr-Summers, and the repo's primary language is listed as TypeScript on account of the schema definitions.

**Why it matters.** Most developers meet MCP through an SDK — they install a package, copy a server template, and ship. That works until it doesn't: until a client rejects a message shape, until two implementations disagree about an optional field, until you need to explain to a security reviewer exactly what a tool call is permitted to do. A spec repo is what you escalate to at that point. It is the arbiter, and it removes the guesswork that comes from reverse-engineering behaviour out of somebody else's client.

The TypeScript-first-plus-JSON-Schema arrangement is the practical win here. JSON Schema is the lingua franca of code generation, which means a Python, Go, Rust, or Java implementation can generate conformant request and response types straight from the published artifact instead of transcribing a prose spec by hand. Hand-transcription is where subtle interop bugs are born — an optional field treated as required, an enum missing a variant, a nullable that isn't. Generating from the schema deletes that entire class of defect.

The schema is also versioned by dated revision — the README points at the `2025-11-25` revision — which tells you something useful about how to consume this repo. You are meant to pin. Protocol revisions are addressable directories, not a moving target on `main`, so a production server can declare exactly which revision it speaks and upgrade on its own schedule.

**Who it's for.** Server authors who need to know what "correct" actually means. Client and host implementers, who need the full surface rather than the happy path. SDK maintainers in any language, who should be generating from the JSON Schema. Platform teams building internal connectors that have to pass a security review. And, less obviously, technical writers and PMs — because the documentation lives in the same repo as the spec, a docs fix is a normal pull request rather than a ticket filed into someone else's backlog.

**GitHub:** [modelcontextprotocol/modelcontextprotocol](https://github.com/modelcontextprotocol/modelcontextprotocol) — 8,683 stars · TypeScript · docs at [modelcontextprotocol.io](https://modelcontextprotocol.io)

![Diagram-style illustration showing a TypeScript schema definition branching into multiple language-agnostic generated artifacts.](https://supabase.srv1729373.hstgr.cloud/storage/v1/object/public/blog-images/speka-info/model-context-protocol-github-spec-repo-1-eb072ea3ce58411c.png)

Three things worth knowing before you open the repo

It is a spec, so read it like one

The instinct with a starred repo is to look for `examples/` and start running things. That's the wrong posture here. This repository's job is to be precise, and the payoff comes from reading the message definitions carefully once rather than skimming them five times. Budget an afternoon, not a coffee break, and treat the schema as the authoritative document with the prose as commentary.

The docs and the spec ship together

Because the official documentation is built out of this repo, the gap between "the spec changed" and "the docs say so" is a pull request rather than a coordination problem across two teams. For anyone who has fought a protocol whose documentation lagged reality by two releases, this is not a small quality-of-life detail. It also means documentation contributions are a genuinely low-friction way into the project if you want to get involved without touching the wire format.

The license does not resolve cleanly — check it yourself

GitHub's API does not map this repository to one of its standard license identifiers. That is not a red flag, but it does mean automated license scanners in your CI may flag it as unrecognised, and it means you should open the `LICENSE` file and read it before vendoring schema files into a commercial product. Two minutes of reading now beats a conversation with legal later.

The part the quickstarts skip: MCP context is not free

Here is the engineering reality that rarely makes it into a getting-started guide. MCP is a mechanism for pulling context from external tools into a model's working context — and everything it pulls occupies that context window. Tool definitions occupy it. Tool results occupy it. A server that exposes forty tools is spending tokens on forty tool descriptions before the model has done anything useful, on every single turn.

That cost is worth paying when the data is live, volatile, or too large to precompute: current ticket state, a database query, a file that changes hourly. It is a poor trade when the underlying information is stable. For stable knowledge, a pre-synthesised digest — an internal wiki page, a generated summary document, a curated context file that the agent reads once — is dramatically cheaper than making the model discover and call tools to reassemble the same picture every session.

The practical implications, in order of how much they'll save you:

1. **Keep the tool surface narrow.** Expose the tools a given agent actually needs, not everything your server can do. Split large servers by role if you have to. 2. **Precompute what doesn't change.** If the answer was the same yesterday, it probably doesn't need a live tool call today. This is the same discipline behind good prompt engineering generally — the pattern library in our [Claude Cookbook](https://speka.info/blog/claude-cookbook) walkthrough is a reasonable starting point for structuring that kind of reusable context. 3. **Return summaries, not dumps.** A tool that returns 8,000 tokens of raw JSON is a tool that will get your agent truncated. Shape the response at the server, where you have cheap compute, rather than making the model do it with expensive ones. 4. **Pin the schema revision.** Dated revisions exist so you can upgrade deliberately. Use them.

None of this is an argument against MCP. It's an argument for treating context as the scarce, metered resource it is — and the spec repo is where you go to understand precisely what you're spending it on.

![Illustration of a bounded rectangular container partially filled with stacked colored blocks, representing a finite context window being con](https://supabase.srv1729373.hstgr.cloud/storage/v1/object/public/blog-images/speka-info/model-context-protocol-github-spec-repo-2-73a86799471ba30a.png)

Why a protocol repo beats a framework repo

The broader reason MCP earns its place at the top of a roundup is that protocols outlive their implementations. Frameworks get abandoned, rewritten, and forked; a well-specified wire format keeps working while the tooling around it churns. That property is becoming more valuable, not less, as the model layer fragments — the surge in capable open-weight releases we covered in [Chinese open-source AI models](https://speka.info/blog/chinese-open-source-ai-models-kimi-k3-qwen-3-8-glm-5-2) means the assumption that your agent stack talks to exactly one vendor's model is no longer safe. A shared tool-access protocol is what keeps that fragmentation from turning into N separate integration projects.

It's the same dynamic we saw in the [Claude Skills repos that took over GitHub trending](https://speka.info/blog/claude-skills-repos-take-over-github-trending): the repositories that accumulate durable stars are the ones defining shared interfaces and reusable conventions, not the ones wrapping this month's API in a slightly nicer client. Specs compound. Wrappers depreciate.

What we're watching next

Two things. First, whether the dated-revision cadence holds — a protocol that ships predictable, addressable revisions is one that enterprises can actually adopt, and that's the single best signal of MCP's trajectory. Second, how many non-TypeScript implementations move to generating types from the published JSON Schema rather than hand-writing them. That migration is invisible from the outside and is where interoperability is either won or quietly lost.

More verified repositories next week in [GitHub Weekly Wins](https://speka.info/github-weekly-wins/).

Frequently Asked Questions

What is the Model Context Protocol GitHub repo?

`modelcontextprotocol/modelcontextprotocol` is the official repository holding the Model Context Protocol specification, its protocol schema, and the official MCP documentation published at modelcontextprotocol.io. It has 8,683 stars and is primarily TypeScript.

Is the MCP schema only usable from TypeScript?

No. The schema is defined in TypeScript first, but it is also published as JSON Schema specifically for wider compatibility, so implementations in any language can generate conformant types from it.

Who created the Model Context Protocol?

MCP was created by David Soria Parra and Justin Spahr-Summers, both credited in the repository's README.

Does using MCP cost extra tokens?

Yes, in practical terms. Tool definitions and tool results both consume space in the model's context window on every turn, so a broad tool surface or verbose tool responses can burn context quickly. For information that rarely changes, a pre-synthesised summary document is usually cheaper than repeated live tool calls.

What license is the MCP specification repo under?

GitHub's API does not resolve it to one of its standard license identifiers, so automated scanners may flag it as unrecognised. Read the LICENSE file in the repository directly before vendoring any schema files into a commercial product.

Should I read the spec repo or just use an SDK?

Start with an SDK to ship, but read the spec when behaviour surprises you, when two implementations disagree, or when you need to document exactly what a tool call can do for a security review.

Sources

- https://github.com/modelcontextprotocol/modelcontextprotocol

← Back to all posts