返回市场
扩展存储MCP

扩展存储MCP

作者:moeru-ai47 星标更新:2025-07-29

项目介绍

xsMCP

针对不喜欢臃肿的MCP构建者的extra-small MCP SDK。

[!警告] xsMCP已停止维护

由于频繁的MCP更新以及缺乏实际用户,我们在2025年7月归档了xsMCP。

如果MCP足够稳定且有用户兴趣,我们可能会重启此项目。

关于

为什么会有这个项目?

@modelcontextprotocol/sdk体积较大,并且依赖于诸如zodexpress等库,而这些库你可能根本不想使用。 类似xsAI,xsMCP不会强制你使用特定的服务器或模式库,并且非常小巧。

发展路线图

我们的当前目标是可流式传输的HTTP客户端/服务器,而标准I/O具有较低优先级。

兼容性

xsMCP v0.1旨在与2025-03-26修订版兼容,并不向后兼容。

HTTP服务器结构

@xsmcp/server-http基于Web标准,而不是Express。

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 }

它可以作为一个独立的服务器使用,也可以与honoelysiaitty-router结合以获得更多的功能:

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

第三方许可证

本项目部分复制了以下项目的代码:

项目许可证
modelcontextprotocol/specificationMIT
modelcontextprotocol/serversMIT
modelcontextprotocol/typescript-sdkMIT
crouchcd/pkce-challengeMIT
denoland/stdMIT