AI Agents Guide

What is an MCP server, in plain terms

By the engineer who builds Datadef, from client work on data platforms · Reviewed August 21, 2026

The Model Context Protocol is a small idea with a heavy name. It is a standard shape for one thing: an AI client calling software it does not own. Before it existed, every assistant needed a bespoke integration with every service. After it, a service publishes one server and any compliant client can use it. This page explains the parts you actually touch, using a diagram server as the worked example.

6 min readFor engineers who keep seeing MCP mentioned and want the mechanics without the hype

See it as a diagram

Everything below, as a diagram you can edit. Describe yours and see it in seconds.

152/20003 credits left
Try:

No account needed · Editable canvas, not a picture

The problem it solves

A model can only act through something you gave it. Every product that wanted an assistant integration used to ship its own connector, with its own auth, its own error shapes, and its own idea of what a tool call looks like. Each new client meant another integration.

MCP fixes the shape rather than the feature. A server declares what it can do in a standard format, a client discovers that declaration, and the model picks from it. The same Datadef server answers Claude Code, Cursor, VS Code, Claude Desktop, Codex, Gemini CLI, and ChatGPT without a client-specific build.

What a server actually exposes

Three kinds of thing: tools, which the model can call; prompts, which are reusable instructions a user can invoke; and resources, which are readable content. Tools are where nearly all the value sits today, because clients surface them reliably and prompts less so.

A concrete inventory helps. The Datadef server publishes 36 tools. Nine operate on whole diagrams: get_design_guide, create_diagram, create_blank_diagram, list_diagrams, get_diagram, edit_diagram, export_diagram, repo_status, repo_refresh. The other 27 are canvas operations, prefixed canvas_, covering nodes, edges, zones, column lineage, layout, measurement, and validation. There is also one prompt, datadef_design_guide, carrying the same design standard as the tool version, because many clients never show prompts to the model.

The interesting one is not a drawing tool. get_design_guide returns the size, edge, and zone standard that the in-app generator follows, so an agent that reads it first produces something indistinguishable from a generated diagram, and an agent that skips it produces exactly what the standard exists to prevent.

What connecting means in practice

Servers come in two transports. Local ones run as a process on your machine and speak over stdio. Remote ones are an HTTP endpoint you point a client at, with a bearer token for auth. Datadef is remote: a Streamable HTTP endpoint at https://datadef.io/mcp. Desktop clients that only speak stdio bridge to it through the mcp-remote package, which forwards the Authorization header.

Discovery does not require credentials on this server. Seven JSON-RPC methods answer without a key: initialize, notifications/initialized, ping, tools/list, prompts/list, resources/list, and resources/templates/list. None of them executes anything or reads user data. tools/call is the one that still returns 401.

That split is worth knowing if you ever publish a server. Directory crawlers and registry health checks run in containers with no credentials, and while initialize sat behind auth they recorded the server as having zero tools. Opening the handshake and the listings is what lets a scorer, or a curious agent, read the whole tool surface before a key exists.

# See what a remote MCP server offers, before connecting anything
curl -s https://datadef.io/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

# -> 36 tools, with descriptions and input schemas.
# tools/call without a bearer token returns 401.

What MCP is not

It is not a background job system. A tool runs when a model calls it inside a live session, and nothing continues after the session ends. An MCP server cannot watch your repository, notice a merge, or wake up on a schedule, and any product describing that behaviour is doing it with something other than MCP. At Datadef that something is repository sync, which regenerates connected diagrams daily on its own.

It is also not a data pipeline into the model. The server sees the arguments of the calls it receives and nothing else. A diagram server that has no tool accepting source files never receives source files, whatever the client happens to have open.

Reading the tool list is the fastest audit

Before you connect any MCP server, list its tools and read the input schemas. What a server can receive is exactly what its schemas accept. The Datadef setup snippets per client live in the MCP docs.

FAQ

What does MCP stand for, and who defines it?

Model Context Protocol. It is an open protocol published by Anthropic that defines how an AI client discovers and calls capabilities on a server it does not own. A server declares its tools with descriptions and input schemas, the client reads that declaration at connection time, and the model chooses from it. The practical consequence is that a service integrates once instead of once per assistant.

Is an MCP server the same thing as an API?

It wraps one, usually. The difference is that an MCP server declares its capabilities in a form a model can discover and choose from at runtime, including natural-language descriptions and input schemas, whereas a REST API expects a developer to have read the documentation and written the call in advance.

Does connecting an MCP server give it access to my files?

A server receives only the arguments of the tool calls the client makes. It cannot browse your machine. If a server has no tool that accepts file contents, it cannot receive file contents. Local file access belongs to the client, which is the thing running on your machine.

Can an MCP server do work while I am not there?

No. Tools execute only during a session, in response to a call from the model. Anything that happens on a schedule is a separate mechanism on the service side, not the protocol.

How do I know what a server can do before I install it?

Ask it. A standard tools/list request returns every tool with its description and input schema, and many servers answer that without authentication. Reading those schemas tells you precisely what data the server can receive, because a server can only receive what its schemas accept. On the Datadef server the handshake and all four listing methods answer anonymously, and only tools/call requires a key.