本项目是一个基于 Model Context Protocol (MCP) 标准构建的服务器示例,使用 TypeScript 和 FastMCP 库实现。它通过暴露一系列工具,允许大型语言模型(LLM)或其他兼容的AI客户端以结构化方式与待办事项列表后端进行交互。
项目简介
该MCP服务器充当AI客户端与一个独立的待办事项RESTful API之间的中介。它不直接管理数据,而是将AI的请求转化为对现有Todo API的调用,并将API响应格式化回AI可理解的格式。这展示了一种将现有业务能力通过MCP暴露给AI的有效模式。
主要功能点
本MCP服务器通过工具形式提供以下功能:
- 添加待办事项 (add_todos): 允许AI创建新的待办事项,提供标题和描述。
- 搜索待办事项 (search_todos): 允许AI根据标题关键词搜索现有待办事项,并返回匹配项的列表(包含标识符、标题、描述等)。
- 更新待办事项 (update_todos): 允许AI根据其唯一标识符更新现有待办事项的标题和描述。使用此工具前,AI通常需要先使用'search_todos'工具获取待办事项的标识符。
- 移除待办事项 (remove_todos): 允许AI根据其唯一标识符标记待办事项为非活动状态(逻辑删除)。使用此工具前,AI通常需要先使用'search_todos'工具获取待办事项的标识符。
安装步骤
本项目包含多个子项目(MCP服务器本身、后端API、数据库库)。完整的运行需要启动数据库、后端API以及MCP服务器。
- 前提条件: 确保已安装 Node.js、Docker (用于PostgreSQL和Redis) 或单独安装 PostgreSQL 和 Redis 服务。
- 克隆仓库: 获取项目代码。
- 数据库设置:
- 进入 'Todo_Db_Library' 项目目录。
- 确保 PostgreSQL 数据库已启动并配置正确的连接信息(参见 '.env' 文件)。
- 运行数据库迁移命令来创建必要的表结构(具体命令请参考项目文档,通常涉及 'npm install' 和 'npm run typeorm:migrate')。
- 运行后端API:
- 进入 'Todo_API' 项目目录。
- 确保 Redis 服务已启动并配置正确的连接信息(参见 '.env' 文件)。
- 安装依赖 ('npm install') 并启动API服务器(通常是 'npm run dev')。保持此服务运行。
- 运行MCP服务器:
- 进入 'MCP_Server' 项目目录。
- 安装依赖 ('npm install')。
- 配置 '.env' 文件,尤其是 'BASE_URL'(指向运行中的Todo API地址,默认为 'http://localhost:3000')和 'ENCRYPTION_KEY'。
- 启动MCP服务器(通常是 'npm run start',项目示例中使用 'npm run mcp-inspector' 启动并提供一个测试界面)。保持此服务运行。
服务器配置 (供MCP客户端参考)
要将此MCP服务器连接到MCP客户端(如Claude Desktop),您需要在客户端配置中添加一个服务器条目。客户端通常需要以下信息来启动并连接到此MCP服务器(通过Stdio传输):
- 服务器名称 (name): 一个标识服务器的名称(例如:"Todo MCP Server")。
- 启动命令 (command): 客户端在本地执行以启动此MCP服务器进程的命令(例如:'npx')。
- 命令参数 (args): 传递给启动命令的参数(例如:'start',对应于MCP服务器项目的 'package.json' 中定义的启动脚本)。
- 工作目录 (cwd): 客户端执行启动命令时的工作目录,应设置为MCP服务器项目('MCP_Server')的根目录。
请参考您的MCP客户端文档,了解如何使用上述信息进行配置。
基本使用方法
- 完成上述安装和运行步骤,确保数据库、Todo API和Todo MCP服务器都已成功启动。
- 在支持MCP协议的AI客户端中,添加并配置连接到此本地运行的Todo MCP Server。
- 一旦客户端成功连接并发现了服务器提供的工具,您就可以通过自然语言向AI提出与待办事项管理相关的请求。例如:
- "请帮我添加一个待办事项,标题是:去超市买菜,描述是:购买牛奶、鸡蛋和面包。"
- "查找所有关于开会的待办事项。"
- "请更新标识符为 [搜索到的标识符] 的待办事项,将标题改为:准备会议议程。"
- "请移除标识符为 [搜索到的标识符] 的待办事项。"
- AI客户端将识别您的意图,调用相应的MCP工具,MCP服务器会与Todo API交互,然后将结果反馈给AI,AI再以自然语言形式回复您。
信息
分类
AI与计算