本项目是一个基于MCP(模型上下文协议)的任务API服务器,支持通过标准输入输出(STDIO)和HTTP + SSE两种方式与AI工具和服务交互,可对任务进行创建、读取、更新和删除操作。
git clone
cd mcp-template-ts && npm install
npm start
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),无默认值 |
npm run watch
npm test
列出所有任务。
const result = await client.callTool({
name: "listTasks",
arguments: {
// 可选过滤条件
status: "pending", // 根据状态筛选
category: "工作", // 根据类别筛选
priority: "high" // 根据优先级筛选
}
});
创建新任务。
const result = await client.callTool({
name: "createTask",
arguments: {
task: "完成项目报告", // 必填:任务描述
category: "工作", // 可选:任务类别
priority: "high" // 可选:低、中、高
}
});
更新现有任务。
const result = await client.callTool({
name: "updateTask",
arguments: {
taskId: 123, // 必填:要更新的任务ID
task: "更新后的描述", // 可选:新描述
status: "done", // 可选:pending、started、done
category: "个人", // 可选:新的类别
priority: "medium" // 可选:低、中、高
}
});
删除任务。
const result = await client.callTool({
name: "deleteTask",
arguments: {
taskId: 123 // 必填:要删除的任务ID
}
});
本项目采用MIT许可证,具体条款请参阅LICENSE文件。