What is MCP? The “USB-C port” connecting AI to databases, GitHub, Slack…
TL;DR
MCP (Model Context Protocol) is an open protocol that lets AI applications connect to external tools and data in a standard way. An MCP server (e.g. GitHub, Postgres) built once works with any MCP client such as Claude, Claude Code or Cursor.
Previously, every AI app that wanted to connect to GitHub, a database or Slack had to write its own integration: N apps times M systems meant N×M connectors. MCP (Model Context Protocol) is an open protocol that solves this with a shared standard, often compared to a "USB-C port" for AI: an MCP server (for GitHub, Postgres…) written once works with every MCP-capable client such as Claude, Claude Code or Cursor.
Three roles
| Component | Role | Examples |
|---|---|---|
| Host | The application the user interacts with | Claude Desktop, Claude Code, IDEs |
| Client | A 1-to-1 connection to one server, living inside the host | Created automatically when you add a server |
| Server | Provides capabilities to the AI | GitHub, filesystem, Postgres, Slack |
Clients and servers talk JSON-RPC; servers can run locally (over stdio) or remotely (over HTTP).
What does a server provide?
- Tools: actions the AI can call (create an issue, run a query, send a message).
- Resources: data to read (files, records, documents).
- Prompts: prebuilt prompt templates invoked like commands.
Example configuration
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<least-privilege token>" }
}
}
}
Package names and parameters vary per server; read your server's docs. The key point: the token should have only the minimum permissions needed.
Security risks
- Servers run with your permissions. Only install from trusted sources and read the source code where possible.
- Least privilege: use narrowly scoped tokens; prefer read-only access to production databases.
- Prompt injection: data a server returns (an issue, an email) may contain malicious instructions. Avoid combining access to untrusted data, access to sensitive data and the ability to send data out in the same session.
- Confirm write actions: keep permission prompts on for tools that change data.
Context cost
Every server adds its tool definitions to context. Installing many servers at once bloats context, raises cost and makes the agent more likely to pick the wrong tool. Disable servers you aren't using in the current session.
MCP or a skill?
| Need | Choose |
|---|---|
| Connect an external system, shared across several apps | MCP server |
| A workflow/instructions for one agent, little dependency on external systems | Skill (simpler) |
| A simple one-off API call | Possibly just a script or CLI command |
How to apply it
- Dev: start small; a filesystem or GitHub MCP is enough to see the value.
- Tech Lead: keep a list of approved servers and conventions for token permissions; review them like dependencies.
- PM: MCP is the foundation for AI working with Jira, documents and internal data, but it needs a security policy before scaling up.
Sources & references
- Architecture overview — Model Context Protocol