一套用於生產 MCP 伺服器的 TypeScript 框架,內建可插拔的驗證機制、每個工具的速率限制、結構化的審計日誌,以及 OpenTelemetry — 讓您可以專注開發實際工具,而不是重造那些煩瑣的部分.
我讀過的所有 MCP 伺服器教學都只教您註冊一個回應字串的工具。接著它們輕描淡寫地帶過「生產考量」,然後結束文章.
生產考量 是 這篇帖子.
@hailbytes/mcp-server-template 是我需要發布一個企業實際會運行的 MCP 伺服器時所使用的 TypeScript 框架。它包含:
- 身份驗證 — 可插拔的 middleware,用於 API 金鑰、OAuth 和 JWT
- 速率限制 — 按客戶端和按工具,所以一個失控的代理程式無法讓整個伺服器崩潰
- 審計記錄 — 每個工具呼叫和會話事件的結構化日誌
- OpenTelemetry — 追蹤和指標,讓你能夠實際調試你的模型做了什麼
- 多運輸 — SSE、stdio 和 HTTP,在搭建時選擇
搭建一個新的伺服器
npx @hailbytes/create-mcp-server my-server --transport=sse
您會得到一個目錄,可以cd進入,並npm run dev立即使用.
或透過程式碼嵌入
import { createMcpServer, defineTools } from "@hailbytes/mcp-server-template";
const tools = defineTools([
{
name: "echo",
description: "Echoes the input back.",
inputSchema: { type: "object", properties: { message: { type: "string" } } },
handler: async ({ message }) => ({ content: [{ type: "text", text: message }] }),
},
]);
const server = await createMcpServer({
name: "my-server",
version: "1.0.0",
transport: "sse",
tools,
auth: { type: "api-key", header: "X-Api-Key" },
rateLimit: { requestsPerMinute: 60 },
audit: { destination: "stdout" },
});
await server.start();
這就是整個「生產 MCP 伺服器」的差異與教學中的 echo 範例.
搭配它@hailbytes/mcp-security-scanner 就能讓你擁有一個預設安全且持續保持這種狀態的伺服器,當你添加工具時。
npx @hailbytes/create-mcp-server my-server
來源:github.com/hailbytes/mcp-server-template — MIT 授權。











