mcp-server-tapd


Namemcp-server-tapd JSON
Version 8.0.51 PyPI version JSON
download
home_pageNone
SummaryTAPD MCP Server
upload_time2025-07-09 11:50:10
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
licenseNone
keywords mcp tapd
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TAPD MCP Server

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

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

## 系统要求

* uv
* TAPD Access Token(推荐)或 TAPD API 账号密码

## 快速开始
### Install uv
```
brew install uv
# OR
curl -LsSf https://astral.sh/uv/install.sh | sh
```

### 参数
- TAPD_ACCESS_TOKEN: 个人令牌(推荐)
- TAPD_API_USER: API账号 
- TAPD_API_PASSWORD: API密钥 
- BOT_URL: 企业微信机器人 webhook 地址,如果需要发送消息到企业微信群才需要填(选填)

注意 TAPD_API_USER/TAPD_API_PASSWORD(TAPD API 账号密码) 与 TAPD_ACCESS_TOKEN(TAPD 个人授权令牌)为两种调用 MCP 的凭据,选一种即可。


### 获取 TAPD Access Token(推荐)
TAPD_ACCESS_TOKEN 为 TAPD 个人令牌,在 [我的设置-个人访问令牌](https://www.tapd.cn/personal_settings/index?tab=personal_token)  点“创建个人访问令牌”,令牌只显示一次,注意保存下来。

### 获取 API 账号密码(兼容)

1. 未注册,请前往 [注册](https://www.tapd.cn?from_partner=copilot&source=tapd_operation_copilot)
2. 已注册但未授权API,请前往API配置:登录TAPD,点击进入 [公司管理-API账号管理](https://www.tapd.cn/open_platform/open_api_redirect?from_partner=copilot&source=tapd_operation_copilot),复制API账号和API密钥


## IDE 配置
### Claude Desktop / Cursor
#### 本地 stdio 运行,环境变量配置示例(推荐个人 Token)
```json
{
  "mcpServers": {
    "mcp-server-tapd": {
      "command": "uvx",
      "args": ["mcp-server-tapd"],
      "env": {
        "TAPD_ACCESS_TOKEN": "您的个人Token",
        // 兼容账号密码方式(如未配置 Token 时生效)
        "TAPD_API_USER": "",
        "TAPD_API_PASSWORD": "",
        "TAPD_API_BASE_URL": "https://api.tapd.cn",
        "TAPD_BASE_URL": "https://www.tapd.cn",
        "BOT_URL": ""
      }
    }
  }
}
```


### Streamable HTTP 配置
使用 Streamable HTTP 替代 stdio
1. 在终端手动启动服务
```
git clone https://cnb.cool/tapd_mcp/mcp-server-tapd.git

cd mcp-server-tapd/src/mcp_server_tapd

uv venv && source .venv/bin/activate

uv pip install requests markdown mcp mcp_server_tapd

python server.py --mode=streamable-http --host="0.0.0.0" --port=8000 --path="/mcp" --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"

# 如果使用个人 Token,则将 --api-user=your_api_user --api-password=your_api_password 替换为 --access-token=您的个人Token

```

2. 通过如下配置连接到已启动的服务
```json
{
  "mcpServers": {
    "tapd_mcp_http": {
      "url": "http://localhost:8000/mcp/"
    }
  }
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-tapd",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "mcp, tapd",
    "author": null,
    "author_email": "ryanjhzheng <zhengjianhong95@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c9/d6/ca3a4268db8f7324d5f9e347dfb80ad0e2f5aa93bf53bafbc64f3da89920/mcp_server_tapd-8.0.51.tar.gz",
    "platform": null,
    "description": "# TAPD MCP Server\n\nTAPD \u662f\u817e\u8baf\u654f\u6377\u7814\u53d1\u7ba1\u7406\u5e73\u53f0\uff0c\u8986\u76d6\u9700\u6c42\u3001\u8ba1\u5212\u3001\u7814\u53d1\u3001\u6d4b\u8bd5\u3001\u53d1\u5e03\u7814\u53d1\u5168\u751f\u547d\u5468\u671f\u3002\u652f\u6301\u7528\u81ea\u7136\u8bed\u8a00\u4e0e TAPD \u5bf9\u8bdd\uff0c\u5b9e\u73b0\u9700\u6c42\u3001\u7f3a\u9677\u3001\u4efb\u52a1\u3001\u8fed\u4ee3\u7b49\u7ba1\u7406\u3002\n\n* \u4e0e TAPD API \u65e0\u7f1d\u96c6\u6210\uff0c\u63d0\u5347\u5f00\u53d1\u6548\u7387\n\n## \u7cfb\u7edf\u8981\u6c42\n\n* uv\n* TAPD Access Token\uff08\u63a8\u8350\uff09\u6216 TAPD API \u8d26\u53f7\u5bc6\u7801\n\n## \u5feb\u901f\u5f00\u59cb\n### Install uv\n```\nbrew install uv\n# OR\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n### \u53c2\u6570\n- TAPD_ACCESS_TOKEN: \u4e2a\u4eba\u4ee4\u724c\uff08\u63a8\u8350\uff09\n- TAPD_API_USER: API\u8d26\u53f7 \n- TAPD_API_PASSWORD: API\u5bc6\u94a5 \n- BOT_URL: \u4f01\u4e1a\u5fae\u4fe1\u673a\u5668\u4eba webhook \u5730\u5740\uff0c\u5982\u679c\u9700\u8981\u53d1\u9001\u6d88\u606f\u5230\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u624d\u9700\u8981\u586b\uff08\u9009\u586b\uff09\n\n\u6ce8\u610f TAPD_API_USER/TAPD_API_PASSWORD\uff08TAPD API \u8d26\u53f7\u5bc6\u7801\uff09 \u4e0e TAPD_ACCESS_TOKEN\uff08TAPD \u4e2a\u4eba\u6388\u6743\u4ee4\u724c\uff09\u4e3a\u4e24\u79cd\u8c03\u7528 MCP \u7684\u51ed\u636e\uff0c\u9009\u4e00\u79cd\u5373\u53ef\u3002\n\n\n### \u83b7\u53d6 TAPD Access Token\uff08\u63a8\u8350\uff09\nTAPD_ACCESS_TOKEN \u4e3a TAPD \u4e2a\u4eba\u4ee4\u724c\uff0c\u5728 [\u6211\u7684\u8bbe\u7f6e-\u4e2a\u4eba\u8bbf\u95ee\u4ee4\u724c](https://www.tapd.cn/personal_settings/index?tab=personal_token)  \u70b9\u201c\u521b\u5efa\u4e2a\u4eba\u8bbf\u95ee\u4ee4\u724c\u201d\uff0c\u4ee4\u724c\u53ea\u663e\u793a\u4e00\u6b21\uff0c\u6ce8\u610f\u4fdd\u5b58\u4e0b\u6765\u3002\n\n### \u83b7\u53d6 API \u8d26\u53f7\u5bc6\u7801\uff08\u517c\u5bb9\uff09\n\n1. \u672a\u6ce8\u518c\uff0c\u8bf7\u524d\u5f80 [\u6ce8\u518c](https://www.tapd.cn?from_partner=copilot&source=tapd_operation_copilot)\n2. \u5df2\u6ce8\u518c\u4f46\u672a\u6388\u6743API\uff0c\u8bf7\u524d\u5f80API\u914d\u7f6e\uff1a\u767b\u5f55TAPD\uff0c\u70b9\u51fb\u8fdb\u5165 [\u516c\u53f8\u7ba1\u7406-API\u8d26\u53f7\u7ba1\u7406](https://www.tapd.cn/open_platform/open_api_redirect?from_partner=copilot&source=tapd_operation_copilot)\uff0c\u590d\u5236API\u8d26\u53f7\u548cAPI\u5bc6\u94a5\n\n\n## IDE \u914d\u7f6e\n### Claude Desktop / Cursor\n#### \u672c\u5730 stdio \u8fd0\u884c\uff0c\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u793a\u4f8b\uff08\u63a8\u8350\u4e2a\u4eba Token\uff09\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-tapd\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-tapd\"],\n      \"env\": {\n        \"TAPD_ACCESS_TOKEN\": \"\u60a8\u7684\u4e2a\u4ebaToken\",\n        // \u517c\u5bb9\u8d26\u53f7\u5bc6\u7801\u65b9\u5f0f\uff08\u5982\u672a\u914d\u7f6e Token \u65f6\u751f\u6548\uff09\n        \"TAPD_API_USER\": \"\",\n        \"TAPD_API_PASSWORD\": \"\",\n        \"TAPD_API_BASE_URL\": \"https://api.tapd.cn\",\n        \"TAPD_BASE_URL\": \"https://www.tapd.cn\",\n        \"BOT_URL\": \"\"\n      }\n    }\n  }\n}\n```\n\n\n### Streamable HTTP \u914d\u7f6e\n\u4f7f\u7528 Streamable HTTP \u66ff\u4ee3 stdio\n1. \u5728\u7ec8\u7aef\u624b\u52a8\u542f\u52a8\u670d\u52a1\n```\ngit clone https://cnb.cool/tapd_mcp/mcp-server-tapd.git\n\ncd mcp-server-tapd/src/mcp_server_tapd\n\nuv venv && source .venv/bin/activate\n\nuv pip install requests markdown mcp mcp_server_tapd\n\npython server.py --mode=streamable-http --host=\"0.0.0.0\" --port=8000 --path=\"/mcp\" --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\"\n\n# \u5982\u679c\u4f7f\u7528\u4e2a\u4eba Token\uff0c\u5219\u5c06 --api-user=your_api_user --api-password=your_api_password \u66ff\u6362\u4e3a --access-token=\u60a8\u7684\u4e2a\u4ebaToken\n\n```\n\n2. \u901a\u8fc7\u5982\u4e0b\u914d\u7f6e\u8fde\u63a5\u5230\u5df2\u542f\u52a8\u7684\u670d\u52a1\n```json\n{\n  \"mcpServers\": {\n    \"tapd_mcp_http\": {\n      \"url\": \"http://localhost:8000/mcp/\"\n    }\n  }\n}\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "TAPD MCP Server",
    "version": "8.0.51",
    "project_urls": null,
    "split_keywords": [
        "mcp",
        " tapd"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9a5dc4785a44741cf495084d18e33d54f0e9db442c138ffdca54576a0503545c",
                "md5": "684ce55edacbca6c3f60df6721acf178",
                "sha256": "4bd0309dd3326ab0a8d8dcc75c943acbb425528a39fc4d40a053bf5c0e23855d"
            },
            "downloads": -1,
            "filename": "mcp_server_tapd-8.0.51-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "684ce55edacbca6c3f60df6721acf178",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 18534,
            "upload_time": "2025-07-09T11:49:56",
            "upload_time_iso_8601": "2025-07-09T11:49:56.810453Z",
            "url": "https://files.pythonhosted.org/packages/9a/5d/c4785a44741cf495084d18e33d54f0e9db442c138ffdca54576a0503545c/mcp_server_tapd-8.0.51-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9d6ca3a4268db8f7324d5f9e347dfb80ad0e2f5aa93bf53bafbc64f3da89920",
                "md5": "d45d58b160c5948b8e6b2ce4675b7728",
                "sha256": "3e46fa9b97c5064a65f966bbdf57aa9bb0556b1495c994a97c02ecc0660177b6"
            },
            "downloads": -1,
            "filename": "mcp_server_tapd-8.0.51.tar.gz",
            "has_sig": false,
            "md5_digest": "d45d58b160c5948b8e6b2ce4675b7728",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 18587,
            "upload_time": "2025-07-09T11:50:10",
            "upload_time_iso_8601": "2025-07-09T11:50:10.188759Z",
            "url": "https://files.pythonhosted.org/packages/c9/d6/ca3a4268db8f7324d5f9e347dfb80ad0e2f5aa93bf53bafbc64f3da89920/mcp_server_tapd-8.0.51.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 11:50:10",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mcp-server-tapd"
}
        
Elapsed time: 0.52755s