McpServer.Prompt (HTTP MCP Server v0.6.0)

View Source

Represents a prompt template definition.

This module defines the structure for MCP prompts, which are interactive message templates with argument completion support.

Fields

  • name - Unique prompt identifier
  • description - Human-readable description
  • arguments - List of argument definitions for the prompt

Examples

iex> prompt = McpServer.Prompt.new(
...>   name: "code_review",
...>   description: "Generates a code review prompt",
...>   arguments: [
...>     McpServer.Prompt.Argument.new(
...>       name: "language",
...>       description: "Programming language",
...>       required: true
...>     )
...>   ]
...> )
%McpServer.Prompt{
  name: "code_review",
  description: "Generates a code review prompt",
  arguments: [%McpServer.Prompt.Argument{...}]
}

Summary

Functions

Creates a new Prompt struct.

Types

t()

@type t() :: %McpServer.Prompt{
  arguments: [McpServer.Prompt.Argument.t()],
  description: String.t(),
  name: String.t()
}

Functions

new(opts)

@spec new(keyword()) :: t()

Creates a new Prompt struct.

Parameters

  • opts - Keyword list of prompt options:
    • :name (required) - Unique prompt identifier
    • :description (required) - Human-readable description
    • :arguments - List of Prompt.Argument structs (default: [])

Examples

iex> McpServer.Prompt.new(
...>   name: "greet",
...>   description: "A friendly greeting"
...> )
%McpServer.Prompt{
  name: "greet",
  description: "A friendly greeting",
  arguments: []
}

iex> McpServer.Prompt.new(
...>   name: "greet",
...>   description: "A friendly greeting",
...>   arguments: [
...>     McpServer.Prompt.Argument.new(
...>       name: "user_name",
...>       description: "Name of the user",
...>       required: true
...>     )
...>   ]
...> )
%McpServer.Prompt{name: "greet", arguments: [%McpServer.Prompt.Argument{...}]}