mcp server tapd

Local 2025-09-01 00:14:47 0

TAPD 是腾讯敏捷研发管理平台,覆盖需求、计划、研发、测试、发布研发全生命周期。支持用自然语言与 TAPD 对话,实现需求、缺陷、任务、迭代等管理。


TAPD 是腾讯敏捷研发管理平台,覆盖需求、计划、研发、测试、发布研发全生命周期。支持用自然语言与 TAPD 对话,实现需求、缺陷、任务、迭代等管理。

  • 与 TAPD API 无缝集成,提升开发效率

System requirements

  • uv
  • TAPD API Token

Setup Guide

Install uv

brew install uv
# OR
curl -LsSf https://astral.sh/uv/install.sh | sh

Get TAPD API Token

Get API tokens from: https://www.tapd.cn/open_platform/open_api_redirect

  1. 未注册,请前往 注册
  2. 已注册但未授权API,请前往API配置:登录TAPD,点击进入“公司管理-API账号管理”,复制API账号和API密钥
  3. 参数
  4. TAPD_API_USER: API账号
  5. TAPD_API_PASSWORD: API密钥
  6. BOT_URL: 企业微信机器人 webhook 地址,选填,如果需要发送消息到企业微信群才需要填

Configuration and Usage

Claude Desktop Setup

{
  "mcpServers": {
    "mcp-server-tapd": {
      "command": "uvx",
      "args": ["mcp-server-tapd"],
      "env": {
        "TAPD_API_USER": "",
        "TAPD_API_PASSWORD": "",
        "TAPD_API_BASE_URL": "https://api.tapd.cn",
        "TAPD_BASE_URL": "https://www.tapd.cn",
        "BOT_URL": ""
      }
    }
  }
}

Cursor IDE Setup

  1. Open Cursor Settings
  2. Navigate to Features > MCP Servers
  3. Click Add new MCP server

For stdio transport:

name: mcp-server-tapd
type: command
command: uvx mcp-server-tapd --api-user=your_api_user --api-password=your_api_password --api-base-url=https://api.tapd.cn --tapd-base-url=https://www.tapd.cn  --bot-url=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX

[
  {
    "description": "获取 TAPD 需求,如果没有 limit 参数,则需要同时调用 get_story_count 工具获取需求数量nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_stories.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - id: IDn        - name: 标题,支持模糊匹配,例如:"%需求%"n        等等...nReturns:  <str>  # 需求所有字段数据的 json 格式,返回需求链接给用户,链接要可点击,链接的格式。而且需要返回剩余的需求数量,让用户确定是否需要继续获取剩余的需求nNote: 需求链接格式为 {tapd_base_url}/{workspace_id}/prong/stories/view/{story_id}nNote: 如果没有给limit 参数,则需要提醒用户剩余的需求数量n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_storiesArguments",
      "type": "object"
    },
    "name": "get_stories"
  },
  {
    "description": "获取 TAPD 需求自定义字段配置nArgs:n    workspace_id: 项目ID(必填)nReturns:  <str>  # 需求所有自定义字段配置数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_story_custom_fieldsArguments",
      "type": "object"
    },
    "name": "get_story_custom_fields"
  },
  {
    "description": "获取 TAPD 需求数量nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_stories_count.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - id: IDn        - name: 标题n        等等...nReturns:  <str>  # 需求所有字段数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_story_countArguments",
      "type": "object"
    },
    "name": "get_story_count"
  },
  {
    "description": "更新 TAPD 需求nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/update_story.htmlnArgs:n    workspace_id: 项目ID(必填,格式如:59271484)n    options: 可选参数字典,支持以下字段:n        - id: 需求ID(必填,格式如:1159271484001002933)n        - name: 标题n        - description: 需求描述n        等等...nReturns: <str>,  # 需求所有字段数据的 json 格式nNote: 需求链接格式为 {tapd_base_url}/{workspace_id}/prong/stories/view/{story_id}n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "update_storyArguments",
      "type": "object"
    },
    "name": "update_story"
  },
  {
    "description": "创建 TAPD 需求nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/add_story.htmlnArgs:n    workspace_id: 项目ID(必填)n    name: 需求标题(必填)n    options: 可选参数字典,支持以下字段:n        - priority_label: 优先级n        - description: 需求描述,用富文本格式n        等等...nReturns:n    {n        "data": <str>,  # 需求所有字段数据的 json 格式n        "url": <str>  # 需求 url,返回给用户时,链接要可点击n    }n",
    "inputSchema": {
      "properties": {
        "name": {
          "title": "Name",
          "type": "string"
        },
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id",
        "name"
      ],
      "title": "create_storyArguments",
      "type": "object"
    },
    "name": "create_story"
  },
  {
    "description": "获取 TAPD 缺陷nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - id: IDn        - title: 标题n        等等...nReturns:  <str>  # 缺陷所有字段数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_bugArguments",
      "type": "object"
    },
    "name": "get_bug"
  },
  {
    "description": "获取 TAPD 缺陷自定义字段配置nArgs:n    workspace_id: 项目ID(必填)nReturns:  <str>  # 需求所有自定义字段配置数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_bug_custom_fieldsArguments",
      "type": "object"
    },
    "name": "get_bug_custom_fields"
  },
  {
    "description": "获取 TAPD 缺陷nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs_count.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - id: IDn        - name: 标题n        等等...nReturns:  <str>  # 需求所有字段数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_bug_countArguments",
      "type": "object"
    },
    "name": "get_bug_count"
  },
  {
    "description": "更新 TAPD 缺陷nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/update_bug.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - id: 缺陷ID(必填)n        - title: 标题n        - description: 描述n        等等...nReturns: <str>  # 缺陷所有字段数据的 json 格式n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "update_bugArguments",
      "type": "object"
    },
    "name": "update_bug"
  },
  {
    "description": "创建 TAPD 缺陷nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/add_bug.htmlnArgs:n    workspace_id: 项目ID(必填)n    title: 缺陷标题(必填)n    options: 可选参数字典,支持以下字段:n        - priority_label: 优先级n        - description: 描述n        等等...nReturns:n    {n        "data": <str>,  # 所有字段数据的 json 格式n        "url": <str>  #  url,返回给用户时,链接要可点击n    }n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id",
        "title"
      ],
      "title": "create_bugArguments",
      "type": "object"
    },
    "name": "create_bug"
  },
  {
    "description": "添加评论nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/comment/add_comment.htmlnArgs:n    workspace_id: 项目ID(必填)n    options: 可选参数字典,支持以下字段:n        - entry_id: 评论所依附的业务对象实体id(必填,格式如:1159271484001002933)n        - entry_type: 评论类型(取值: bug、 bug_remark (流转缺陷时候的评论)、 stories、 tasks 。)(必填)n        - author: 评论人(必填)n        - description: 内容(必填)n        - root_id: 根评论IDn        - reply_id: 需求评论回复的IDnReturns: <str>  # 新建评论的数据n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "create_commentsArguments",
      "type": "object"
    },
    "name": "create_comments"
  },
  {
    "description": "获取项目下的工作流流转细则,例如要流转到"实现中",则需要调用这个工具查看当前状态能流转到的状态nArgs:n    workspace_id: 项目ID(必填)n    options:n        - system: 系统名。取 bug (缺陷的)或者 story(需求的)(必填)n        - workitem_type_id: 需求类别ID(必填)nReturns: <str>  状态流转细则n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_workflows_all_transitionsArguments",
      "type": "object"
    },
    "name": "get_workflows_all_transitions"
  },
  {
    "description": "获取工作流状态中英文名对应关系,例如想要获取所有"实现中"的需求/缺陷等,可以调用这个接口先获取状态的英文名,再根据这个英文名作为 status 字段的值去查询nArgs:n    workspace_id: 项目ID(必填)n    options:n        - system: 系统名。取 bug (缺陷的)或者 story(需求的)(必填)n        - workitem_type_id: 需求类别ID(必填)nReturns: <str>  状态流转细则n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_workflows_status_mapArguments",
      "type": "object"
    },
    "name": "get_workflows_status_map"
  },
  {
    "description": "获取符合查询条件的所有需求类别(分页显示,默认一页30条)nTAPD API 文档:https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_workitem_types.htmlnArgs:n    workspace_id: 项目ID(必填)n    options:n        - id: id,支持多ID查询n        - name: 需求类别名称n        等等...nReturns: <str>  项目下所有需求类别字段数据n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_workitem_typesArguments",
      "type": "object"
    },
    "name": "get_workitem_types"
  },
  {
    "description": "获取工作流结束状态,一次只能获取一个项目的工作流结束状态nArgs:n    workspace_id: 项目ID(必填)n    options:n        - system: 系统名。取 bug (缺陷的)或者 story(需求的)(必填)n        - workitem_type_id: 需求类别id(不传则取项目下所有工作流的结束状态)n        - type: 节点类型,仅并行工作流需区分。status 状态,step 并行工作流节点。默认只返回结束状态。若需要同时返回结束状态和结束节点,支持数组type[]=status&type[]=stepnReturns: <str> 工作流结束状态n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_workflows_last_stepsArguments",
      "type": "object"
    },
    "name": "get_workflows_last_steps"
  },
  {
    "description": "获取需求自定义字段配置,一次只能获取一个项目的配置nArgs:n    workspace_id: 项目ID(必填)nReturns: <str> 需求自定义字段配置n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_stories_custom_fields_settingsArguments",
      "type": "object"
    },
    "name": "get_stories_custom_fields_settings"
  },
  {
    "description": "获取需求所有字段的中英文nArgs:n    workspace_id: 项目ID(必填)nReturns: <str> n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_stories_fields_lableArguments",
      "type": "object"
    },
    "name": "get_stories_fields_lable"
  },
  {
    "description": "获取需求所有字段及候选值,返回符合查询条件的所有需求字段及候选值。 部分字段为静态候选值,建议参考下方 "可选值说明"部分。其余动态字段(如:status(状态)/iteration_id(迭代)/categories(需求分类)),需要通过该接口获取对应的候选值(中英文映射)nArgs:n    workspace_id: 项目ID(必填)nReturns: <str> n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_stories_fields_infoArguments",
      "type": "object"
    },
    "name": "get_stories_fields_info"
  },
  {
    "description": "根据项目ID(workspace_id)获取项目信息,包含项目ID,项目名称,状态,创建时间,创建人等信息nArgs:n    workspace_id: 项目ID(必填)nReturns: <str> n",
    "inputSchema": {
      "properties": {
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_workspace_infoArguments",
      "type": "object"
    },
    "name": "get_workspace_info"
  },
  {
    "description": "根据项目ID(workspace_id)获取符合查询条件的所有迭代,例如可以通过名称获取迭代 id,然后作为iteration_id字段的值获取到迭代下的需求或缺陷nArgs:n    workspace_id: 项目ID(必填)n    options:n        - id: IDn        - name: 标题n        - startdate: 开始时间n        - enddate: 结束时间n        ...nReturns: <str> n",
    "inputSchema": {
      "properties": {
        "options": {
          "additionalProperties": true,
          "default": null,
          "title": "Options",
          "type": "object"
        },
        "workspace_id": {
          "title": "Workspace Id",
          "type": "integer"
        }
      },
      "required": [
        "workspace_id"
      ],
      "title": "get_iterationsArguments",
      "type": "object"
    },
    "name": "get_iterations"
  },
  {
    "description": "发送信息到企业微信群nArgs:n    msg: 推送的企业微信的信息,Markdown 格式(必填)nReturns: <str> n",
    "inputSchema": {
      "properties": {
        "msg": {
          "title": "Msg",
          "type": "string"
        }
      },
      "required": [
        "msg"
      ],
      "title": "send_qiwei_messageArguments",
      "type": "object"
    },
    "name": "send_qiwei_message"
  }
]