Skip to content

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ class MyPrompt < MCP::Prompt
624624
arguments [
625625
MCP::Prompt::Argument.new(
626626
name: "message",
627+
title: "Message Title",
627628
description: "Input message",
628629
required: true
629630
)
@@ -661,6 +662,7 @@ prompt = MCP::Prompt.define(
661662
arguments: [
662663
MCP::Prompt::Argument.new(
663664
name: "message",
665+
title: "Message Title",
664666
description: "Input message",
665667
required: true
666668
)
@@ -692,6 +694,7 @@ server.define_prompt(
692694
arguments: [
693695
Prompt::Argument.new(
694696
name: "message",
697+
title: "Message Title",
695698
description: "Input message",
696699
required: true
697700
)
@@ -718,7 +721,7 @@ e.g. around authentication state or user preferences.
718721

719722
### Key Components
720723

721-
- `MCP::Prompt::Argument` - Defines input parameters for the prompt template
724+
- `MCP::Prompt::Argument` - Defines input parameters for the prompt template with name, title, description, and required flag
722725
- `MCP::Prompt::Message` - Represents a message in the conversation with a role and content
723726
- `MCP::Prompt::Result` - The output of a prompt template containing description and messages
724727
- `MCP::Content::Text` - Text content for messages

lib/mcp/prompt/argument.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,22 @@
33
module MCP
44
class Prompt
55
class Argument
6-
attr_reader :name, :description, :required, :arguments
6+
attr_reader :name, :title, :description, :required
77

8-
def initialize(name:, description: nil, required: false)
8+
def initialize(name:, title: nil, description: nil, required: false)
99
@name = name
10+
@title = title
1011
@description = description
1112
@required = required
12-
@arguments = arguments
1313
end
1414

1515
def to_h
16-
{ name:, description:, required: }.compact
16+
{
17+
name: name,
18+
title: title,
19+
description: description,
20+
required: required,
21+
}.compact
1722
end
1823
end
1924
end

test/mcp/prompt_test.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,12 @@ def template(args, server_context:)
113113
title: "Mock Prompt",
114114
description: "a mock prompt for testing",
115115
arguments: [
116-
Prompt::Argument.new(name: "test_argument", description: "Test argument", required: true),
116+
Prompt::Argument.new(
117+
name: "test_argument",
118+
title: "Test argument title",
119+
description: "This is a test argument description",
120+
required: true,
121+
),
117122
],
118123
) do |args, server_context:|
119124
content = Content::Text.new(args["test_argument"] + " user: #{server_context[:user_id]}")

0 commit comments

Comments
 (0)