这是一个使用Bun和Elysia网络框架实现的Model Context Protocol (MCP)服务器。该项目使您能够创建高性能的MCP服务器,通过标准化接口向LLMs暴露资源、工具和提示。
# 克隆仓库
git clone <your-repo-url>
cd mcp-server
# 安装依赖
bun install
# 启动服务器
bun start
# 开发模式下启动热重载
bun dev
# 构建生产环境
b bun run build
这将在dist目录中创建一个最小化的Node.js兼容构建。
src/index.ts - 服务器的主要入口点src/SSEElysiaTransport.ts - 对于Bun和Elysia的SSE传输实现import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
import { SSEElysiaTransport } from "./SSEElysiaTransport";
import { Elysia } from "elysia";
// 创建MCP服务器
const server = new McpServer({
name: "my-mcp-server",
version: "1.0.0"
});
// 添加资源、工具和提示
server.resource(
"example",
"example://resource",
async (uri) => ({
contents: [{
uri: uri.href,
text: "示例资源内容"
}]
})
);
// 创建Elysia应用
const app = new Elysia()
.get("/", () => "MCP服务器")
.get("/sse", async (context) => {
try {
// 创建传输
const transport = new SSEElysiaTransport("/messages", context);
// 存储传输
const sessionId = transport.sessionId;
// ... 将传输存储在映射中
// 连接到MCP服务器
await server.connect(transport);
return;
} catch (error) {
// 处理错误
}
})
.post("/messages", async (context) => {
// 处理传入的消息
});
// 启动服务器
app.listen(3001, () => {
console.log("MCP服务器正在http://localhost:3001运行");
});
您可以使用MCP Inspector工具调试您的MCP服务器并通过sse连接
npx @modelcontextprotocol/inspector
这将打开一个Web界面,您可以在其中:
欢迎贡献!请随意提交Pull Request。
本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。 </中文翻译>