Prompts
A prompt is a reusable prompt template the server defines and the client instantiates. Where a tool does something and a resource is something to read, a prompt is guidance — instructions the server maintains so every client doesn't have to re-implement them.
Instantiating a prompt returns a list of messages you prepend to your model's context.
Discover prompts
const { prompts } = await client.listPrompts();
// → [{ name: "...", description: "...", arguments: [...] }, ...]
Each prompt exposes:
name— the stable identifier, used inprompts/getdescription— when and why to use itarguments— the parameters it accepts (name, description, whether required)
Get a prompt
const result = await client.getPrompt({
name: "<prompt-name>",
arguments: {},
});
// result.messages — role/content pairs to prepend to your conversation
The server fills the template with your arguments and returns the resulting
messages. Prepend them to your own message history before you call your model.
Prompt, tool, or resource
| Use case | Pick |
|---|---|
| Agent behaviour — routing, stop conditions, source rules | prompt |
| Searches, lookups, anything parameterized | tool |
| Reference data the agent reads on demand | resource |
A prompt is instructions (how to act), a tool is a verb (do something), and a resource is a noun (read something).
When to reach for a prompt
Server-defined prompts shine when the server knows best how its own tools should be used:
- Shared policy. Routing rules, stop conditions, and source-attribution guidance live in one place instead of being copied into every agent.
- Updatable without redeploys. Change the prompt server-side; clients pick
up the new guidance on their next
listPromptscall. - Capability-coupled. The server can encode how to compose its own tools — knowledge that would otherwise be hardcoded in each client.
What EDITED MCP serves
The prompt catalogue is environment-specific and grows over time, so rather than
hardcode it here: discover it at runtime with listPrompts (above), or browse
the Reference, which is generated from the live server and lists
exactly what your gateway exposes.