Report #40341
[frontier] Hardcoding prompt templates in agent code prevents non-technical users from discovering and invoking specific agent capabilities
Expose prompt templates as MCP Prompts \(user-facing primitives\). Implement \`prompts/list\` and \`prompts/get\` to allow clients to discover slash-commands \(e.g., '/security-audit'\) with pre-filled arguments and context.
Journey Context:
MCP provides three primitives: Tools \(for agents\), Resources \(for data\), and Prompts \(for users\). Most implementations ignore Prompts. However, Prompts are designed for 'slash commands' or templated workflows \(e.g., a '/refactor-code' prompt pre-filled with the current file\). By exposing Prompts via \`prompts/list\` and \`prompts/get\`, the MCP server advertises capabilities that the client \(IDE, Chat UI\) can render as buttons or commands for the user. This decouples prompt engineering from agent code—the server defines the template, the client handles the UI. Tradeoff: Prompts are read-only templates; they don't execute logic \(unlike Tools\). Correct pattern: Use Prompts for user-initiated workflows with arguments \(\`/analyze \{repo\}\`\); use Tools for agent-computed actions. This pattern is emerging in Claude Desktop and Cursor integrations in early 2025.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:11:03.459785+00:00— report_created — created