Skip to main content

云效 Projex 项目管理 MCP

PyPI License: MIT

An MCP server for Alibaba Cloud Yunxiao (阿里云云效) Projex project management. It exposes work items, sprints, comments, members and project metadata as MCP tools over stdio.

基于阿里云云效 Projex OpenAPI 的 MCP 服务。使用 YUNXIAO_USER_* Bot Key,所有工具固定作用于 YUNXIAO_API_PROJECT_ID 指定的项目,无法访问其他项目。

安装

从 PyPI 运行,无需本地克隆:

uvx yunxiao-projex-mcp

或安装到本地环境:

uv tool install yunxiao-projex-mcp

本地开发:

uv sync --all-extras

配置

需要以下环境变量:

变量 必填 说明
YUNXIAO_USER_ACCESS_KEY_ID 是 云效 Bot AccessKey ID
YUNXIAO_USER_ACCESS_KEY_SECRET 是 云效 Bot AccessKey Secret
YUNXIAO_API_ORG_ID 是 云效组织 ID
YUNXIAO_API_PROJECT_ID 是 云效 Projex 项目 ID
YUNXIAO_API_ENDPOINT 否 默认 devops.cn-hangzhou.aliyuncs.com

标准 mcpServers 配置(Magpie / Claude Desktop / Cursor 等通用):

{
  "mcpServers": {
    "yunxiao-projex": {
      "command": "uvx",
      "args": ["yunxiao-projex-mcp"],
      "env": {
        "YUNXIAO_USER_ACCESS_KEY_ID": "your-access-key-id",
        "YUNXIAO_USER_ACCESS_KEY_SECRET": "your-access-key-secret",
        "YUNXIAO_API_ORG_ID": "your-organization-id",
        "YUNXIAO_API_PROJECT_ID": "your-project-id",
        "YUNXIAO_API_ENDPOINT": "devops.cn-hangzhou.aliyuncs.com"
      }
    }
  }
}

YUNXIAO_API_ENDPOINT 可省略,省略时使用默认值。

本地 .env

从源码运行时,可在项目根目录放置 .env:

YUNXIAO_API_ORG_ID=...
YUNXIAO_API_PROJECT_ID=...
YUNXIAO_API_ENDPOINT=devops.cn-hangzhou.aliyuncs.com
YUNXIAO_USER_ACCESS_KEY_ID=...
YUNXIAO_USER_ACCESS_KEY_SECRET=...

建议执行 chmod 600 .env,并确保 .env 不被提交到版本库。

接入 Codex

codex mcp add yunxiao_projex -- uvx yunxiao-projex-mcp
codex mcp list

等价的 ~/.codex/config.toml 配置:

[mcp_servers.yunxiao_projex]
command = "uvx"
args = ["yunxiao-projex-mcp"]

[mcp_servers.yunxiao_projex.env]
YUNXIAO_API_ORG_ID = "..."
YUNXIAO_API_PROJECT_ID = "..."
YUNXIAO_USER_ACCESS_KEY_ID = "..."
YUNXIAO_USER_ACCESS_KEY_SECRET = "..."

接入 Magpie

该服务发布到官方 MCP Registry 后,名称为 io.github.MrLinWang/aliyun-yunxiao-projex-mcp。在 Magpie 的 Discover 中搜索 yunxiao、projex、aliyun 或 mcp 即可找到,安装时按提示填写环境变量。

也可以直接编辑 Magpie 的 MCP 配置,使用上面的 mcpServers JSON 片段。

工具

只读:get_project、list_project_members、list_workitem_types、list_workitem_fields、list_workitem_statuses、list_workitems、get_workitem、list_workitem_comments、list_sprints、get_sprint。

写入:create_workitem、update_workitem、create_workitem_comment、update_workitem_comment、create_sprint。

删除:delete_workitem、delete_workitem_comment,均要求 confirm=true。

使用约定

  • assigned_to、owner_ids、participants、trackers、verifier 使用项目成员的账号 ID,可通过 list_project_members 获取。
  • 创建工作项前先查 list_workitem_types、list_workitem_fields 和 list_workitem_statuses;必填自定义字段(例如 priority)通过 custom_fields 传入选项 ID。
  • list_project_members 内部固定使用 targetType=Space。
  • 描述和评论默认使用 Markdown;日期使用 YYYY-MM-DD。
  • 删除评论和删除工作项会先校验资源属于当前项目,再执行删除;工作项删除为异步生效,列表索引可能需要数秒刷新。
  • create_workitem_comment 默认创建顶级评论,回复评论时才需要传 parent_id。

权限限制

  • 当前 Bot 角色为“开发机器人”,修改项目字段、管理项目成员会返回 403。
  • 不包含工时/预估、附件、工作项关联、工作项动态、项目创建/删除、迭代修改/删除。
  • 代码库与流水线不在本服务范围内。

测试

.venv/bin/python -m pytest -m "not live"
YUNXIAO_LIVE_TESTS=1 .venv/bin/python -m pytest -m "live and not live_write"
YUNXIAO_LIVE_TESTS=1 YUNXIAO_LIVE_WRITE_TESTS=1 .venv/bin/python -m pytest -m live_write

写入测试会创建 __mcp_probe__ 临时工作项并在结束时删除;create_sprint 不做线上写入测试,因为云效未提供删除迭代接口。

许可证

MIT

Metadata

Release files for yunxiao-projex-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yunxiao-projex-mcp 0.1.0
File Size Uploaded Provenance Actions
yunxiao_projex_mcp-0.1.0.tar.gz 19.2 kB Without provenance Details for yunxiao_projex_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for yunxiao-projex-mcp 0.1.0
File Interpreter ABI Platform Actions
yunxiao_projex_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for yunxiao_projex_mcp-0.1.0-py3-none-any.whl

Total release size: 32.5 kB

Release files / yunxiao_projex_mcp-0.1.0.tar.gz

Download URL yunxiao_projex_mcp-0.1.0.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
137d1af94e50bf81cb4c50331a8464e969fd5d7db6592235beb863a3139ac0a3
BLAKE2b-256 checksum
How to use checksums
eb03e5e08e7529d037907741c43d1518096257965fa4a7662e90ea088c3b681d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.13

Release files / yunxiao_projex_mcp-0.1.0-py3-none-any.whl

Download URL yunxiao_projex_mcp-0.1.0-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00f7b7536a2f3ee2173dd8befa0fdab9ef0563e9573ac584df4bb82d76c7ec99
BLAKE2b-256 checksum
How to use checksums
39326a6e154dad8db9ce4240c5b3c61a4c8ee63088ad2f872ca8965eacc313f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.13

Security for yunxiao-projex-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page