Attribute Macro mcp_prompt

Source
#[mcp_prompt]
Expand description

Automatically generates MCP prompt definitions from Rust functions.

This macro transforms regular Rust functions into MCP prompts with automatic argument validation and prompt message generation.

§Basic Usage

use pulseengine_mcp_macros::mcp_prompt;

#[mcp_prompt(name = "code_review")]
async fn generate_code_review(&self, code: String, language: String) -> Result<PromptMessage, Error> {
    // Generate prompt for code review
}

§With Custom Configuration

#[mcp_prompt(
    name = "sql_query_helper",
    description = "Generate SQL queries based on natural language",
    arguments = ["description", "table_schema", "output_format"]
)]
async fn sql_helper(&self, description: String, table_schema: String, output_format: String) -> Result<PromptMessage, Error> {
    // Implementation
}

§Parameters

  • name: Optional custom prompt name (defaults to function name)
  • description: Optional custom description (defaults to doc comments)
  • arguments: Optional array of argument names for documentation

§Features

  • Argument Validation: Automatic validation of prompt arguments
  • Type Safety: Compile-time validation of parameter types
  • Auto-Documentation: Uses function doc comments as prompt descriptions
  • Error Handling: Converts function errors to MCP protocol errors
  • Schema Generation: Automatic argument schema generation

§References