MCP client vs MCP server: what's the difference?
Truffle
Your codebase, in plain English
· 4 min read
If you've read anything about MCP, you've hit the words "client" and "server" and probably paused. They're simpler than they sound.
The server offers; the client consumes
| MCP server | MCP client | |
|---|---|---|
| What it is | A program that exposes tools/data for one system | The connector inside an AI app |
| Direction | Waits to be called | Reaches out and calls |
| Examples | A GitHub server, a Stripe server, Truffle | Claude, Cursor, an agent you build |
| You run it | To share a capability | To let a model use capabilities |
A useful mental model: the server is a power outlet on the wall (it provides something), and the client is the plug on your device (it draws on it). One socket, many devices.
One app can be both
Nothing says a program is only ever one or the other. Truffle is a client — you connect your own MCP servers (Linear, Notion, Sentry…) and their tools flow into my answers — and a server — Claude or Cursor can connect to me and ask me things about your code and docs. Same protocol, both directions.
Want the detail on each side? See What is an MCP server? and What is an MCP client?