What Are Prompts in MCP?

Filed as AFR/MCP-16 · task class Code modification · all MCP topics

A named template, filled in on request

A prompt in MCP is a named, reusable message template that a server publishes. It carries a name, a description and a list of arguments; a caller asks for it by name with values for those arguments, and the server returns the messages it produces, ready to be sent. Nothing further is called afterwards — what comes back is content, not an ongoing operation.

It is the third primitive alongside tools and resources, and the split between them is by who initiates. A tool is invoked during an exchange, on a decision taken in the moment. A resource is content the application or the person brings in. A prompt is normally something a person chooses: the entry that appears in a menu of things this server knows how to ask for.

What the server returns is a sequence of messages with roles attached rather than a block of text to be pasted somewhere. That distinction is what makes a template portable between applications, because the shape of the exchange survives rather than being flattened into prose. A message may also carry content the server itself publishes as a resource, so a template can arrive with the material it refers to already attached instead of a description of where to find it.

Why the wording belongs next to the server

The reason to publish one is that instructions rot when they live away from the system they concern. A team that has worked out the wording which gets a useful review out of its own codebase can ship that wording next to the server that reaches the codebase, versioned with it, instead of pasting it between people. The template then moves with the integration rather than with whoever wrote it.

Arguments are declared much as a tool’s are, with names and descriptions, and a server may go further and suggest values for one as it is being filled in — the report names it knows about, the branches it can see. That is a convenience for whoever is choosing, and it is also a quiet statement of what a prompt is for: the server knows things about its own domain that the person invoking the template should not have to remember.

Because a prompt is chosen rather than selected automatically, it usually surfaces as something a person can see and pick: a command, a menu entry, an item in a list of what this connection knows how to ask for. That is a consequence of the control model rather than a rule in the specification, which says nothing at all about interfaces, and a host is free to present them however it likes.

A template is not a policy

Publishing a prompt constrains nothing about what the host does with the messages it gets back, and a host is free to ignore the prompts a server offers entirely. It is an offer of wording, not a rule about usage: nothing is enforced by returning it, and nothing about the exchange that follows is the server’s to decide.

How the Registry classifies publishing a reusable template

Publishing a parameterised template through a server so an operator can invoke it is a change to a running integration, which the code modification class covers. On the order form's task class field, select Code modification, which covers writing, editing, refactoring, and testing code. That class has its own page at /tasks/code.

The Registry files this topic under one canonical task, fixed in advance and published here rather than generated per visit:

Publish a reusable named prompt through an MCP server so an operator can invoke it with parameters.

That string, hashed once, is 06b2401ce94fe452… — the first sixteen of sixty-four hex characters. An assessment ordered against a task of this kind is computed from the class, the wording submitted, and the permanent chart the Registry derives for the model configuration named on the order: its ascendant, its ruling planet, and the composite harmony that constrains the range of verdicts available to it. The whole derivation is published at /method.

The risk in prompt work is a template that has outlived the system it was written for, and which is trusted precisely because it ships next to that system. 4 risk factors are tracked for code modification tasks generally; an assessment reports 3 of them, selected by the submitted task's own seed rather than chosen. Their names, severities and descriptions are certificate content and are not published on a free page.

Get Assessment

What this page does not claim

The Registry makes no representation that an assessment predicts the outcome of any task, and no assessment is validated against real-world results.

This page defines a term and states a classification. It publishes no verdict: the Registry does not test implementations, does not measure how often anything works, and has never run the canonical task above against any model. What the template says, which arguments it takes, and who is expected to run it are decisions the canonical brief leaves to the operator.

What is sold is a permanent, numbered assessment for one submitted task at one model configuration — a verdict on a seven-point scale, a recommended execution window, and, above the first tier, the risk factors the class tracks. EUR 1.90 Standard, EUR 4.90 Extended, and EUR 14.90 Full Chart, which adds the permanent chart for the configuration itself. Assessments from EUR 1.90; machine-readable at /pricing.json.

Related surfaces

← All MCP topics · The AFR-1 method · Code modification task class

Related topics: Tools · Resources · MCP host

Questions about a prompt

What is a prompt in MCP?
A named, reusable message template published by a server. It takes arguments, and a caller asking for it by name receives the messages it produces, ready to send.
How is a prompt different from a tool?
A tool is an operation invoked during an exchange and may change something. A prompt returns messages and is normally chosen by a person out of what the server offers.
What does a server return when a prompt is requested?
A sequence of messages with roles attached, ready to be sent. A message may carry content the server publishes as a resource, so a template can arrive with the material it refers to rather than a pointer to it.
Why publish a prompt from a server rather than storing it in the application?
Because it stays with the system it concerns. The wording is versioned alongside the server that reaches that system, instead of being copied between people and applications until nobody knows which copy is current.
Are prompts applied automatically?
Normally not. A prompt is the primitive a person chooses, so it tends to appear as a command or a menu entry in the host application. Whether a server’s prompts are surfaced at all is the host’s decision, and publishing one enforces nothing.