返回 MCP 目录
public公开dns本地运行

milkosten_task-mcp-server

一个基于TypeScript的任务管理API服务器,实现MCP协议,提供标准化的任务管理接口,支持STDIO和HTTP+SSE两种运行模式。

article

README

🚀 任务API服务器 - MCP TypeScript实现

本项目是一个基于MCP(模型上下文协议)的任务API服务器,支持通过标准输入输出(STDIO)和HTTP + SSE两种方式与AI工具和服务交互,可对任务进行创建、读取、更新和删除操作。

✨ 主要特性

核心功能

  • 任务管理:支持 CRUD 操作(创建、读取、更新、删除),方便对任务进行全生命周期管理。
  • 过滤器:可依据状态、类别和优先级对任务进行筛选,精准定位所需任务。
  • 异步操作:HTTP + SSE 服务器支持长轮询,能实时返回任务状态,提升响应效率。

集成

  • MCP协议:兼容 MCP 协议,便于与AI工具和服务集成,降低对接成本。
  • 外部任务API:通过配置环境变量,可使用外部任务管理服务,增强系统扩展性。

📦 安装指南

环境要求

  • Node.js 14.0 或更高版本
  • npm 6.0 或更高版本
  • TypeScript 4.0 或更高版本

快速开始

  1. 克隆项目:
    git clone <repository-url>
    
  2. 安装依赖:
    cd mcp-template-ts && npm install
    
  3. 启动服务器(STDIO模式):
    npm start
    
  4. 或启动HTTP + SSE服务器:
    npm run start:web
    

📚 详细文档

项目结构

mcp-template-ts/
├── dist/               # 编译生成的JavaScript文件
├── src/                # TypeScript源代码文件
│   ├── index.ts        # STDIO服务器入口文件
│   ├── http-server.ts  # HTTP + SSE服务器入口文件
│   ├── test-client.ts  # 测试客户端实现
├── .env                # 环境变量配置文件
├── package.json        # 项目依赖管理文件
├── tsconfig.json       # TypeScript编译配置文件
└── README.md           # 项目文档

配置

环境变量

| 属性 | 详情 | |------|------| | TASK_MANAGER_API_BASE_URL | 外部任务API的URL地址,必填(无默认值) | | TASK_MANAGER_API_KEY | 用于身份验证的任务API密钥,必填(无默认值) | | TASK_MANAGER_HTTP_PORT | HTTP服务器使用的端口号,默认值为 3000 | | PORT | 可选端口号(优先级高于TASK_MANAGER_HTTP_PORT),无默认值 |

开发

  1. 启动TypeScript编译器进行实时监听:
    npm run watch
    
  2. 运行测试以验证更改:
    npm test
    

💻 使用示例

基础用法

listTasks

列出所有任务。

const result = await client.callTool({
  name: "listTasks",
  arguments: {
    // 可选过滤条件
    status: "pending", // 根据状态筛选
    category: "工作",  // 根据类别筛选
    priority: "high"   // 根据优先级筛选
  }
});

createTask

创建新任务。

const result = await client.callTool({
  name: "createTask",
  arguments: {
    task: "完成项目报告",  // 必填:任务描述
    category: "工作",      // 可选:任务类别
    priority: "high"       // 可选:低、中、高
  }
});

updateTask

更新现有任务。

const result = await client.callTool({
  name: "updateTask",
  arguments: {
    taskId: 123,           // 必填:要更新的任务ID
    task: "更新后的描述",  // 可选:新描述
    status: "done",        // 可选:pending、started、done
    category: "个人",      // 可选:新的类别
    priority: "medium"     // 可选:低、中、高
  }
});

deleteTask

删除任务。

const result = await client.callTool({
  name: "deleteTask",
  arguments: {
    taskId: 123   // 必填:要删除的任务ID
  }
});

📄 许可证

本项目采用MIT许可证,具体条款请参阅LICENSE文件。

致谢

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端