内容
# xsMCP
> 面向不喜欢复杂性的 MCP 构建者的超小型 MCP SDK。
> [!CAUTION]
> xsMCP 已被弃用
>
> 由于 MCP 频繁更新,且 xsMCP 没有实际用户,我们在 2025 年 7 月将 xsMCP 存档。
>
> 如果 MCP 稳定且有用户需求,我们可能会重启该项目。
## 关于
### 为什么有这个项目?
[`@modelcontextprotocol/sdk` 很大](https://pkg-sized.dev/@modelcontextprotocol/sdk) 并且依赖于像 `zod`、`express` 等库,而这些库你可能根本不想使用。
像 [xsAI](https://github.com/moeru-ai/xsai) 一样,xsMCP 不强制你使用特定的服务器或模式库,并且非常小。
### 路线图
我们目前的目标是支持可流式传输的 HTTP 客户端/服务器,Stdio 的优先级较低。
### 兼容性
xsMCP v0.1 旨在与 `2025-03-26` 版本兼容,并且不兼容旧版本。
### HTTP 服务器结构
`@xsmcp/server-http` 基于 [Web 标准](https://hono.dev/docs/concepts/web-standard),而不是 Express。
```ts
import { createFetch } from '@xsmcp/server-http'
import { createServer } from '@xsmcp/server-shared'
import { serve } from 'srvx'
import * as tools from '...'
const server = createServer({ ...options })
for (const tool of tools) {
server.addTool(tool)
}
// (req: Request) => Promise<Response>
const fetch = createFetch(server)
// node.js, deno, bun
serve({ fetch })
// cloudflare workers, pages
export default { fetch }
```
它可以作为独立的服务器使用,也可以与 `hono`、`elysia` 和 `itty-router` 结合使用,以获得更多功能:
```ts
import { createFetch } from '@xsmcp/server-http'
import { createServer } from '@xsmcp/server-shared'
import { Elysia } from 'elysia'
import { Hono } from 'hono'
import { AutoRouter } from 'itty-router'
import * as tools from '...'
const server = createServer({ ...options })
for (const tool of tools) {
server.addTool(tool)
}
const fetch = createFetch(server)
// hono
new Hono()
.post('/mcp', ({ req }) => fetch(req.raw))
// elysia
new Elysia()
.post('/mcp', ({ request }) => fetch(request))
// itty-router
AutoRouter()
.post('/mcp', req => fetch(req))
```
同时,它不依赖于任何服务器框架,从而最小化了大小。
为了简单起见,该服务器仅返回 JSON 响应,不支持 SSE。
## 许可证
[MIT](LICENSE.md)
### 第三方许可证
该项目部分复制了以下项目的代码:
| 项目 | 许可证 |
| -- | -- |
| [modelcontextprotocol/specification](https://github.com/modelcontextprotocol/specification) | [MIT](https://github.com/modelcontextprotocol/specification/blob/main/LICENSE) |
| [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) | [MIT](https://github.com/modelcontextprotocol/servers/blob/main/LICENSE) |
| [modelcontextprotocol/typescript-sdk](https://github.com/modelcontextprotocol/typescript-sdk) | [MIT](https://github.com/modelcontextprotocol/typescript-sdk/blob/main/LICENSE) |
| [crouchcd/pkce-challenge](https://github.com/crouchcd/pkce-challenge) | [MIT](https://github.com/crouchcd/pkce-challenge/blob/master/LICENSE) |
| [denoland/std](https://github.com/denoland/std) | [MIT](https://github.com/denoland/std/blob/main/LICENSE) |