5#ifndef PT_MCP_TOOLDECLARATION_H
6#define PT_MCP_TOOLDECLARATION_H
9#include <Pt/Mcp/Type.h>
10#include <Pt/Mcp/ContentType.h>
11#include <Pt/NonCopyable.h>
66 const std::string&
name()
const
72 {
return _description; }
76 const std::vector<Property>&
params()
const
82 {
return _params.size(); }
94 std::string _description;
95 std::vector<Property> _params;
143 Tool&
addTool(
const std::string& name,
const std::string& description);
152 {
return _serverName; }
157 {
return _serverVersion; }
180 const char* protocolVersion = 0)
const;
183 std::string _serverName;
184 std::string _serverVersion;
185 std::vector<Tool*> _tools;
Strategy that formats a tool result as MCP content.
Definition ContentType.h:107
JSON Schema type for an MCP tool parameter.
Definition Type.h:34
NonCopyable()
Default constructor.
Definition NonCopyable.h:63
Model Context Protocol (MCP) services.
Core module.
Definition Allocator.h:33