JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q47429F
  • License MIT

医疗营销任务管理 MCP 服务器 - 通过自然语言创建、分配和管理任务

Package Exports

  • task-management-mcp
  • task-management-mcp/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (task-management-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

任务管理 MCP 服务器

一个基于 Model Context Protocol (MCP) 的任务管理服务器,支持通过自然语言创建、分配和管理任务。

🚀 功能特性

✨ 核心功能

  • 🆕 创建任务 - 支持单个或批量创建任务
  • 👥 分配任务 - 将任务分配给不同角色的用户
  • 📊 查询状态 - 查询任务和用户任务状态
  • 🔄 状态管理 - 修改任务状态和用户任务状态
  • 🏷️ 智能命名 - 自动生成 ai+用户名+任务类型 格式的任务名称

📋 支持的任务类型

  1. 患教审核 2. 公益直播 3. 调研问卷 4. 科普视频
  2. 课件制作 6. 科普文章 7. 学术会议 8. 学术拜访
  3. 临床研究 10. 科普直播 11. 社工服务 12. 医学拜访
  4. 科普访谈 14. 文章点评 15. 视频点评 16. 病例征集
  5. 文献解读

👤 支持的用户角色

  1. 医生 2. 志愿者 3. 普通志愿者

📦 安装和配置

环境要求

  • Node.js 16.x 或更高版本
  • MySQL 数据库
  • npm 或 yarn

安装步骤

  1. 克隆项目
git clone <repository-url>
cd task-management-mac
  1. 安装依赖
npm install
  1. 配置数据库

⚠️ 安全要求:必须通过环境变量提供数据库连接信息,不允许硬编码在代码中。

export DB_HOST=your-mysql-host
export DB_USER=your-username
export DB_PASSWORD=your-password
export DB_DATABASE=your-database-name

或创建 .env 文件(参考 env.example):

DB_HOST=your-mysql-host
DB_USER=your-username
DB_PASSWORD=your-password
DB_DATABASE=your-database-name

⚠️ 重要: 请将 .env 文件添加到 .gitignore,避免提交敏感信息!

  1. 构建项目
npm run build
  1. 启动服务器
npm start

🛠️ MCP 工具使用指南

1. 创建单个任务 create_task

功能: 创建一个新任务

参数:

  • task_type (必需): 任务类型 (1-17)
  • user_id (可选): 用户 ID(与 phone 二选一)
  • phone (可选): 用户手机号(与 user_id 二选一)
  • description (可选): 任务描述
  • money (可选): 任务预算,单位分(默认 10000)
  • time_limit_day (可选): 时间限制天数(默认 7 天)

示例:

创建一个科普文章任务,用户ID为534333549,预算2万分,时限10天
创建一个科普视频任务,手机号为13810289901

2. 批量创建任务 create_batch_tasks

功能: 一次创建多个任务

参数:

  • task_types (必需): 任务类型数组,如 [4, 6]
  • user_id (可选): 用户 ID(与 phone 二选一)
  • phone (可选): 用户手机号(与 user_id 二选一)
  • count_per_type (可选): 每种类型创建的数量(默认 1)
  • description (可选): 任务描述
  • money (可选): 每个任务预算(默认 10000)
  • time_limit_day (可选): 时间限制天数(默认 7 天)

示例:

批量创建科普视频和科普文章各2个,用户ID为410902521

3. 分配任务 assign_task

功能: 将任务分配给用户

参数:

  • task_id (必需): 任务 ID
  • user_id (必需): 用户 ID
  • user_role (必需): 用户角色 (1 医生, 2 志愿者, 3 普通志愿者)
  • max_count (可选): 分配的最大数量(默认 1)

示例:

将任务ID为123的任务分配给用户ID为456的医生

4. 查询任务状态 query_task_status

功能: 查询任务和分配状态

参数:

  • task_id (可选): 任务 ID
  • user_id (可选): 用户 ID
  • task_status (可选): 任务状态筛选 (0 未发布, 1 已发布, 2 已暂停, 3 已结束)
  • limit (可选): 返回结果数量限制(默认 10)

示例:

查询所有已发布的任务
查询用户ID为123的所有任务
查询任务ID为456的详细信息

5. 修改任务状态 update_task_status

功能: 修改任务的发布状态

参数:

  • task_id (必需): 任务 ID
  • new_status (必需): 新的任务状态 (0 未发布, 1 已发布, 2 已暂停, 3 已结束)

示例:

将任务ID为123的状态改为已暂停

💬 自然语言交互示例

以下是一些自然语言交互的示例:

创建任务

"帮我创建一个科普文章任务,用户ID为534333549"
"批量创建科普视频和科普直播各3个,用户ID为410902521,预算每个1.5万分"
"创建一个临床研究任务,描述为糖尿病临床试验,手机号为13810289901,时限30天"

分配任务

"将任务4257分配给用户ID为12345的医生"
"把刚创建的任务分配给用户534333549,角色是志愿者"

查询状态

"查询所有科普文章任务的状态"
"看看用户12345的任务完成情况"
"显示最近创建的10个任务"

状态管理

"将任务4257的状态改为已暂停"
"把任务4256设置为已结束"

🗂️ 数据库表结构

主要表

  • marketing_task - 任务主表
  • marketing_user_task - 用户任务分配表
  • marketing_task_assign_record - 任务分配记录表
  • marketing_user - 用户表

状态码说明

任务状态 (publish_status):

  • 0: 未发布
  • 1: 已发布
  • 2: 已暂停
  • 3: 已结束

用户任务状态 (task_status):

  • 0: 未开始
  • 1: 进行中
  • 2: 已完成
  • 3: 已放弃

🔧 开发和调试

开发模式

npm run dev  # 监听文件变化并自动重新构建

日志调试

服务器会输出详细的操作日志,包括:

  • 任务创建成功/失败信息
  • 数据库操作结果
  • 错误详情

🚨 注意事项

  1. 数据库安全:
    • ⚠️ 必须通过环境变量或 MCP 配置提供数据库连接信息
    • 🚫 绝不允许在代码中硬编码数据库密码
    • 🔐 建议为 MCP 服务器创建专用数据库用户,仅授予必要权限
  2. 权限管理: 服务器使用 mcp_system 作为操作者标识
  3. 数据完整性: 所有操作都会检查数据存在性和有效性
  4. 软删除: 使用 deleted=0 标识有效记录
  5. 预算单位: 所有金额以分为单位存储
  6. 配置安全:
    • 将包含敏感信息的配置文件添加到 .gitignore
    • 定期更换数据库密码
    • 监控数据库访问日志

🔗 集成说明

与 Claude Desktop 集成

  1. 在 Claude Desktop 配置文件中添加此 MCP 服务器
  2. 重启 Claude Desktop
  3. 即可通过自然语言与任务管理系统交互

与其他 MCP 客户端集成

支持所有标准的 MCP 客户端,通过 STDIO 协议通信。

与 Cursor 集成

推荐配置方式

# 安装包
npm install -g task-management-mcp

~/.cursor/mcp.json 或项目根目录的 .cursor/mcp.json 中配置:

{
  "mcpServers": {
    "task-management-mcp": {
      "command": "npx",
      "args": ["task-management-mcp"],
      "env": {
        "DB_HOST": "your-database-host",
        "DB_USER": "your-database-username",
        "DB_PASSWORD": "your-database-password",
        "DB_DATABASE": "your-database-name"
      }
    }
  }
}

💡 配置提示

  • 可以参考包中的 cursor-mcp-config.json 文件作为模板
  • 复制配置文件并修改数据库连接信息即可

🔒 安全提醒

  • 将包含敏感信息的 mcp.json 添加到 .gitignore
  • 考虑使用专用的数据库用户,仅授予必要权限
  • 定期更换数据库密码

📦 NPM 发布

发布到 NPM

# 构建项目
npm run build

# 发布到npm
npm publish --access public

安装使用

# 全局安装
npm install -g task-management-mcp

# 项目安装
npm install task-management-mcp

🏗️ 系统架构

用户 (自然语言)
  ↓
Cursor/Claude Desktop (MCP Client)
  ↓
Task Management MCP Server
  ↓
MySQL 数据库 (marketing database)

📄 许可证

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request!


通过这个 MCP 服务器,您可以用自然语言轻松管理医疗营销任务系统,大大提升工作效率!🎉