Slide 60
Slide 60 text
CONFIDENTIAL 60
typescript-sdkにみるToolの実装例
右のコードは、Build an MCP server - Model
Context Protocol のチュートリアルのToolの
実装例を、この資料用に簡略化したもの。
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({ name: "weather", version: "1.0.0" });
server.registerTool( // Toolの実装およびMCPサーバーへの登録
// ① Tool名
"get_forecast",
// ② 入力スキーマ (LLM向けのToolの説明文、パラメータ、などのメタ情報)
{
description: "Get weather forecast for a location",
latitude: z.number(),
longitude: z.number()
},
// ③ 処理ロジック
async ({ latitude, longitude }) => {
// 任意の処理を実装 (例: API経由で天気予報情報を取得する、など)
...
return {
content: [{
type: "text",
text: `Temperature: ${temperature}${unit}, ...`
}]
}
}
);
.ts
WebAPIの開発経験などがあれば、似た要領で
Toolも実装できる(それほど難しくはない)
Toolの実装の仕方:
① Tool名の定義
② 入力スキーマ(LLM向けメタ情報)定義
③ 処理ロジックの実装