What Is MCP (Model Context Protocol), and What It Means for Teams
MCP, the Model Context Protocol, is an open standard that lets an AI application read data and call tools in an outside system through one shared interface, instead of a bespoke integration for every pairing. Anthropic introduced it in November 2024; OpenAI adopted it in March 2025, and it now runs under Claude, ChatGPT, Cursor, and VS Code. The part most explainers skip: the protocol is just the wire. What you put behind it decides whether your team's agents work from the same truth as your people or from whatever files happen to be open.
The problem MCP was built to solve
Before MCP, every connection between a model and a tool was its own small project. You want Claude to read Linear? Write an integration. You want Cursor to read it too? Write another. Three models and four tools is twelve integrations, each with its own auth, its own shape, its own quiet way of breaking. People called it the N times M problem, and it scaled the way that name suggests.
MCP collapses that. You expose a system once, as an MCP server, and any MCP-compatible client can talk to it. The common analogy is a USB-C port for AI: one connector, many devices, no adapter drawer. That framing is right enough to be useful and shallow enough to mislead, so it is worth getting under it.
What the Model Context Protocol actually is
MCP is a client-server protocol. Three roles:
- Host: the AI application the human is using - Claude Code in a terminal, Cursor in the editor, the Claude desktop app.
- Client: the connector inside the host that manages one live connection to one server.
- Server: a process, local or remote, that exposes some system's capabilities - your filesystem, GitHub, a database, your team's knowledge.
Messages travel as JSON-RPC 2.0 over one of two standard transports: stdio, where the host launches the server as a subprocess and they speak over standard in and standard out, and Streamable HTTP, a single HTTP endpoint for remote servers. The host handles capability discovery automatically, so a client can ask any server what it offers and get a typed answer without prearrangement.
The three primitives
A server exposes capabilities in three shapes, and the difference between them is who is in control:
| Primitive | What it is | Who controls it |
|---|---|---|
| Tools | Functions the model can call to take an action (open a PR, query a table) | Model-controlled - the LLM decides when to call |
| Resources | Data the agent can read for context (a file, a record, a decision) | Application-controlled - the host decides what to load |
| Prompts | Reusable templates a user invokes deliberately | User-controlled - the human picks |
That control split is the most important thing on this page and the thing the USB-C metaphor hides. MCP is not one undifferentiated pipe. It draws a line between what the model may do on its own, what the application chooses to feed it, and what a human triggers by hand. If you care about an agent not doing surprising things to your codebase, you start here.
Why "MCP for teams" is a different question
Here is where most write-ups stop, and where the interesting part begins. Everything above describes one model connecting to one set of tools for one developer. Wire one engineer's Claude Code to a GitHub MCP server and they get an agent that can read their repo. Good. Now do it for twenty engineers.
You have not built shared knowledge. You have built twenty agents, each connected to the raw surfaces, each reconstructing context from scratch on every task. The agent reads the code. It does not know why the code is the way it is. The reason a migration runs in two phases, the decision to drop the second Redis cluster, the runbook for the EU flush that one person rewrote in March - none of that is in the repo. It was in a Slack thread, a Linear comment, a standup that nobody wrote down.
MCP gives agents a clean way to reach your data. It says nothing about whether that data is worth reaching. A team with twenty agents pointed at twenty tools has twenty fast ways to be confidently wrong.
The team question is not "can my agent connect over MCP." It is "when it connects, does it reach a pile of raw surfaces, or does it reach the team's actual reasoning - the decisions, the threads, the runbooks - as one thing it can query." That second thing does not exist by default. Somebody has to compile it. This is the same gap we describe in context is the new headcount: the constraint stopped being how many people you have and became how much of what they know your agents can actually see.
Serving a team graph over MCP
This is the layer Ody builds. Ody is the team operating system for AI-native companies: it captures the decisions, context, and runbooks scattered across Slack, Linear, GitHub, Google Docs, standups, and coding agents, and compiles them into one living team knowledge graph - typed, linked, with sources attached.
Then it serves that graph over MCP. So when an engineer's Claude Code or Cursor connects, it is not reading loose files. It is reading the compiled thing. The agent about to change the settlement flow can pull the decision behind it first - the before-to-after diff, the reason, the date - the way a person who asked the right teammate would. That is the difference between an agent that has read your code and an agent that understands your team. MCP is what makes it callable; the graph is what makes it worth calling. We walk through what this feels like day to day in Claude Code, meet your team's context.
Ody is callable from four places, and the graph is the same in all of them: the web for owners, MCP for Claude Code and Cursor, the CLI in a terminal, and Slack in a thread. A decision captured from a standup is there when an agent queries it an hour later. One source of truth, four ways in.
What MCP does not change
MCP makes capability easy to expose, which makes the question of restraint sharper, not softer. A tool the model can call is a tool it can call unsupervised, and "model-controlled" is doing real work in that table above.
Ody draws the line on purpose. It senses continuously and automatically. It acts only when a human says so. A nudge is the ceiling of its autonomy - no silent overwrites, nothing written back to your tools on its own. Over MCP it serves context and surfaces what looks off; it does not reach into your repo and change things because it inferred you wanted that. Least privilege all the way down: it reads only the surfaces you connect, inherits each tool's permissions, and writes back nothing of its own accord. The protocol can carry write actions; whether you let it is a decision you keep making, not one the wire makes for you. You can read how that is enforced on the security page.
The short version
MCP is an open standard that lets AI applications read data and call tools through one shared interface, structured as host, client, and server, speaking JSON-RPC 2.0, with capabilities split into tools, resources, and prompts by who controls them. For a single developer that is a connectivity win. For a team it is the start of a harder question: what do the agents reach when they connect. Point them at raw surfaces and you get twenty fast guesses. Point them at one compiled graph of your team's decisions and reasoning and you get agents that work from the same truth your people do.
If you want your agents reading your team's actual context over MCP instead of guessing from open files, book a demo or join the waitlist.
Common questions
What is MCP (Model Context Protocol) in simple terms?
MCP is an open standard, introduced by Anthropic in November 2024, that defines one way for AI applications to read data and call tools in external systems. Instead of writing a custom integration for every model-plus-tool pair, you expose a system once as an MCP server, and any MCP-compatible client (Claude, ChatGPT, Cursor, VS Code) can use it. People often call it 'a USB-C port for AI.'
What are the three MCP primitives?
An MCP server exposes three kinds of capabilities. Tools are functions the model can call to take action (model-controlled). Resources are data the agent can read for context (application-controlled). Prompts are reusable templates the user invokes (user-controlled). Messages travel as JSON-RPC 2.0 over a standard transport, either stdio for local servers or Streamable HTTP for remote ones.
Why does MCP matter for a team, not just one developer?
On its own, MCP connects one model to one set of tools. The team value comes from what you put behind it. If you expose your team's decisions, threads, and runbooks over MCP, every engineer's coding agent reads the same source of truth that people work from, instead of guessing from whatever files happen to be open. The protocol is the wire; the shared context is the point.
How does Ody use MCP?
Ody compiles signal from Slack, Linear, GitHub, and docs into one team knowledge graph and serves it over MCP. Coding agents like Claude Code and Cursor read that graph directly, so an agent can pull the decision behind a piece of code before changing it. Ody senses continuously but acts only when a human says so; a nudge is the ceiling of its autonomy, and it writes nothing back on its own.