add title field to prompt argument
`PromptArgument extends BaseMetadata`, which includes both name and title -51e093b8eb/schema/2025-06-18/schema.ts (L686-L698)-51e093b8eb/schema/2025-06-18/schema.ts (L294-l309)
This commit is contained in:
parent
b5e344e456
commit
701f6faab6
3 changed files with 19 additions and 6 deletions
|
|
@ -624,6 +624,7 @@ class MyPrompt < MCP::Prompt
|
|||
arguments [
|
||||
MCP::Prompt::Argument.new(
|
||||
name: "message",
|
||||
title: "Message Title",
|
||||
description: "Input message",
|
||||
required: true
|
||||
)
|
||||
|
|
@ -661,6 +662,7 @@ prompt = MCP::Prompt.define(
|
|||
arguments: [
|
||||
MCP::Prompt::Argument.new(
|
||||
name: "message",
|
||||
title: "Message Title",
|
||||
description: "Input message",
|
||||
required: true
|
||||
)
|
||||
|
|
@ -692,6 +694,7 @@ server.define_prompt(
|
|||
arguments: [
|
||||
Prompt::Argument.new(
|
||||
name: "message",
|
||||
title: "Message Title",
|
||||
description: "Input message",
|
||||
required: true
|
||||
)
|
||||
|
|
@ -718,7 +721,7 @@ e.g. around authentication state or user preferences.
|
|||
|
||||
### Key Components
|
||||
|
||||
- `MCP::Prompt::Argument` - Defines input parameters for the prompt template
|
||||
- `MCP::Prompt::Argument` - Defines input parameters for the prompt template with name, title, description, and required flag
|
||||
- `MCP::Prompt::Message` - Represents a message in the conversation with a role and content
|
||||
- `MCP::Prompt::Result` - The output of a prompt template containing description and messages
|
||||
- `MCP::Content::Text` - Text content for messages
|
||||
|
|
|
|||
|
|
@ -3,17 +3,22 @@
|
|||
module MCP
|
||||
class Prompt
|
||||
class Argument
|
||||
attr_reader :name, :description, :required, :arguments
|
||||
attr_reader :name, :title, :description, :required
|
||||
|
||||
def initialize(name:, description: nil, required: false)
|
||||
def initialize(name:, title: nil, description: nil, required: false)
|
||||
@name = name
|
||||
@title = title
|
||||
@description = description
|
||||
@required = required
|
||||
@arguments = arguments
|
||||
end
|
||||
|
||||
def to_h
|
||||
{ name:, description:, required: }.compact
|
||||
{
|
||||
name: name,
|
||||
title: title,
|
||||
description: description,
|
||||
required: required,
|
||||
}.compact
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -113,7 +113,12 @@ module MCP
|
|||
title: "Mock Prompt",
|
||||
description: "a mock prompt for testing",
|
||||
arguments: [
|
||||
Prompt::Argument.new(name: "test_argument", description: "Test argument", required: true),
|
||||
Prompt::Argument.new(
|
||||
name: "test_argument",
|
||||
title: "Test argument title",
|
||||
description: "This is a test argument description",
|
||||
required: true,
|
||||
),
|
||||
],
|
||||
) do |args, server_context:|
|
||||
content = Content::Text.new(args["test_argument"] + " user: #{server_context[:user_id]}")
|
||||
|
|
|
|||
Loading…
Reference in a new issue