关于 MCP Server Template
这是一个基于 Express.js 和 TypeScript 的 MCP 服务模板,适合开发笔记管理应用的开发者。它以内置的 SSE 通信和经过校验的笔记工具作为起点。
主要功能
- 01Express.js 和 TypeScript 服务
- 02SSE 通信
- 03创建、读取、编辑和删除笔记
- 04Zod 输入校验
- 05Docker 支持
适用场景
- 01构建笔记管理 MCP 服务
- 02通过 SSE 连接兼容 MCP 的客户端
MCP 相关
实现 MCP,并通过 SSE 端点与 MCP 客户端通信。其工具支持添加、更新、读取、列出和删除笔记。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务模板
使用 Express.js 和 TypeScript 构建的轻量且可扩展的 MCP(Model Context Protocol)服务实现。此模板为构建 AI 驱动的应用提供了坚实的基础,这些应用可通过服务器发送事件(SSE)与兼容 MCP 的客户端通信。
功能
- 支持 TypeScript 的 Express.js 服务
- 使用服务器发送事件(SSE)进行实时通信
- MCP 协议实现
- 笔记管理系统
- 支持 Docker
- 使用 Zod 进行输入验证
前提条件
- Node.js 22 或更高版本
- npm(Node.js 包管理器)
- Docker(可选)
安装
- 克隆仓库:
git clone https://github.com/yourusername/mcp-template.git
cd mcp-template
- 安装依赖:
npm install
- 构建项目:
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 - 要更新的笔记 IDnoteTitle:string - 新笔记标题noteContent:string - 新笔记内容noteTags:string[](可选)- 笔记的新标签
- 参数:
-
get-note- 获取指定笔记- 参数:
noteId:string - 要获取的笔记 ID
- 参数:
-
get-all-notes- 获取存储中的所有笔记- 参数:无
-
delete-note- 从存储中删除笔记- 参数:
noteId:string - 要删除的笔记 ID
- 参数:
输入验证
服务使用 Zod 进行运行时类型检查和输入验证。处理前,会根据预定义的架构验证所有传入请求。这可确保整个应用的类型安全和数据完整性。
环境变量
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
许可证
MIT
作者
Antonio De Vivo
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。