yunxiao-projex-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YUNXIAO_API_ORG_ID | Yes | 云效组织 ID | |
| YUNXIAO_API_ENDPOINT | No | 云效 API Endpoint | devops.cn-hangzhou.aliyuncs.com |
| YUNXIAO_API_PROJECT_ID | Yes | 云效 Projex 项目 ID | |
| YUNXIAO_USER_ACCESS_KEY_ID | Yes | 云效 Bot AccessKey ID | |
| YUNXIAO_USER_ACCESS_KEY_SECRET | Yes | 云效 Bot AccessKey Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
云效 Projex 项目管理 MCP。所有操作固定作用于 .env 中 YUNXIAO_API_PROJECT_ID 指定的项目。创建或更新工作项前,先调用 list_workitem_types、list_workitem_fields、list_workitem_statuses 和 list_project_members 获取类型、必填字段、状态和账号 ID。判断自己负责的工作项时,调用 get_current_user 或使用 list_workitems 的 assigned_to_me。YUNXIAO_USER_NAME 可选,未设置时自动识别,设置后必须与当前 AccessKey 用户的显示名一致。删除操作必须显式传 confirm=true。
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_projectB | 获取当前配置项目的基本信息。 |
| get_current_userA | 获取当前 AccessKey 对应的云效用户及其在当前项目中的成员 ID。identifier 可用于与 assignedTo 比较;YUNXIAO_USER_NAME 设置后会严格校验。 |
| list_project_membersA | 列出当前项目成员及其角色,返回可用于 assigned_to 的账号 ID。 |
| list_workitem_typesA | 列出当前项目指定大类(Req/Bug/Task)下的工作项类型。 |
| list_workitem_fieldsB | 列出指定工作项类型的字段定义、是否必填及选项。 |
| list_workitem_statusesB | 列出指定工作项大类或类型的可用状态流。 |
| list_workitemsA | 分页查询当前项目的工作项。可按标题、状态、负责人、迭代筛选;多个状态值按同一条件的可选值处理。assigned_to_me=true 只返回当前 AccessKey 用户负责的工作项;结果含 isMine。 |
| get_workitemB | 获取当前项目内单个工作项的完整信息;isMine 表示负责人是否为当前 AccessKey 用户。 |
| get_workitem_fileA | 认证下载当前项目工作项中的文件或图片。图片直接返回图像内容;其他文件返回 Base64。可传 save_to 将文件保存到本地(目录或完整路径),返回的 path 可用 view_image 等工具查看。仅支持描述等富文本中的 fileIdentifier,最大 10 MiB。 |
| list_workitem_commentsB | 列出当前项目内某个工作项的评论。 |
| list_sprintsC | 分页列出当前项目的迭代。 |
| get_sprintA | 获取当前项目内单个迭代的信息。 |
| create_workitemA | 在当前项目创建工作项。assigned_to 使用成员账号 ID;custom_fields 用于必填自定义字段,例如 priority。 |
| update_workitemB | 更新当前项目内的工作项。fields 是字段 identifier 到新值的映射,不能包含 description;description 单独使用 description 参数更新。 |
| delete_workitemB | 删除当前项目内的工作项。必须显式传 confirm=true。 |
| create_workitem_commentB | 给当前项目内的工作项添加评论,默认 Markdown 格式。 |
| update_workitem_commentC | 修改当前项目内工作项的一条评论。 |
| delete_workitem_commentB | 删除当前项目内工作项的一条评论。必须显式传 confirm=true。 |
| create_sprintA | 在当前项目创建迭代。日期格式为 YYYY-MM-DD;owner_ids 使用成员账号 ID。云效没有删除迭代的接口。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools target distinct resources and actions: project metadata, workitems, comments, and sprints each have clearly separated operations. The three metadata lookups (list_workitem_types/fields/statuses) and the member-related pair (get_current_user vs list_project_members) could be momentarily confused, but the descriptions distinguish them well enough.
Every tool follows a strict snake_case verb_noun convention (get_, list_, create_, update_, delete_) applied consistently across projects, workitems, comments, and sprints. Sub-resources are composed predictably, e.g. list_workitem_comments, create_workitem_comment, create_sprint.
Nineteen tools is at the upper edge of comfortable, but the domain (workitems, comments, sprints, plus schema/introspection helpers) justifies nearly all of them. Each tool maps to a real operation rather than being redundant, though a couple of the metadata listers could arguably be consolidated.
Workitems and comments have full CRUD coverage, and the metadata/introspection tools (types, fields, statuses, members) support correct create/update calls. The main gap is sprints, which only offer list/get/create with no update or delete (the latter explicitly unavailable via the API), so sprint lifecycle management is partially a dead end.