Core Concepts
Prompts
Register reusable MCP prompts from src/prompts/.
Prompts are parameterized message templates the model can fetch with prompts/get.
Add a prompt folder
src/prompts/triage/
prompt.tsDefine the prompt
import { definePrompt } from "bitmcp";
export default definePrompt({
name: "triage",
description: "Triage inbox notes",
arguments: [{ name: "tone", required: false }],
async get({ tone }) {
return {
messages: [
{
role: "user",
content: {
type: "text",
text: `Triage inbox notes in a ${String(tone ?? "neutral")} tone.`,
},
},
],
};
},
});Test in dev
pnpm devCall prompts/list and prompts/get with name triage and optional { tone: "formal" }.
Reference
definePrompt options
| Field | Description |
|---|---|
name | Prompt name for prompts/get |
description | Shown in prompts/list |
arguments | { name, description?, required? }[] |
get | Returns { messages } for the host |
complete | Optional completion hook for argument values |
argsSchema | Optional Standard Schema override for arguments |
Prompts are independent from tools. They live under src/prompts/, not inside tool folders.