Skip to content

class ActionController::MCPServer::Endpoint
inherits Reference #

a controller served as its own MCP server, @[AC::MCP(endpoint: true)]. Every tool and prompt is listed, there are no toolboxes to open

Included modules

JSON::Serializable YAML::Serializable

Extended modules

JSON::Schema

Constructors#

.new(path : String, bound : Array(String), toolbox : ActionController::MCPServer::Toolbox, instructions_path : Nil | String = nil)#

View source

.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)#

View source

.new(pull : JSON::PullParser)#

View source

.new(*, __pull_for_json_serializable pull : JSON::PullParser)#

View source

.new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node)#

View source

Class methods#

.bound_params(path : String) : Array(String)#

the path params in a path template

View source

Methods#

#bound : Array(String)#

the path params bound from the endpoint URL, removed from the tool arguments

View source

#description : Description#

the endpoint as a description with a single toolbox of root items

View source

#instructions : String | ::Nil#

the controller doc comment, used as the server instructions

View source

#instructions_path : String | ::Nil#

the internal route of the controller's instructions method, which builds the instructions for each session, i.e. /accounts/:account_id/__mcp_instructions__

View source

#name : String#

the toolbox name, used as the server name

View source

#path : String#

the path template the endpoint is served at, i.e. /accounts/:account_id/mcp

View source

#toolbox : Toolbox#

the endpoint's tools and prompts, all of them root items

View source