mcpField
M
MCP Server Template

MCP Server Template

本地服务
github.com/antoniodevivo开发工具174 周前更新

关于 MCP Server Template

这是一个基于 Express.js 和 TypeScript 的 MCP 服务模板,适合开发笔记管理应用的开发者。它以内置的 SSE 通信和经过校验的笔记工具作为起点。

主要功能

  1. 01Express.js 和 TypeScript 服务
  2. 02SSE 通信
  3. 03创建、读取、编辑和删除笔记
  4. 04Zod 输入校验
  5. 05Docker 支持

适用场景

  1. 01构建笔记管理 MCP 服务
  2. 02通过 SSE 连接兼容 MCP 的客户端

MCP 相关

实现 MCP,并通过 SSE 端点与 MCP 客户端通信。其工具支持添加、更新、读取、列出和删除笔记。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"template-antoniodevivo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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(可选)

安装

  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

输入验证

服务使用 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。