Applied AI School
v0 · 規劃中
AnthropicOpenAI

MCP server 開發教學:寫第一個 server

MCP server 開發教學:用 TypeScript SDK 從零做一個能回 pong 的 MCP server,覆蓋 stdio transport、tool 註冊、JSON-RPC 訊息格式。

安裝

pnpm add @modelcontextprotocol/sdk

最小範例

import { Server } from "@modelcontextprotocol/sdk";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server(
  { name: "ping-server", version: "0.1.0" },
  { capabilities: { tools: {} } }
);

server.setRequestHandler("tools/list", async () => ({
  tools: [
    {
      name: "ping",
      description: "Returns pong",
      inputSchema: { type: "object", properties: {} },
    },
  ],
}));

server.setRequestHandler("tools/call", async (req) => {
  if (req.params.name === "ping") {
    return { content: [{ type: "text", text: "pong" }] };
  }
  throw new Error("Unknown tool");
});

const transport = new StdioServerTransport();
await server.connect(transport);

啟動

直接 node ping-server.js 即可。Host 會 spawn 它並透過 stdio 通訊。

(mock 內容)