What MCP is, and what a tool call actually returns

The Model Context Protocol is a small JSON-RPC contract between an AI application and the services it can use. Once you have seen one tool call on the wire, the rest of the protocol stops being mysterious.

Ask a language model to write 1987 in Roman numerals and it will usually get it right. Ask it to spell out 975.07 as words for a cheque, convert a timestamp in a timezone it has never heard of, or tell you whether a domain has mail servers right now, and "usually" stops being good enough. The model is predicting text. Some questions need a computation or a lookup, and the honest move is to hand them to something that does that job deterministically.

That handoff is a tool call, and the Model Context Protocol (MCP) is the standard way to wire one up. It is an open protocol, published at modelcontextprotocol.io, that defines how an AI application discovers what a service can do and asks it to do it. This lesson takes it apart: the three kinds of thing a server can offer, who the parties are, what goes over the wire, and how the model ends up choosing a tool at all.

Tools, resources and prompts

An MCP server can expose three kinds of capability. The difference between them is not the data format. It is who decides when they are used.

PrimitiveControlled byWhat it isTypical example
ToolsThe modelA function with a name, a description and a JSON Schema for its arguments. The model decides to call it.Convert a number to words, validate an email, query a database
ResourcesThe applicationRead-only context identified by a URI, which the host app chooses to attach.A file, a database schema, a document
PromptsThe userA reusable template the user picks, often surfaced as a slash command."Summarise this pull request"

Most of the attention goes to tools, because tools are where an agent gains the ability to act on the world rather than just talk about it. Resources are the right shape for context that the app already knows it wants loaded. Prompts are a way for a server author to ship a well-tuned instruction alongside the capability it drives.

The APIVerve MCP server implements tools only. Its documentation is explicit: it answers initialize, tools/list and tools/call, and there are no resources or prompts, because the catalog is a set of callable endpoints and there is nothing static to mount. That is a perfectly normal server profile. Many production servers expose only tools.

Check yourself

A server author wants the host application, not the model, to decide when a project's database schema is loaded into context. Which primitive fits?

Answer the check above to continue.

Run every example on your own key. Free plan, no card.

Scaling up?

Volume pricing, custom SLAs, and dedicated support for high-traffic teams.

Contact sales