任务管理服务器

Takio MCP Server 是一个基于Model-Centric Protocol的任务管理服务器,支持任务的增删改查操作,并可选择内存存储或Notion数据库作为后端。

  • by david0723
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 david0723/task-manager-mcp

使用说明

Takio MCP服务器

这个项目是一个简单的MCP(以模型为中心的协议)服务器,它实现了基本任务管理器的逻辑。它允许对任务进行CRUD(创建、读取、更新、删除)操作,并且可以由内存存储或Notion数据库支持。

特性

  • 符合MCP标准: 实施以模型为中心的协议进行标准化通信。
  • 任务管理: 为任务提供完整的CRUD功能。
  • 多个后端: 可以使用内存中的数据存储进行快速测试,也可以使用Notion数据库进行持久存储。
  • Cloudflare员工: 构建为部署为无服务器Cloudflare Worker。
  • Hono框架: 使用Hono web框架路由和处理请求。
  • OpenAPI的Chanfana: 从代码中自动生成OpenAPI 3.1模式,提供交互式文档。

项目结构

  • src/index.ts:应用程序的主要入口点,其中设置了Hono应用程序和OpenAPI文档。
  • src/endpoints/mcp.ts:处理传入的MCP请求,并将其路由到相应的任务管理器实现。
  • src/mcp/taskManagerServer.ts:定义MCP服务器,包括用于创建、更新、删除和列出任务的工具。
  • src/TaskManager/TaskManager.ts:核心 TaskManagerServer 协调任务管理器实现的类。
  • src/TaskManager/implementations/:包含任务管理器的不同后端实现。
    • InMemoryTaskManager.ts:用于存储任务的简单内存实现。
    • NotionTaskManager.ts:使用Notion API将任务存储在数据库中的实现。
  • src/utils/:包含用于解析数据和定义模式的实用函数。
  • wrangler.jsonc:Cloudflare Worker的配置文件。
  • package.json:定义项目的依赖关系和脚本。

入门指南

先决条件

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd takio-mcp
    
  2. 安装依赖项:

    pnpm install
    

配置

  1. 概念集成(可选): 如果你想使用Notion后端,你需要:
    • 创建一个 概念整合 并获取您的API密钥。
    • 创建一个Notion数据库并获取其ID。
    • 设置 NOTION_API_KEY 作为Cloudflare Worker中的秘密:
      npx wrangler secret put NOTION_API_KEY
      
    • 添加 DB_ID 到你的 wrangler.jsonc 文件在 vars 部分。

本地运行

要启动开发服务器,请运行:

pnpm run dev

这将启动一个本地服务器,您可以在以下网址访问交互式OpenAPI文档 http://localhost:8787/.

部署

要将worker部署到您的Cloudflare帐户,请运行:

pnpm run deploy

用法

服务器在以下位置公开了一个MCP端点 /mcp。您可以使用任何符合MCP的客户端与它进行交互。可用的工具有:

  • createTask(title: string, description?: string, status?: 'pending' | 'in-progress' | 'completed'):创建新任务。
  • updateTask(id: string, title?: string, description?: string, status?: 'pending' | 'in-progress' | 'completed'):更新现有任务。
  • deleteTask(id: string):删除任务。
  • listTasks(status?: 'pending' | 'in-progress' | 'completed'):列出所有任务,可选择按状态筛选。