MCPツールの定義と実装
MCP
知識
MCPサーバーでツールを定義する方法:
typescript
server.setRequestHandler(
ListToolsRequestSchema,
async () => ({
tools: [{
name: "service_action_name",
description: "ツールの説明文",
inputSchema: {
type: "object",
properties: {
param1: {
type: "string",
description: "パラメータ1の説明"
},
// 他のパラメータ...
},
required: ["param1"]
}
}]
})
);
// ツール呼び出しハンドラー
server.setRequestHandler(
CallToolRequestSchema,
async (request) => {
switch (request.params.name) {
case "service_action_name":
return await handleAction(request.params.arguments);
default:
return { content: [{ type: "text", text: "未知のツール" }], isError: true };
}
}
);