Streamable HTTPを使用してWebアプリケーションでMCPサーバーを構築します。
mcp-handlerを使用して構築します。
app/[transport]/route.ts
import { z } from "zod";
import { createMcpHandler } from "mcp-handler";
const handler = createMcpHandler((server) => {
server.tool(
"roll_dice",
"Rolls an N-sided die",
{
sides: z.number().int().min(2),
},
async ({ sides }) => {
const value = 1 + Math.floor(Math.random() * sides);
return {
content: [{ type: "text", text: `${value}` }],
};
}
);
});
export { handler as GET, handler as POST };