MCP服务器模板

一个轻量级且可扩展的MCP(Model Context Protocol)服务器实现,用于构建通过服务器发送事件(SSE)与MCP兼容客户端通信的AI应用程序。

  • by antoniodevivo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 antoniodevivo/mcp-server-template

使用说明

MCP服务器模板

使用Express.js和TypeScript构建的轻量级和可扩展的MCP(模型上下文协议)服务器实现。此模板为构建可以通过服务器发送事件(SSE)与MCP兼容客户端通信的AI驱动应用程序提供了坚实的基础。

特性

  • 支持TypeScript的Express.js服务器
  • 用于实时通信的服务器发送事件(SSE)
  • MCP协议实现
  • 票据管理系统
  • Docker支持
  • 使用Zod进行输入验证

先决条件

  • Node.js 22或更高版本
  • npm(节点包管理器)
  • Docker(可选)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/mcp-template.git
cd mcp-template
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

运行服务器

地方发展

npm start

默认情况下,服务器将在端口3123上启动。

使用Docker

构建Docker镜像:

docker build -t mcp-template .

运行容器:

docker run -p 3123:3123 mcp-template

API终点

MCP端点

  • GET /mcp/sse -为MCP通信建立SSE连接

可用工具

  • add-note -向便笺存储区添加新便笺

    • 参数:
      • noteTitle:string-注释的标题
      • noteContent:string-注释的内容
      • noteTags:string[](可选)-注释的标签
  • update-note -更新现有注释

    • 参数:
      • noteId:string-要更新的笔记的ID
      • noteTitle:string-注释的新标题
      • noteContent:string-注释的新内容
      • noteTags:string[](可选)-注释的新标记
  • get-note -检索特定笔记

    • 参数:
      • noteId:string-要检索的笔记的ID
  • get-all-notes -从商店中检索所有笔记

    • 参数:无
  • delete-note -从商店中删除笔记

    • 参数:
      • noteId:string-要删除的笔记的ID

输入验证

服务器使用 萨德 用于运行时类型检查和输入验证。在处理之前,所有传入的请求都会根据预定义的模式进行验证。这确保了整个应用程序的类型安全和数据完整性。

环境变量

  • PORT -服务器端口(默认值:3123)
  • LOG_LEVEL -日志记录级别(默认值:“info”)
  • DOCKER -在Docker中运行时设置为“true”
  • DEV -开发模式设置为“true”

发展

项目结构

src/
├── config.ts         # Configuration settings
├── index.ts         # Application entry point
├── logger.ts        # Logging configuration
├── note-store.ts    # Note management system
└── server/
    └── routers/
        └── mcp.ts   # MCP router implementation

建筑

npm run build

代码检查

npm run lint

许可证

麻省理工学院

作者

安东尼奥·德维沃