Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

MCP servers expose three core primitives: prompts, resources, and tools. They serve different purposes: prompts provide selectable templates, resources provide application-managed context, and tools let a model invoke functions. What a server returns depends on the specific prompt, resource, tool, and data involved—not on a universal MCP response body.

What are the three MCP primitives?

MCP defines three ways a server can make functionality or context available to a client. Their typical control patterns differ, but implementations may present them through different interfaces.

Primitive What it provides Typical control pattern
Prompts Templates or instructions that a client can expose for people to select and customize User-selected
Resources Contextual data or content identified by URIs, such as file contents Application-managed
Tools Executable functions, which can retrieve information, query APIs, or take actions Model-invoked

The distinction is useful when deciding how a capability should be used: a prompt offers a prepared starting point, a resource supplies context, and a tool performs a function. The labels describe the default design, not a mandatory user interface. The official MCP overview of server primitives describes these capabilities.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What does an MCP server return?

An MCP server returns responses shaped by the operation and its implementation. A tool result might contain readable text, structured data, or media content; reading a resource returns that resource’s contents; and getting a prompt can return a completed message. The protocol supports these different forms, but it does not make separate servers return identical data.

For tools, the specification describes a model-controlled pattern: “Tools in MCP are designed to be model-controlled, meaning that the language model can discover and invoke tools automatically based on its contextual understanding and the user’s prompts.” The same specification recommends a human-visible interface and an ability for a person to deny tool invocations. The exact interface is an implementation choice. See the MCP tools specification.

What does the in-memory orders server return?

The official TypeScript SDK guide demonstrates a client talking to an in-memory SDK example orders server. It illustrates discovery, a tool call, a resource read, and a prompt request; it is not a live production order-system query.

Tools: names and a text result

The example advertises three tools: lookup-order, order-total, and export-orders. Calling lookup-order with { id: 'A-1041' } returns one text content item: A-1041: 3 items, shipped.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Resource: JSON content

Reading orders://recent returns content with the application/json MIME type and the JSON array ["A-1041","A-1042"].

Prompt: a completed message

The summarize-order prompt, after its arguments are substituted, returns a user-role text message: Write a terse status update for order A-1041.

These outputs are documented by the official TypeScript SDK client guide. They show concrete response shapes from that in-memory example, not universal outputs for other servers.

What does the filesystem reference server return?

The official filesystem reference server exposes tools including read_text_file, read_media_file, read_multiple_files, write_file, and list_directory. Its documented read and write access is limited to configured or root-provided allowed directories.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Text files

A text-file read returns a text content block containing the file text, along with structuredContent that has a content field.

Media and other binary files

For image or audio MIME types, media reads return base64 image or audio content blocks. Other binary files are returned as embedded-resource content with a URI and MIME type.

The response reflects the handler and the file it reads. MCP standardizes the response envelope and supported content forms; it does not prescribe the contents of every file or make every filesystem server return the same data. The examples and access details are in the official filesystem reference server.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to interpret an MCP server example

When assessing what a server can do or what its response means, check the capability and the surrounding implementation—not just the primitive’s name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Capabilities: Which primitives does the server expose?
  • Tool contract: What are each tool’s name, description, input schema, and output schema?
  • Response shape: Is the result text, structured content, media, or an embedded resource?
  • Access: What data or actions can the server reach?
  • Evidence type: Is the example in-memory, a reference implementation, or a deployed service?

The official MCP servers repository describes its maintained servers as demonstrations of protocol features and SDK usage, not production-ready solutions. Treat their outputs as implementation examples, not evidence of live production behavior.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.