MCP 服务器开发者福音:Smithery SDK 让配置和认证从 50 行变成 10 行
做 MCP 服务器的同学,有没有被这些问题折磨过:本地跑得好好的,一部署就报错;不同客户的 API Key、认证 token 怎么管理?Session 状态怎么跨请求保持?
Smithery 上周悄悄发了一个 SDK,就是专门解决这些问题的。
这个 SDK 解决什么问题
简单说,它给 MCP 服务器开发者提供了一套类型安全的配置和运行时上下文。
以前你写 MCP server,得自己处理 configSchema 验证、环境变量读取、session 存储这些脏活累活。Smithery SDK 把这些全部封装好了,你只管写业务逻辑。
核心类型就三个:
- ServerContext:服务器运行时上下文,包含用户配置(经过 Zod 验证)、环境变量、以及可选的 session 存储
- Session:键值存储,作用域是用户会话级别,适合存状态
- ServerModule:服务器模块定义,包括版本、能力、以及可选的 configSchema
怎么用
装包:npm install @smithery/sdk
写服务器只需要定义 configSchema + 一个 createServer 工厂函数:
import type { ServerContext } from "@smithery/sdk";
import { z } from "zod";
export const configSchema = z.object({
apiKey: z.string(),
});
export default async function createServer(context: ServerContext) {
const { config, env, session } = context;
// config.apiKey — 用户配置,已验证
// env.MY_SECRET — 环境变量
// session — 跨请求的状态存储
return new Server({ name: "my-server", version: "1.0.0" }, { capabilities: {} });
}
部署到 Smithery 后,系统自动处理 OAuth、凭证加密、token 刷新。开发者不用碰任何认证相关的代码。
为什么值得关注
MCP 生态现在有一个很现实的问题:服务器开发者的门槛比使用者高太多。写一个能跑的服务不难,但要 production-ready——配好 Schema 验证、加好安全层、处理好 session——就麻烦了。
Smithery SDK 把这个门槛降了一截。对于需要在 Smithery 上托管 MCP 服务器的团队,这个 SDK 基本上是标配了。
截至目前 298 Stars,18 个版本,最近一次更新是 4 天前。
GitHub:https://github.com/smithery-ai/sdk
评论区
0 条评论
登录后可评论。