adaptMcpToolToServer function
Adapter to add McpTool to mcp_server Server
Implementation
void adaptMcpToolToServer(McpTool boostTool, Server server) {
server.addTool(
name: boostTool.name,
description: boostTool.description,
inputSchema: boostTool.inputSchema,
handler: (params) async {
try {
// Create request from params
final request = McpRequest.call(
boostTool.name,
params: params,
);
// Execute using existing tool logic
final response = await boostTool.execute(request);
// Convert response to CallToolResult
if (response.isError) {
return CallToolResult(
content: [
TextContent(
text: response.error?.message ?? 'Unknown error',
),
],
isError: true,
);
}
// Return text content with result
return CallToolResult(
content: [
TextContent(
text: _formatResult(response.result),
),
],
);
} catch (e) {
return CallToolResult(
content: [
TextContent(
text: e.toString(),
),
],
isError: true,
);
}
},
);
}