AlibabaCloud DevOps MCP Server
OfficialThe AlibabaCloud DevOps MCP Server enables AI assistants to interact with the Yunxiao DevOps platform, automating development workflows. It supports stdio and SSE modes, configurable toolsets, and Docker/npx deployment options.
Organization Management
Get current user/organization info, list memberships
Manage departments (list, details, ancestor hierarchy)
Manage members (list, search, get by ID)
Manage roles (list, get details)
Code Management
Repositories: List and get details
Branches: Create, delete, get, and list
Files: Create, read, update, delete, and list (tree structure)
Merge/Change Requests: Create, get, list; manage comments and patch sets
Code Comparison: Compare branches, tags, or commits
Commits: List, get details, create comments
Project Management
Projects: Get details and search with filters
Sprints: Create, update, get, and list
Work Items: Create, update, get, and search with rich filters (status, assignee, priority, dates, tags, etc.)
Work Item Types: List/get at org and project levels; access field configs and workflow info
Comments: List and create on work items
Time Tracking: Log/update actual and estimated work hours; retrieve effort records
Pipeline & Delivery Management
Manage CI/CD pipelines, execute jobs, view logs, and handle deployments
Create deployment orders, manage applications, variables, and release workflows
Artifact & Test Management
Manage package repositories and artifacts
Manage test cases, directories, plans, and results
Provides comprehensive integration with AlibabaCloud Devops (Yunxiao) platform, enabling management of organizations, code repositories, projects, work items, pipelines, artifacts, application delivery, and test cases. Supports operations like creating branches, merge requests, work items, pipeline runs, and deployment orders.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AlibabaCloud DevOps MCP Serverlist open merge requests for the backend-api repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
alibabacloud-devops-mcp-server
AlibabaCloud Devops MCP Server provides AI assistants with the ability to interact with the Yunxiao platform, enabling them to read work item contents in projects, automatically write code after understanding requirements, and submit code merge requests. Enterprise development teams can use it to assist with code reviews, optimize task management, reduce repetitive operations, and thus focus on more important innovation and product delivery.
Features
alibabacloud-devops-mcp-server provides the following capabilities for AI assistants:
organization-management: Organization management tools (organization list, organization details, department information, organizational roles, member information, etc.)code-management: Code repository management tools (repository management, branch management, merge request management, file tree, etc.)project-management: Project management tools (project management, work item management, work item fields, work item comments, time tracking, etc.)pipeline-management: Pipeline management tools (pipeline list, pipeline configuration, resource management, tag management, deployment management, etc.)application-delivery: Application delivery tools (deployment order management, application management, application tags, variable group management, etc.)packages-management: Artifact repository management tools (artifact repositories, artifact lists, etc.)test-management: Test management tools (test case management, test case directories, test plans, test results, etc.)
Related MCP server: Azure DevOps MCP Server
Usage
Region Edition Support
This tool supports both Yunxiao central station and Region edition deployment modes:
Central Station: Uses
https://openapi-rdc.aliyuncs.comas the API domainRegion Edition: Uses organization-specific domains, such as
https://your-org.devops.aliyuncs.com
Automatic Mode Detection
The tool automatically determines the deployment mode based on the configured API base URL:
If the URL contains
openapi-rdc.aliyuncs.com, it operates in central station modeOtherwise, it operates in region edition mode
Configuring Region Edition
When using a Region edition, set the YUNXIAO_API_BASE_URL environment variable:
{
"mcpServers": {
"yunxiao": {
"command": "npx",
"args": ["-y", "alibabacloud-devops-mcp-server"],
"env": {
"YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>",
"YUNXIAO_API_BASE_URL": "https://your-org.devops.aliyuncs.com"
}
}
}
}Prerequisites
node version >= 18.0.0
AlibabaCloud Devops Personal Access Token, click here to obtain. Grant read and write permissions to all APIs under organization management, project collaboration, code management, pipeline management, artifact repository management, application delivery and testing management.

Official Hosted MCP Service (No Install)
Yunxiao provides an officially hosted MCP endpoint — no local install or Docker needed. Just point your client at it and authenticate with your Yunxiao token.
Central:
https://openapi-rdc.aliyuncs.com/ai/mcpRegion edition: your organization's region domain +
/ai/mcp, e.g.https://<your-org>.devops.aliyuncs.com/ai/mcp— the same domain you use to access Yunxiao in your region.Transport: Streamable HTTP (stateless)
Auth:
Authorization: Bearer <YOUR_TOKEN>(or headerX-Yunxiao-Token: <YOUR_TOKEN>)
Client config — Central (clients with native remote support, e.g. Cursor):
{
"mcpServers": {
"yunxiao": {
"url": "https://openapi-rdc.aliyuncs.com/ai/mcp",
"headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
}
}
}Client config — Region edition (replace the URL with your own region domain):
{
"mcpServers": {
"yunxiao": {
"url": "https://<your-org>.devops.aliyuncs.com/ai/mcp",
"headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
}
}
}Tip: cut context usage by requesting only the toolsets you need —
?toolsets=code-management,project-managementor headerX-Devops-Toolsets. See the full guide: docs/hosted-mcp-guide.zh-CN.md.
Quick Start (Self-host, Using Stdio Mode)
Stdio mode is the simplest self-hosting way, suitable for most MCP clients (like Cursor, Claude Desktop, iFlow, etc.). No Docker installation required, just run via npx.
Option 1: Direct Use via NPX (Simplest)
Add the following configuration to your MCP client configuration file:
{
"mcpServers": {
"yunxiao": {
"command": "npx",
"args": [
"-y",
"alibabacloud-devops-mcp-server"
],
"env": {
"YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}Note:
Replace
<YOUR_TOKEN>with your Yunxiao access tokenThe
-yflag automatically confirms installation without manual confirmationBy default the tool calls the Yunxiao Central Station OpenAPI (
https://openapi-rdc.aliyuncs.com); no extra configuration is requiredIf you are on a Region edition (organization-specific domain), set an additional environment variable
YUNXIAO_API_BASE_URLto your Yunxiao instance URL, e.g.https://your-org.devops.aliyuncs.com. See the Configuring Region Edition section above for detailsThis method uses stdio mode, communicating with the MCP client via standard input/output
Using Docker (Optional)
Transport Modes
Mode | CLI Flag | Env Variable | Endpoints |
Stdio | (default) | — | stdin/stdout |
SSE |
|
|
|
Streamable HTTP |
|
|
|
Both |
|
|
|
Streamable HTTP is the MCP specification's recommended remote transport. SSE is legacy; use
bothduring migration.
1. Pull Image
docker pull build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latestSelf-built:
docker build -t alibabacloud/alibabacloud-devops-mcp-server .
2. Start Server
Stdio:
docker run -i --rm -e YUNXIAO_ACCESS_TOKEN \
build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latestSSE / Streamable HTTP / Both — set MCP_TRANSPORT and expose PORT:
docker run -d --name yunxiao-mcp -p 3000:3000 \
-e YUNXIAO_ACCESS_TOKEN="your_token" -e PORT=3000 \
-e MCP_TRANSPORT=streamable-http \ # sse | streamable-http | both
build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latestOptional Streamable HTTP env vars:
MCP_STREAMABLE_PATH: MCP endpoint path (default/mcp)MCP_HTTP_HOST: Bind host (default0.0.0.0)MCP_ALLOWED_HOSTS: AllowedHostheader values (comma-separated)
3. Configure MCP Client
Stdio:
{
"mcpServers": {
"yunxiao": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "YUNXIAO_ACCESS_TOKEN", "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"],
"env": { "YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>" }
}
}
}SSE: http://localhost:3000/sse
Streamable HTTP: http://localhost:3000/mcp
Pass credentials via query parameter or header:
http://localhost:3000/mcp?yunxiao_access_token=YOUR_TOKEN_HEREOr request header: x-yunxiao-token: YOUR_TOKEN_HERE
Region / instance OpenAPI base:
http://localhost:3000/mcp?yunxiao_access_token=TOKEN&yunxiao_api_base_url=https%3A%2F%2Fyour-org.devops.aliyuncs.comOr request header: x-yunxiao-api-base-url: https://your-org.devops.aliyuncs.com
Docker Compose
cp .env.example .env # set YUNXIAO_ACCESS_TOKEN
docker compose up -dClient URL: http://localhost:3000/sse (SSE) or http://localhost:3000/mcp (Streamable HTTP)
Toolsets
The server now supports toolsets, allowing you to enable only the tools you need. This can reduce the number of tools presented to the AI assistant and improve performance.
Available toolsets:
organization-management: Organization management tools (organization list, organization details, department information, organizational roles, member information, etc.)code-management: Code repository management tools (repository management, branch management, merge request management, file tree, etc.)project-management: Project management tools (project management, work item management, work item fields, work item comments, time tracking, etc.)pipeline-management: Pipeline management tools (pipeline list, pipeline configuration, resource management, tag management, deployment management, etc.)packages-management: Artifact repository management tools (artifact repositories, artifact lists, etc.)application-delivery: Application delivery tools (deployment order management, application management, application tags, variable group management, etc.)test-management: Test management tools (test case management, test case directories, test plans, test results, etc.)
To use toolsets, you can specify them via command line arguments or environment variables:
Via command line argument:
npx -y alibabacloud-devops-mcp-server --toolsets=code-management,project-managementVia environment variable:
DEVOPS_TOOLSETS=code-management,project-management npx -y alibabacloud-devops-mcp-serverIf no toolsets are specified, all tools will be enabled by default.
Tools
alibabacloud-devops-mcp-server integrates various tools, including:
Organization Management
get_current_organization_Info: Get current user's organization informationget_user_organizations: Get the list of organizations the current user has joinedget_organization_role: Get information about an organization roleget_organization_departments: Get the list of departments in an organizationget_organization_department_info: Get information about a department in an organizationget_organization_department_ancestors: Get the ancestors of a department in an organizationget_organization_members: Get the list of members in an organizationget_organization_member_info: Get information about a member in an organizationget_organization_member_info_by_user_id: Get information about a member in an organization by user IDsearch_organization_members: Search for organization memberslist_organization_roles: List organization rolesget_organization_role: Get information about an organization role
Code Management Tools
create_branch: Create a branchdelete_branch: Delete a branchget_branch: Get branch informationlist_branches: Get branch listcreate_file: Create a filedelete_file: Delete a fileget_file_blobs: Get file contentlist_files: Query file treeupdate_file: Update file contentcreate_change_request: Create a merge requestcreate_change_request_comment: Create a comment on a merge requestget_change_request: Query merge requestlist_change_request_patch_sets: Query merge request version listlist_change_request: Query merge request listlist_change_request_comments: Query merge request comment listget_compare: Compare codeget_repository: Get repository detailslist_repositories: Get repository listlist_commits: [Code Management] List commits in a repositoryget_commit: [Code Management] Get commit detailscreate_commit_comment: [Code Management] Create a comment on a commit
Project Management Tools
get_project: Get project detailssearch_projects: Search projectsget_sprint: Get sprint detailslist_sprints: List sprints in a projectcreate_sprint: [Project Management] Create a sprintupdate_sprint: [Project Management] Update a sprintsearch_programs: [Project Management] Search for programslist_program_versions: [Project Management] List program versionslist_versions: [Project Management] List project versionscreate_version: [Project Management] Create a versionupdate_version: [Project Management] Update a versiondelete_version: [Project Management] Delete a versionget_work_item: Get work item detailsupdate_work_item: [Project Management] Update a work itemsearch_workitems: Search work itemsget_work_item_types: get work item typescreate_work_item: create work itemlist_all_work_item_types: List all work item types in an organizationlist_work_item_types: List work item types in a project spaceget_work_item_type: Get details of a specific work item typelist_work_item_relation_work_item_types: List work item types that can be related to a specific work itemget_work_item_type_field_config: Get field configuration for a specific work item typeget_work_item_workflow: Get workflow information for a specific work item typelist_work_item_comments: List comments for a specific work itemcreate_work_item_comment: Create a comment for a specific work itemlist_workitem_attachments: List attachments for a specific work itemget_workitem_file: Get file information for a specific work item attachmentcreate_workitem_attachment: Upload a local file as an attachment to a work itemlist_workitem_activities: List activity history for a work item (field changes, status transitions, association changes)list_current_user_effort_records: [Project Management] 获取用户的实际工时明细,结束时间和开始时间的间隔不能大于6个月list_effort_records: [Project Management] 获取实际工时明细create_effort_record: [Project Management] 登记实际工时list_estimated_efforts: [Project Management] 获取预计工时明细create_estimated_effort: [Project Management] 登记预计工时update_effort_record: [Project Management] 更新登记实际工时update_estimated_effort: [Project Management] 更新登记预计工时
Pipeline Management Tools
get_pipeline: Get pipeline detailslist_pipelines: Get pipeline listsmart_list_pipelines: Smart pipeline search with natural language time referencesgenerate_pipeline_yaml: [Pipeline Management] Generate pipeline YAML configurationcreate_pipeline_from_description: Create a pipeline from natural language descriptionupdate_pipeline: [Pipeline Management] Update pipeline YAML contentcreate_pipeline_run: Create a pipeline run instanceget_latest_pipeline_run: Get the latest pipeline run instanceget_pipeline_run: Get pipeline run detailslist_pipeline_runs: Get pipeline run listlist_pipeline_jobs_by_category: Get pipeline execution tasks by categorylist_pipeline_job_historys: Get the execution history of a pipeline taskexecute_pipeline_job_run: Manually run a pipeline taskget_pipeline_job_run_log: Get the execution logs of a pipeline joblist_service_connections: List service connections in organizationcreate_pipeline_from_description: Automatically generates YAML configuration and creates pipelineupdate_pipeline: Update an existing pipeline in Yunxiao by pipelineId. Use this to update pipeline YAML, stages, jobs, etc.create_resource_member: Create a resource memberdelete_resource_member: Delete a resource memberlist_resource_members: Get a list of resource membersupdate_resource_member: Update a resource memberupdate_resource_owner: Transfer resource ownercreate_tag: Create a tagcreate_tag_group: Create a tag grouplist_tag_groups: Get a list of tag groupsdelete_tag_group: Delete a tag groupupdate_tag_group: Update a tag groupget_tag_group: Get a tag groupdelete_tag: Delete a tagupdate_tag: Update a tagstop_vm_deploy_order: Stop VM deploy orderskip_vm_deploy_machine: Skip VM deploy machineretry_vm_deploy_machine: Retry VM deploy machineresume_vm_deploy_order: Resume VM deploy orderget_vm_deploy_order: Get VM deploy order detailsget_vm_deploy_machine_log: Get VM deploy machine log
Application Delivery Tools
create_change_order: [application delivery] 创建部署单list_change_order_versions: [application delivery] 查看部署单版本列表get_change_order: [application delivery] 读取部署单使用的物料和工单状态list_change_order_job_logs: [application delivery] 查询环境部署单日志find_task_operation_log: [application delivery] 查询部署任务执行日志,其中通常包含下游部署引擎的调度细节信息execute_job_action: [application delivery] 操作环境部署单list_change_orders_by_origin: [application delivery] 根据创建来源查询部署单create_appstack_change_request: [application delivery] 创建变更请求get_appstack_change_request_audit_items: [application delivery] 获取变更请求的审批项list_appstack_change_request_executions: [application delivery] 列出变更请求的执行记录list_appstack_change_request_work_items: [application delivery] 列出变更请求的工作项cancel_appstack_change_request: [application delivery] 取消变更请求close_appstack_change_request: [application delivery] 关闭变更请求list_applications: [application delivery] List applications in an organization with paginationget_application: [application delivery] Get application details by namecreate_application: [application delivery] Create a new applicationupdate_application: [application delivery] Update an existing applicationget_latest_orchestration: [application delivery] Get the latest orchestration for an environmentlist_app_orchestration: [application delivery] List application orchestrationscreate_app_orchestration: [application delivery] Create an application orchestrationdelete_app_orchestration: [application delivery] Delete an application orchestrationget_app_orchestration: [application delivery] Get an application orchestrationupdate_app_orchestration: [application delivery] Update an application orchestrationget_env_variable_groups: [application delivery] Get variable groups for an environmentcreate_variable_group: [application delivery] Create a variable groupdelete_variable_group: [application delivery] Delete a variable groupget_variable_group: [application delivery] Get a variable groupupdate_variable_group: [application delivery] Update a variable groupget_app_variable_groups: [application delivery] Get variable groups for an applicationget_app_variable_groups_revision: [application delivery] Get the revision of variable groups for an applicationsearch_app_templates: [application delivery] Search application templatescreate_app_tag: [application delivery] Create an application tagupdate_app_tag: [application delivery] Update an application tagsearch_app_tags: [application delivery] Search application tagsupdate_app_tag_bind: [application delivery] Update application tag bindingscreate_global_var: [application delivery] Create a global variable groupget_global_var: [application delivery] Get a global variable groupupdate_global_var: [application delivery] Update a global variable grouplist_global_vars: [application delivery] List global variable groupsget_machine_deploy_log: [application delivery] Get machine deployment logadd_host_list_to_host_group: [application delivery] Add host list to host groupadd_host_list_to_deploy_group: [application delivery] Add host list to deploy grouplist_app_release_workflows: [application delivery] List all release workflows for an applicationlist_app_release_workflow_briefs: [application delivery] List release workflow briefs for an applicationlist_system_release_workflows: [application delivery] List all system release workflowscreate_system_release_workflow: [application delivery] Create a system release workflowupdate_system_release_stage: [application delivery] Update system release workflow stageexecute_system_release_stage: [application delivery] Execute system release workflow stageget_app_release_workflow_stage: [application delivery] Get release workflow stage detailslist_app_release_stage_briefs: [application delivery] List release stage briefsupdate_app_release_stage: [application delivery] Update application release workflow stagelist_app_release_stage_runs: [application delivery] List release stage execution recordsexecute_app_release_stage: [application delivery] Execute release workflow stage for a change requestcancel_app_release_stage_execution: [application delivery] Cancel release workflow stage executionretry_app_release_stage_pipeline: [application delivery] Retry release workflow stage pipelineskip_app_release_stage_pipeline: [application delivery] Skip release workflow stage pipelinelist_app_release_stage_metadata: [application delivery] List integrated metadata for stage executionget_app_release_stage_pipeline_run: [application delivery] Get release stage pipeline run instancepass_app_release_stage_validate: [application delivery] Pass release workflow stage validationget_app_release_stage_job_log: [application delivery] Get pipeline job execution logrefuse_app_release_stage_validate: [application delivery] Refuse release workflow stage validation
Packages Management Tools
list_package_repositories: Get package repositories details listlist_artifacts: Get artifacts details listget_artifact: Get single artifact details
Test Management Tools
list_testcase_directories: [test management] Get test case directory listcreate_testcase_directory: [test management] Create a test case directoryget_testcase_field_config: [test management] Get test case field configurationcreate_testcase: [test management] Create a test casesearch_testcases: [test management] Search test casesget_testcase: [test management] Get test case informationdelete_testcase: [test management] Delete a test caselist_test_plans: [test management] Get test plan listget_test_result_list: [test management] Get test case list in a test planupdate_test_result: [test management] Update test result
Contact Us
If you have any questions, please join the Alibaba Cloud Devops discussion group (134400004101) for discussion.

Related Links
Available Tools
77 toolscompareD
[Code Management] Query code to compare content
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Can be CommitSHA, branch name or tag name | |
| from | Yes | Can be CommitSHA, branch name or tag name | |
| straight | No | Whether to use Merge-Base: straight=false means using Merge-Base; straight=true means not using Merge-Base; default is false, meaning using Merge-Base | |
| sourceType | No | Options: branch, tag; if it's a commit comparison, you can omit this; if it's a branch comparison, you need to provide: branch, or you can omit it but ensure there are no branch or tag name conflicts; if it's a tag comparison, you need to provide: tag; if there are branches and tags with the same name, you need to strictly provide branch or tag | |
| targetType | No | Options: branch, tag; if it's a commit comparison, you can omit this; if it's a branch comparison, you need to provide: branch, or you can omit it but ensure there are no branch or tag name conflicts; if it's a tag comparison, you need to provide: tag; if there are branches and tags with the same name, you need to strictly provide branch or tag | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, what the response contains (e.g., diffs, changed files), or any prerequisites or side effects. This is a critical gap for a comparison tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified. It lacks critical information, making it more of a placeholder than a helpful guide. Front-loading fails because there is almost no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, including nuanced logic for sourceType/targetType and straight, and no output schema or annotations, the description is inadequate. It doesn't explain the comparison semantics, expected output, or edge cases like branch/tag name conflicts, leaving the agent without enough context to use the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already provides detailed descriptions for each parameter (e.g., straight, sourceType, targetType). The description adds no parameter-specific information, but the baseline is set at 3 given the comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Query code to compare content' is vague; it doesn't specify what is being compared (commits, branches, tags) or the output format. It fails to distinguish itself from sibling tools like get_commit or list_commits, which also deal with code content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention scenarios where comparing references is appropriate or when to use other commit/branch tools instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_branchA
[Code Management] Create a new branch in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Source branch name, the new branch will be created based on this branch, default value is master | master |
| branch | Yes | Name of the branch to be created | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It clearly states the mutation (creating a branch), but it does not disclose behaviors such as that the branch is based on the ref parameter, what happens if the branch already exists, permission requirements, or side effects. The description is not misleading, but it is thin on behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the action and resource, with a short '[Code Management]' context prefix. It contains no filler or redundant explanation, is easy to parse, and front-loads the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with fully documented schema fields, the description is almost sufficient. It does not mention output/return values, but no output schema is declared and creating a branch typically has a minimal response. The main gap is missing context about branch source or failure conditions, which the schema partially covers via the ref parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all parameters (ref, branch, repositoryId, organizationId, ref default) are already documented in the input schema. The description adds no additional semantics about parameter values, relationships, or accepted formats, so it stays at the baseline without enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Create' with a clear resource ('a new branch') and says the branch is created in a Codeup repository. It immediately distinguishes this from siblings such as get_branch, delete_branch, and list_branches, so the agent can choose it based on the creation intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used whenever a new branch is needed, but it does not explicitly state when to use it vs alternatives or mention any preconditions, exclusions, or conflicting scenarios. There is no guidance about choosing this over other branching-related tools, only the general intent implied by 'Create a new branch.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_change_requestA
[Code Management] Create a new change request (merge request). Supports specifying source/target branches, reviewers, associated work items, and optional AI review trigger.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | 标题,不超过256个字符。示例:'mr title' 或 '修复登录bug' | |
| createFrom | No | 创建来源。WEB - 页面创建(默认) | WEB |
| description | No | 描述,不超过10000个字符。示例:'mr description' 或 '修复了用户登录时的验证逻辑问题' | |
| workItemIds | No | 关联工作项ID列表,以字符串形式逗号分隔。示例值:722200214032b6b31e6f1434ab,xxx | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| sourceBranch | Yes | 源分支名称,即要合并的分支。示例:'demo-branch' 或 'feature/user-login' | |
| targetBranch | Yes | 目标分支名称,即合并到的分支。示例:'master' 或 'main' | |
| organizationId | Yes | 组织ID | |
| reviewerUserIds | No | 评审人用户ID列表。示例:['62c795xxxb468af8'] 或 ['62c795xxxb468af8', '62c795xxxb468af9'] | |
| sourceProjectId | No | 源库ID,如果未提供,将尝试自动获取。示例:2813489 | |
| targetProjectId | No | 目标库ID,如果未提供,将尝试自动获取。示例:2813489 | |
| triggerAIReviewRun | No | 是否触发AI评审。true - 触发AI评审;false - 不触发(默认) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It restates actions and parameter categories ('Supports specifying...') and adds only a hint about optional AI review. It does not disclose permissions, side effects, what happens after creation, or error conditions, making behavioral transparency weak.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the action and lists key supported options in a compact parallel structure. There is no filler or redundant content, making it appropriately concise for a create-tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema provides rich parameter details and required fields, while the description gives a sufficient overview for tool selection. However, without annotations or an output schema, it does not describe return values or side effects; still, the schema's completeness covers most invocation needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; every parameter has a detailed description with examples and constraints. The tool description offers only a high-level summary (branches, reviewers, work items, AI review) that does not add meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a new change request (merge request)' with a specific verb and resource, clarifying the merge-request equivalence. It lists key capabilities (source/target branches, reviewers, work items, AI review) that distinguish it from sibling get/update/list/review/merge tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'Create' clearly signals when to use this tool, and the parenthetical '(merge request)' adds context. However, it does not explicitly mention alternatives or exclusions (e.g., 'for updates use...'), so it provides clear context without exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_change_request_commentA
[Code Management] Create a comment on a change request. Supports two types: GLOBAL_COMMENT (global comment on the entire merge request) and INLINE_COMMENT (inline comment on specific code lines). For INLINE_COMMENT, you must provide file_path, line_number, from_patchset_biz_id, and to_patchset_biz_id parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | 是否草稿评论。true - 草稿评论(不会立即显示给其他人);false - 正式评论(默认值) | |
| content | Yes | 评论内容,长度必须在 1 到 65535 之间。示例:'This is a comment content.' 或 '这里需要优化性能,建议使用缓存机制' | |
| localId | Yes | 局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| resolved | No | 是否标记已解决。true - 已解决;false - 未解决(默认值) | |
| file_path | No | 文件路径,仅行内评论需要。表示评论针对的文件路径。示例:'/src/main/java/com/example/MyClass.java' 或 'src/utils/helper.ts' 或 'frontend/components/Button.tsx' | |
| line_number | No | 行号,仅行内评论需要,从1开始计数(示例:42 表示第42行)。全局评论可省略,或传 0 / null 表示无行号 | |
| comment_type | No | 评论类型。GLOBAL_COMMENT - 全局评论(对整个合并请求的评论);INLINE_COMMENT - 行内评论(针对特定代码行的评论)。创建行内评论时,必须提供 file_path、line_number、from_patchset_biz_id 和 to_patchset_biz_id 参数 | GLOBAL_COMMENT |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID | |
| patchset_biz_id | Yes | 关联版本ID,具有唯一性。对于全局评论,使用最新合并源版本ID;对于行内评论,选择 from_patchset_biz_id 或 to_patchset_biz_id 中的一个。示例:'bf117304dfe44d5d9b1132f348edf92e' | |
| to_patchset_biz_id | No | 比较的目标版本ID,行内评论类型必传。表示代码比较的目标版本(通常是源分支版本,即合并源对应的版本)。示例:'537367017a9841738ac4269fbf6aacbe' | |
| from_patchset_biz_id | No | 比较的起始版本ID,行内评论类型必传。表示代码比较的起始版本(通常是目标分支版本,即合并目标对应的版本)。示例:'bf117304dfe44d5d9b1132f348edf92e' | |
| parent_comment_biz_id | No | 父评论ID,用于回复评论。如果这是对某个评论的回复,需要传入被回复评论的 bizId。示例:'1d8171cf0cc2453197fae0e0a27d5ece' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the two comment modes and parameter requirements, but does not mention permissions, side effects, or draft behavior. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with a context tag, and packs essential information about types and required parameters with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 params, two types, no output schema), the description covers the key decision of comment type and its prerequisites. It doesn't explain every optional parameter, but the schema covers those, making it sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds a useful grouping of inline-only parameters, but the schema already provides detailed semantics for each parameter. No significant additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Create a comment on a change request.' It further distinguishes between GLOBAL_COMMENT and INLINE_COMMENT, which clarifies scope and differentiates from sibling tools like create_commit_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use each comment type and explicitly lists the required parameters for INLINE_COMMENT. However, it does not explicitly mention alternatives or when-not-to-use scenarios relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_commit_commentC
[Code Management] Create a comment on a commit
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | 提交的SHA值 | |
| content | Yes | commit的评论内容 | |
| repositoryId | Yes | 代码库ID或者URL-Encoder编码的全路径 | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It gives no information about side effects, required permissions, rate limits, or what happens on successful creation. The 'create' verb implies a mutation but does not specify any consequences or return behavior, which is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is entirely front-loaded. It avoids any filler or repetition, achieving maximum efficiency. Every word adds value, making it an exemplar of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four required parameters and no output schema, yet the description offers nothing about return values, error conditions, or typical scenarios. It is a simple create action, but the lack of any behavioral context or usage examples leaves the agent without enough information to fully understand execution. Given the minimal description and absent annotations, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description (in Chinese), so the baseline is 3. The tool description itself adds no parameter information; it only restates the action. Since the schema already covers the parameters, the description does not need to add more, but it also doesn't provide any usage nuances beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a comment on a commit', which is a clear verb+resource pairing. It distinguishes this tool from sibling tools like create_change_request_comment and create_work_item_comment by specifying the target as a commit. It is specific but lacks any additional context about the commit scope (e.g., whether it's a review comment or general).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It simply states the action without any context about prerequisites, typical use cases, or exclusions. Among sibling comment-creation tools, there is no differentiation in usage context, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_effort_recordA
[Project Management] 登记实际工时。云效中实际工时(fieldId 101587)为受控字段,不能通过 update_work_item 的 customFieldValues 修改,必须调用本工具。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工作项唯一标识 | |
| gmtEnd | Yes | 工作开始结束日期 | |
| gmtStart | Yes | 工作开始日期 | |
| workType | No | 工作类型 | |
| actualTime | Yes | 实际工时 | |
| operatorId | No | 操作者的useId,个人token时该参数无效 | |
| description | No | 工作描述 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the controlled-field constraint and the update_work_item limitation, but it does not mention permissions, response behavior, or side effects of creating the record. Some context is added, but not comprehensive behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose and the key constraint. Every word earns its place, with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no output schema and no annotations, the description is short but effective. It states the purpose, identifies the required object, and highlights the critical controlled-field constraint. It does not cover return values or permission requirements, but the schema and tool name cover most operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds domain context for actualTime by identifying it as the controlled field, but it does not meaningfully explain the other parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('登记实际工时' / register actual work hours) and the object (effort record). It also distinguishes the tool from update_work_item by explaining that actual work hours is a controlled field requiring this dedicated tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when this tool must be used: actual work hours (fieldId 101587) is a controlled field and cannot be modified via update_work_item's customFieldValues. This provides a clear exclusion of the main alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_estimated_effortA
[Project Management] 登记预计工时。云效中预计工时(fieldId 101586)为受控字段,不能通过 update_work_item 的 customFieldValues 修改,必须调用本工具。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工作项唯一标识 | |
| owner | Yes | 负责人,填userId | |
| workType | No | 工作类别 | |
| spentTime | Yes | 预计工时 | |
| operatorId | No | 操作者的useId,个人token时该参数无效 | |
| description | No | 工作描述 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It explains the special nature of the field (controlled field) and that the operation is a registration action. However, it does not disclose potential side effects, permission requirements, whether it overwrites existing values, or if it requires any additional prerequisites beyond the parameters. This is adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first providing the verb and resource, and the second adding critical context about the field's control. It is concise, front-loaded with the primary purpose, and every sentence adds value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficiently complete for a CRUD-like tool with a clear verb and special constraint. It explains the uniqueness of this tool relative to update_work_item. Given that there is no output schema, the description does not need to explain return values. It does not list prerequisites or edge cases, but for a simple registration tool with a well-defined purpose, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 7 parameters are described in the schema. The description adds the key semantic that spentTime maps to the estimated effort field (fieldId 101586) and that the tool is required for this field. However, it does not explain the relationship between owner, spentTime, and id beyond what the schema provides. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to register estimated effort (预计工时) for a work item in Yunxiao. It specifies the exact field (fieldId 101586) and explains that it cannot be modified via update_work_item's customFieldValues, distinguishing it from sibling tools like update_work_item and create_effort_record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: when the estimated effort field (a controlled field) needs to be set, and explicitly notes that update_work_item cannot be used for this purpose. It provides a clear alternative (update_work_item) that should not be used for this specific field, giving strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_fileB
[Code Management] Create a new file in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | Branch name | |
| content | Yes | File content | |
| encoding | No | Encoding rule, options {text, base64}, default is text | |
| filePath | Yes | File path, needs to be URL encoded, for example: /src/main/java/com/aliyun/test.java | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| commitMessage | Yes | Commit message, not empty, no more than 102400 characters | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says that a new file is created and does not mention commit/branch semantics, whether existing files are protected, permissions needed, encoding behavior, or side effects such as commit creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded with the action and resource. The '[Code Management]' prefix provides minimal category context and does not add meaningful verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with 7 parameters, no annotations, and no output schema. The one-line description is not enough to explain end-to-end behavior such as commit creation, branch handling, encoding effect on content, or what the tool returns after success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The prose description adds no extra parameter-level meaning beyond what the schema provides, which meets the baseline expected for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Create a new file in a Codeup repository.' The verb 'create' and resource 'new file' make the purpose distinct from sibling file operations like update_file and delete_file, though it doesn't explicitly call out those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for adding a brand-new file, which differentiates it from update_file or delete_file. However, there is no explicit 'when to use' or 'when not to use' guidance, and no reference to alternatives or prerequisites like branch existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_repositoryB
[Code Management] Create a new Codeup repository.
Creates an empty code repository that can then be pushed to via git.
Use Cases:
Create a new repository for a project
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Repository name, e.g. my-repo | |
| path | Yes | Repository path, e.g. my-repo | |
| avatarUrl | No | Repository avatar URL | |
| readMeType | No | Type of README to auto-create: EMPTY or USER_GUIDE | |
| visibility | No | Repository visibility: private or internal | |
| description | No | Repository description, max 65535 characters | |
| namespaceId | No | Parent path ID (namespace). If empty, created under the organization root | |
| organizationId | Yes | Organization ID | |
| templateProject | No | Create repository from template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds some context by noting the repository is empty and pushable via git, but this is potentially misleading because the schema supports templateProject and readMeType, which would make the repository non-empty. It also omits side effects, permission requirements, duplicate handling, and response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The 'Use Cases' line is redundant and adds little value, but overall the description avoids unnecessary verbosity and is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 9 parameters and no output schema or annotations, the description only covers the basic creation scenario. It fails to mention important behaviors like template-based creation, README auto-generation, visibility options, or what happens after creation. This leaves significant gaps for an agent deciding whether and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 9 parameters. The description adds no additional parameter-level meaning beyond the schema, but it does not need to compensate for missing schema coverage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create'), the resource ('Codeup repository'), and the intended result ('empty code repository that can then be pushed to via git'). It distinguishes this tool from sibling tools like get_repository, list_repositories, and create_branch by focusing on repository creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use Cases' section is generic and tautological ('Create a new repository for a project'), providing no guidance on when to prefer this tool over alternatives or when not to use it. There is no mention of prerequisites, such as needing an organization or namespace, nor any contrast with related repository tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sprintC
[Project Management] Create a new sprint
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Sprint name | |
| owners | Yes | Sprint owner user IDs | |
| endDate | No | Date string in YYYY-MM-DD format | |
| projectId | Yes | Project unique identifier | |
| startDate | No | Date string in YYYY-MM-DD format | |
| description | No | Sprint description | |
| capacityHours | No | Sprint capacity hours | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral transparency, but it only restates the tool name. It does not disclose what a sprint creation entails, such as whether existing sprints are affected, required permissions, or what happens on success. It adds no behavioral detail beyond a tautology.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no unnecessary filler, so it is concise. However, the single sentence merely restates the tool name and does not earn its place by adding value. It is not a well-crafted standalone summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with eight parameters and no output schema or annotations, the description is too thin. It fails to describe expected behavior, creation outcome, effect on sprint timelines, or any constraints that are not obvious from the schema. Given the sibling tools include list_sprints and update_sprint, the description should have provided more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter meanings are already fully documented in the input schema. The description itself does not add any additional detail about owners, date formats, capacity, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new sprint' clearly identifies the action (create) and the resource (a sprint), and the word 'new' distinguishes it from update_sprint and get_sprint. However, it does not elaborate beyond the basic action, so it doesn't fully differentiate from sibling create tools in other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit context for when to use this tool versus alternatives such as update_sprint or list_sprints. It implies creation, but does not state exclusions, prerequisites, or common scenarios. The tool name and 'new' are the only signals about appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_versionA
[Project Management] Create a new version in a Yunxiao Project. Versions are used to manage release plans and track delivery progress.
Use Cases:
Create a new release version Plan project milestones Set version owners and dates
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project unique identifier | |
| name | Yes | Version name, max length 50 characters | |
| owners | Yes | Owner user IDs, at least one required | |
| startDate | No | Start date, format: YYYY-MM-DD | |
| publishDate | No | Publish date, format: YYYY-MM-DD | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the core behavior ('Create a new version') and adds domain context, but it does not disclose permissions, idempotency, duplicate-name behavior, or response format. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action, followed by a concise purpose statement and a tight bullet list of use cases. Every sentence earns its place; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter creation tool with no output schema, the description provides enough context to understand the tool's role and typical use. It omits return-value details and edge-case constraints, but the schema covers parameter validation and the use cases cover selection intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters. The description adds value by framing 'Set version owners and dates' as a use case, which gives semantic context to owners, startDate, and publishDate beyond their raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Create a new version in a Yunxiao Project.' It clearly distinguishes this creation tool from sibling tools like update_version, delete_version, and list_versions by emphasizing 'new version' and adding domain purpose (release plans, delivery progress).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use Cases' section gives clear context for when to create a version: new release version, project milestones, setting owners/dates. It does not explicitly mention alternatives like update_version for modifying existing versions, but the creation context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_work_itemA
[Project Management] Create a work item. 描述字段使用提示:
description 支持 Markdown / 富文本,需配合 formatType("MARKDOWN" 或 "RICHTEXT")。
描述中插入图片三步法:① 先建工作项(本工具, description 可先为空或占位);② 调 create_workitem_attachment 上传图片拿到返回值中的 embedMarkdown 或 embedHtml;③ 调 update_work_item 把拼好的 description 写回。✅ 报错点:不要使用 create_workitem_attachment 返回的 url 字段,那是 30 秒过期的 OSS 临时签名。
实际工时(fieldId 101587)与预计工时(fieldId 101586)为云效受控系统字段,不能通过本工具的 customFieldValues 修改;请改用
create_effort_record/create_estimated_effort。
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | Associated label IDs | |
| sprint | No | Associated sprint ID | |
| spaceId | Yes | Space ID, project unique identifier | |
| subject | Yes | Work item title | |
| parentId | No | Parent work item ID | |
| trackers | No | CC user IDs | |
| verifier | No | Verifier user ID | |
| versions | No | Associated version IDs | |
| assignedTo | Yes | Assignee user ID | |
| formatType | No | Description format type. RICHTEXT (rich text, default) or MARKDOWN (markdown format). Use MARKDOWN when description contains markdown syntax | |
| description | No | Work item description | |
| participants | No | Participant user IDs | |
| organizationId | Yes | Organization ID | |
| workitemTypeId | Yes | Work item type ID | |
| customFieldValues | No | Custom field values |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral constraints: the description field supports Markdown/rich text and requires formatType to be set accordingly; the URL returned from create_workitem_attachment is a temporary signed URL that expires in 30 seconds; and effort fields are system-controlled and cannot be modified via customFieldValues. These are non-obvious behaviors that the user needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and is front-loaded with the primary purpose. It is slightly verbose due to the inclusion of detailed examples and warnings, but each sentence adds value and addresses important edge cases. The length is justified given the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 15 parameters including a nested object and no output schema, the description covers the most contextually important aspects: the special handling of description, the prohibition on modifying effort fields, and the essential workflow for attachments. It does not explain every parameter, but it addresses the areas where users are most likely to make mistakes, making it sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the input schema provides basic descriptions for each parameter, the tool description adds critical semantics: it clarifies how to handle the description and formatType parameters (including the caveat about Markdown), warns against putting effort fields in customFieldValues, and explains the role of the attachment-related steps. This goes beyond the schema to provide essential parameter usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as 'Create a work item', and provides additional context about handling description and effort fields. It distinguishes itself from sibling tools by directing users to alternative tools for specific sub-operations (e.g., attachment upload, effort records).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage instructions: it explains the three-step process for inserting images (create attachment, get embedMarkdown/embedHtml, then update work item), and instructs users to use dedicated tools (create_effort_record, create_estimated_effort) for effort fields instead of customFieldValues. This effectively guides when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workitem_attachmentA
[Project Management] Upload a file as an attachment to a work item via multipart/form-data. Supports any file type (单文件 ≤ 10MB,云效不支持 svg/tiff)。 文件来源二选一:
远程(streamable HTTP)部署:传 fileContent(文件内容的 base64 编码)+ fileName(含扩展名)。此时 server 与调用方通常不同机,server 读不到调用方本地文件,必须走 base64 内联。
同机 / stdio 本地运行:传 filePath(绝对路径),server 直接读该文件;fileName 可省略(默认取路径 basename)。⚠️ 远程部署下 filePath 已被禁用(指向服务器文件系统,存在任意文件读取风险),只能用 fileContent。 返回 WorkitemFile 含以下关键字段:
id/name/size/suffix:文件基础信息url:OSS 临时下载地址,约 30 秒过期。⚠️ 仅用于下载,不要嵌入工作项描述/评论embedUrl:永久代理 URL,适用于在工作项描述/评论中嵌入图片embedMarkdown:预拼好的 Markdown 图片标签,formatType=MARKDOWN 时拼接进 description 即可embedHtml:预拼好的 HTML 标签,formatType=RICHTEXT 时拼接进 description 即可 在工作项描述中插入图片的标准三步法:① 创建工作项(如已有则跳过);② 调本工具上传图片、读出 embedMarkdown / embedHtml;③ 调 update_work_item,在 updateWorkItemFields.description 中拼入该 embed* 字段,同时设置 updateWorkItemFields.formatType 为 "MARKDOWN" 或 "RICHTEXT"。 应用 token 场景必传 operatorId,个人 token 必传可省略。
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | No | 文件名(含扩展名,如 design.png)。提供 fileContent 时必填;提供 filePath 时可省略,默认取路径的 basename | |
| filePath | No | 本地文件的绝对路径,MCP Server 将读取该文件。仅适用于 server 与调用方同机的场景(如 stdio 本地运行)。⚠️ 远程(streamable HTTP)部署下本参数已被禁用(filePath 指向服务器文件系统,存在任意文件读取的安全风险),此时请改用 fileContent | |
| operatorId | No | 操作者的userId,个人token时该参数无效 | |
| workItemId | Yes | 工作项唯一标识 | |
| fileContent | No | 文件内容的 base64 编码。远程部署上传附件时使用,需配合 fileName。单文件 ≤ 10MB(base64 编码后约 13.5MB) | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses behavioral details such as the temporary nature of the returned URL (30s expiry), the permanent nature of embedUrl, the security risk of filePath, file type exclusions (svg/tiff), and size limits. This is very transparent and goes beyond basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with bullet points and clear sections. Every sentence provides necessary detail, though it could be slightly more concise in places (e.g., the operatorId wording is a bit confusing). The front-loaded purpose and organized format earn it a high score, though not perfect due to minor verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values. It does so thoroughly, listing key fields (id, name, size, suffix, url, embedUrl, embedMarkdown, embedHtml) and their meanings and use cases. It also provides integration guidance with update_work_item, making the tool self-contained and complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant meaning beyond the schema: it explains the conditional relationship between fileContent, fileName, and filePath, when each is required, base64 size overhead, basename default, and the disabled state of filePath in remote deployments. This greatly enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool uploads a file as an attachment to a work item via multipart/form-data, with a specific verb and resource. It also specifies file type and size constraints, distinguishing it from sibling tools like list_workitem_attachments and get_workitem_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly differentiates when to use fileContent vs filePath based on deployment mode (remote vs local), warns against using filePath in remote deployments, and provides a standard three-step method for embedding images in work item descriptions. It also clarifies operatorId requirements for different token types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_work_item_commentC
[Project Management] Create a comment for a specific work item
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | 评论内容 | |
| workItemId | Yes | 工作项ID | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the action and gives no information about side effects, permissions, reversibility, or any behavioral implications of creating a comment. No transparency is provided beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single clear sentence. It contains no redundant information or fluff, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple create operation but lacks contextual details such as return values, authentication requirements, or conditions for use. Given the tool's simplicity, the minimal description covers the basic function, but it does not provide enough to fully understand when and how to use it in a broader workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters ('content', 'workItemId', 'organizationId'), but they are terse one-liners (e.g., 'comment content', 'work item ID', 'organization ID'). The tool description adds no additional explanation or context for these parameters, so the semantics rely solely on the schema's minimal labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Create a comment for a specific work item'. It is specific and distinguishes from sibling tools like 'create_work_item' (which creates a work item) and 'update_work_item_comment' (which updates a comment).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It lacks any mention of prerequisites, conditions, or context where this tool should be preferred over 'list_work_item_comments' or 'update_work_item_comment'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workitem_testcase_relationA
[Project Management] Relate a test case to a work item. Returns the created relation record id.
| Name | Required | Description | Default |
|---|---|---|---|
| testcaseId | Yes | 要关联的测试用例唯一标识 | |
| workItemId | Yes | 工作项唯一标识 | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention any side effects, permissions, or failure conditions, leaving potential uncertainties about the operation's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the essential function without redundancy. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions the return value, which is helpful given the absence of an output schema. It adequately covers the core operation, though it could benefit from a note about preconditions (e.g., that the test case and work item must exist).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for each parameter (in Chinese), and the tool description adds no additional clarification about parameter roles or constraints. It meets the baseline for coverage but adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Relate a test case to a work item.' It also notes the return value (relation record id), making the purpose unambiguous. It is distinct from sibling tools like listing relations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives. It implies a creation action, but lacks guidance on appropriate contexts or distinctions from other relation-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_branchC
[Code Management] Delete a branch from a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| branchName | Yes | Branch name (use URL-Encoder for encoding, example: feature%2Fdev) | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden of disclosing behavior. It only states 'Delete' without noting that this is a destructive, likely irreversible action, potential cascading effects, or any required permissions. The agent cannot infer safety or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It is appropriately short, though it lacks any structured breakdown. The brevity is a positive, but it sacrifices informative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is incomplete. It doesn't specify consequences (e.g., permanent deletion), required permissions, possible errors, or what happens on success. Given the tool's complexity (simple but destructive), the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of parameters with descriptions, so the baseline is 3. The tool description adds no extra semantic meaning beyond what the schema already provides, but it does not need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (delete) and the resource (branch from a Codeup repository). It is specific and unambiguous, but does not differentiate from sibling tools like create_branch or get_branch, though the verb makes the purpose obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, prerequisites, or alternatives. There is no mention of any conditions or exclusions, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileB
[Code Management] Delete a file from a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | Branch name | |
| filePath | Yes | File path, needs to be URL encoded, for example: /src/main/java/com/aliyun/test.java | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| commitMessage | Yes | Commit message | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full transparency burden. It only states that a file is deleted, without disclosing that deletion is permanent, that a commit is created with the provided message, or any permission/effect details. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant content. It is appropriately short for the tool's basic purpose, though this brevity sacrifices behavioral detail captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five required parameters, no annotations, and no output schema, a one-sentence description is insufficient for an agent to understand the destructive side effects, commit behavior, or branch context. The schema covers parameter mechanics but not the behavioral context needed for safe use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all five required parameters with descriptions, achieving 100% coverage. The tool description adds no parameter-specific meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Delete'), identifies the resource ('a file'), and names the system ('Codeup repository'), clearly distinguishing this from sibling create_file and update_file tools. It is unambiguous and does not merely restate the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use or alternative guidance. The verb and resource make the intended use obvious compared to create_file/update_file, but this is implied rather than stated, and there is no mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_versionA
[Project Management] Delete a version from a Yunxiao Project.
Use Cases:
Remove obsolete versions Clean up project versions
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Version unique identifier | |
| projectId | Yes | Project unique identifier | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly labels the operation as delete but fails to mention whether the deletion is permanent, whether it cascades to associated data, or if any prerequisites/permissions are needed. This is a significant gap for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and efficient, with a clear one-line purpose followed by two succinct use cases. No unnecessary words or repetition, earning a strong score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive nature and lack of annotations or output schema, the description should address irreversibility, side effects, or error conditions. It only states the action and use cases, leaving out crucial safety information needed for an agent to invoke this tool responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all three parameters (100% coverage). The description adds no additional meaning beyond what the schema offers, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a version from a Yunxiao Project' with a specific verb and resource, distinguishing it from siblings like update_version and create_version. The use cases further reinforce what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use cases 'Remove obsolete versions' and 'Clean up project versions' provide clear context for when to use the tool. However, it does not explicitly contrast with alternatives like update_version for non-destructive changes, so the guidance is more implied than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_work_itemA
[Project Management] Delete a work item. This operation is irreversible.
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | Work item unique identifier, required parameter | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden of behavioral disclosure. While it mentions irreversibility, it does not disclose other critical behaviors like whether related data (e.g., comments, attachments, relations) is also deleted, whether cascading effects occur, or if there are any permission requirements. For a destructive operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that effectively communicates the core action and a critical warning. It is front-loaded with the verb and resource, and every word adds value. No fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a destructive operation with no annotations and no output schema, the description is minimally adequate but lacks detail about post-deletion effects, confirmation requirements, or error scenarios. The schema fully covers parameter documentation, but for a high-stakes operation like delete, more behavioral context (e.g., cascading deletes, permission checks) would be expected for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning both parameters are described in the schema (workItemId as 'unique identifier, required parameter' and organizationId as 'Organization ID'). The description itself adds no additional parameter-specific information, but since the schema already fully documents them, a baseline of 3 is appropriate; however, the irreversibility note contextually emphasizes the importance of workItemId, giving it slight extra value, so a score of 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a work item, uses a specific verb ('delete') and resource ('work item'), and distinguishes it from sibling tools like 'update_work_item' and 'create_work_item'. The irreversibility note adds important context, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but the purpose is clear enough that an agent would infer it should be used when a work item needs to be permanently removed. However, it lacks explicit 'when not to use' guidance, such as cases where a work item should be deactivated instead of deleted, or any prerequisites (e.g., no associated children). It provides only implied usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_workitem_testcase_relationADestructive
[Project Management] Remove a test case relation from a work item by relationRecordId (obtained from list_workitem_testcase_relations).
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | 工作项唯一标识 | |
| organizationId | Yes | 企业ID | |
| relationRecordId | Yes | 关联记录ID(通过 list 或 create 返回获取) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation already flags destructiveness, and the description adds the specific object being removed and how to source the relationRecordId. It doesn't discuss reversibility or side effects, but the annotation plus targeted description cover the main behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One single sentence, front-loaded with the category and containing a clear action, target, and parameter-source hint. No filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-required-param destructive tool with a destructiveHint annotation and no output schema, the description is functionally complete: it covers what is removed and where the required relation ID comes from. It doesn't include error behavior or permission requirements, but these are not essential here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the baseline is 3. The description's mention that relationRecordId comes from list_workitem_testcase_relations is useful but largely repeats the schema's 'list or create' provenance note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Remove' with clear resource 'test case relation from a work item' and identifies the key parameter (relationRecordId). It clearly differentiates from sibling create/list_workitem_testcase_relations tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States that relationRecordId must be obtained from list_workitem_testcase_relations, providing clear prerequisite context. It doesn't explicitly discuss when not to use it or mention create_workitem_testcase_relation as the alternative, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_branchC
[Code Management] Get information about a branch in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| branchName | Yes | Branch name (if it contains special characters, use URL encoding), example: master or feature%2Fdev | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'get information about a branch', with no mention of return shape, error conditions, read-only guarantees, or special behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise, easily parsed sentence. The '[Code Management]' category prefix is somewhat redundant but does not significantly reduce quality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with no output schema and no annotations, an agent would likely want more context about the response structure or branch identity details. The description is adequate but leaves the actual information returned unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with clear descriptions (100% coverage), so the description adds no additional parameter-level meaning. The baseline of 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear action ('get information') and a target ('a branch in a Codeup repository'), distinguishing it from sibling tools like list_branches or create_branch. It is not a tautology, though it could be more specific about what branch details are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as list_branches or get_file_blobs. There are no mentions of prerequisites, exclusions, or contrasting scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_change_requestA
[Code Management] Get detailed information about a specific change request (merge request) by its local ID.
| Name | Required | Description | Default |
|---|---|---|---|
| localId | Yes | 局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description offers no additional behavioral details beyond the verb 'get'. It does not state that the operation is read-only, mention side effects, permissions, or error conditions, leaving the burden on the description entirely unmet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It directly states the purpose without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with well-described parameters and no output schema, the description is sufficient. It clearly identifies the resource and action, though it does not elaborate on the return structure or possible error cases, which is acceptable given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions for all three parameters are clear and complete (100% coverage). The tool description adds no extra meaning to the parameters; it only refers to 'its ID', which could ambiguously map to any of the three. Since schema coverage is high, baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and the resource (change request/merge request) with a specific identifier. It distinguishes from sibling tools like list_change_requests by indicating it retrieves detailed information for a single item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching a single change request by ID, but it does not explicitly mention when not to use it or contrast with alternatives such as list_change_requests. Guidance is only inferred from the verb and parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commitA
[Code Management] Get information about a commit
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | 提交ID,即Commit SHA值 | |
| repositoryId | Yes | 代码库ID或者URL-Encoder编码的全路径 | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It implies a read-only operation ('Get information') but does not disclose any behavioral traits such as return details, permissions, or side effects. For a simple fetch operation, the risk is low, but transparency is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with a category tag. It contains no redundant or unnecessary words, and the structure is perfectly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low complexity with three well-documented parameters, but the description does not mention the return payload or any output expectations. Given the absence of an output schema, the description could add value by noting typical commit details returned, but it remains minimally adequate for a simple get operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions fully cover all three parameters (sha, repositoryId, organizationId) at 100% coverage. The tool description adds no extra parameter semantics, relying entirely on the schema. Baseline score of 3 is appropriate since the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about a commit' clearly states the verb (Get) and resource (commit), and is distinct from sibling tools like list_commits. It could be more specific about what information is returned, but it unambiguously conveys the primary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided. The description does not mention when to use this tool versus list_commits or other commit-related operations, nor any exclusions. Usage is only implied by the tool name, offering minimal contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_organization_infoA
Get information about the current user and organization based on the token. In the absence of an explicitly specified organization ID, this result will take precedence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful context by stating the token-based origin of the data and the precedence behavior. For a simple read-only, zero-parameter tool, this is adequate, though return shape is not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loads the core purpose, and adds the key precedence detail without extraneous text. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple zero-parameter tool with no output schema and no annotations. The description gives enough context for an agent to select it correctly, including the token-based nature and precedence rule. It could list specific returned fields, but the current level is reasonably complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds relevant context about organization ID precedence even though no parameters are present, which is valuable for understanding why no org parameter is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the exact resource ('information about the current user and organization based on the token'). It also distinguishes this from siblings like get_current_user and get_user_organizations by emphasizing token-derived context and precedence when no organization ID is specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool is appropriate for retrieving token-scoped current user/organization info. The precedence statement ('this result will take precedence') provides a usage condition, though it does not explicitly name alternative tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_userA
Get information about the current user based on the token. In the absence of an explicitly specified user ID, this result will take precedence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that the result is token-based and takes precedence when no user ID is provided, which is useful context. It does not explicitly declare read-only behavior or error handling, but for a simple getter this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences: the first states the core action, and the second adds a key precedence nuance. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers the essential behavior and a precedence rule. It could specify what 'information' is returned, but the simple context makes this sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is trivially 100% covered. The description's mention of 'based on the token' clarifies that authentication is implicit rather than a parameter, fitting the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves information about the current user based on the token, using the specific verb 'Get' and resource 'current user'. This distinguishes it from sibling tools that fetch other users or organization info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by noting that this result takes precedence in the absence of an explicitly specified user ID, indicating a key usage scenario. However, it does not explicitly name alternative tools or state when not to use it, stopping short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_blobsB
[Code Management] Get file content from a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Reference name, usually branch name, can be branch name, tag name or commit SHA. If not provided, the default branch of the repository will be used, such as master | |
| filePath | Yes | File path, needs to be URL encoded, for example: /src/main/java/com/aliyun/test.java | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Get file content,' which implies a read operation, but it does not disclose error behavior, response format, permissions, or any side effects. This is minimal behavioral information for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with a useful category prefix. It is front-loaded, contains no redundant wording, and every element contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four required parameters, all fully described in the schema, and the description clearly states the primary action. However, with no output schema and no behavioral notes, the description itself is somewhat thin; it is adequate for selection and invocation but lacks richer context about return values or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters (ref, filePath, repositoryId, organizationId). The description adds no parameter-level detail beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Get file content from a Codeup repository.' This is specific enough to distinguish from mutation siblings like create_file, update_file, and delete_file, though it does not explicitly differentiate from other get_* tools (e.g., get_commit, get_repository).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of preferred use cases, prerequisites, or exclusions relative to sibling tools like list_files, get_commit, or get_workitem_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_department_ancestorsB
Get the ancestors of a department in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Department ID | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, but it only restates what the tool does. It does not disclose ordering, whether the department itself is included, depth, authorization needs, or error behavior. 'Get' implies read-only but adds little beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundancy. It states the verb and resource directly, making it appropriately concise for a simple read operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with only two parameters and no output schema. However, the description leaves ambiguity about the return format, ordering, and edge cases such as whether the root department is included. It is minimally viable but lacks richer context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'Department ID' and 'Organization ID' already documented in the input schema. The description adds no extra parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get the ancestors of a department in an organization.' It clearly identifies the tool's function and distinguishes it from sibling tools like get_organization_department_info and list_organization_departments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The intended use is only implied by the tool's purpose; no explicit when/when-not context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_department_infoB
Get information about a department in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Department ID | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Get information,' which implies read-only, but it does not disclose return shape, error behavior, permissions, or whether any related data is included. This adds little beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is immediately readable and front-loaded with the action and target. There is no filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID tool with two clearly documented parameters, the description is minimally viable. However, there is no output schema and the description does not clarify what 'information' is returned, leaving a notable gap for an agent predicting the tool's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('Organization ID' and 'Department ID'), so the structured schema already documents them. The description adds no additional parameter meaning, such as where to find the IDs or how they relate, but the baseline is met because the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource: 'Get information about a department in an organization.' It identifies the target as a single department, which distinguishes it from list_organization_departments and get_organization_department_ancestors, though it does not explicitly name those alternatives or specify what 'information' includes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use guidance, alternatives, or exclusions. Usage is only implied by the tool name and the required IDs. There is no mention of when to choose this over list_organization_departments or get_organization_department_ancestors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_member_infoB
Get information about a member in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| memberId | Yes | 成员 ID | |
| organizationId | Yes | 组织 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description gives no behavioral details beyond the basic action. It does not disclose whether the member must be an active member, what type of information is returned (profile? roles? department?), or any access requirements. This leaves the tool's behavior largely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that communicates the core purpose without extraneous words. It is appropriately sized for a simple lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup tool, the description is minimal but lacks important context about the return value or the relationship to sibling tools. With no output schema and no annotations, the description should clarify the scope and content of the returned member information, especially given the close sibling 'get_organization_member_info_by_user_id'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('memberId' and 'organizationId') having descriptions in the schema. The tool description adds no additional parameter semantics, but since the schema fully documents the parameters, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get information') and the resource ('a member in an organization'), which is specific and matches the tool name. It distinguishes from the sibling tool 'get_organization_member_info_by_user_id' by implying lookup by member ID rather than user ID, though it does not explicitly name that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a straightforward use case: retrieving a member's information from an organization. However, it does not state when to use this tool versus the closely related 'get_organization_member_info_by_user_id' or 'search_organization_members', so usage guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_member_info_by_user_idC
Get information about a member in an organization by user ID
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | 用户 ID | |
| organizationId | Yes | 组织 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action without mentioning read-only nature, required permissions, potential failure modes, or returned data characteristics. For a get operation, it's reasonable to assume read-only, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the essential purpose. It is front-loaded with the verb and resource, with no extraneous words or fluff, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too sparse for an unannotated tool with no output schema. It does not explain what 'information' is returned, how it differs from get_organization_member_info, or any constraints like whether it requires membership confirmation. Given the complexity of the domain (organization tools), more detail is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters described (user ID and organization ID). The description restates the userId purpose but adds no new meaning about organizationId or how the parameters relate. It provides minimal additional value over the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get), resource (member information), and scope (by user ID within an organization). However, it does not differentiate from similar sibling tools like get_organization_member_info or list_organization_members, which could lead to ambiguity about when this specific variant is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_organization_member_info, list_organization_members, or search_organization_members. The description lacks context about prerequisites, exclusivity, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_roleC
[Organization Management] Get information about an organization role
| Name | Required | Description | Default |
|---|---|---|---|
| roleId | Yes | Role ID | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. The description only restates that it retrieves role info; it does not mention permissions required, whether it can return null/404, rate limits, or what fields are included in the response. For a read operation it is acceptable but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is one short sentence, zero fluff, front-loaded with the context tag. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read tool with 2 simple parameters, so the description being basic is partly acceptable. However, given that there's no output schema or annotations, a bit more information about what information is returned would improve completeness. The tool could be adequately understood by an agent but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with roleId and organizationId described as 'Role ID' and 'Organization ID' respectively. The description adds no semantics beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Get information about an organization role,' which clearly indicates the verb (get) and resource (organization role), but it does not explicitly distinguish it from related tools like get_organization_member_info or list_organization_roles. The [Organization Management] prefix gives some context but adds no differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided beyond the basic purpose. The description does not mention alternatives, exclusions, or when to choose this over sibling tools like get_organization_member_info or list_organization_roles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectB
[Project Management] Get information about a Yunxiao project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project unique identifier | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey the behavior on its own. The phrase 'Get project information' communicates a read operation, but it adds no details about permissions, required organization context, response shape, or whether this returns full project details or only a subset. It is adequate, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundancy. It is concise and immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple retrieval operation with only two required parameters, so the description is mostly sufficient. However, it lacks guidance on differentiating it from search_projects and does not hint at the expected return payload, so a few minor context gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for both parameters, so the description does not need to restate them. It adds no additional meaning beyond what the schema provides, placing it at the baseline for a fully documented 2-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves information about a single Yunxiao project. It uses a specific verb+resource construction and is not a tautology, though it does not explicitly distinguish single-object retrieval from the sibling search_projects tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as search_projects. The description gives no context about the intended workflow or prerequisites, so an agent gets no help deciding between fetching by ID and searching for projects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repositoryB
[Code Management] Get information about a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining behavior. It only states 'get information,' which implies read-only but does not disclose any additional traits such as required permissions, potential errors, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that states the action and target. It avoids unnecessary details and is well-structured, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with no output schema, the description is adequate but minimal. It does not elaborate on what 'information' entails or when this tool is most useful, though it is sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (repositoryId and organizationId), covering 100% of them. The tool description does not add extra meaning beyond what the schema states, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to retrieve information about a Codeup repository. This is distinct from sibling tools that handle other entities like commits or change requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool compared to alternatives. It lacks explicit conditions or scenarios where this getter would be preferred over other repository-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sprintB
[Project Management] Get information about a sprint
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sprint unique identifier | |
| projectId | Yes | Project unique identifier | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Get information' without revealing return format, explicit read-only nature, pagination, or potential side effects. While 'get' suggests a read operation, no additional context is added beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a category prefix. It is concise, front-loaded, and contains zero redundancy. The prefix '[Project Management]' is optional but does not detract from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what information is returned. It only says 'information' without specifying sprint fields such as name, dates, or status. Given the tool's simplicity, the description is functional but lacks necessary detail for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% for all three required parameters (id, projectId, organizationId), so the baseline is 3. The description adds no parameter semantics, but the schema already fully documents each parameter's purpose, making this acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and resource 'sprint', clearly indicating a retrieval operation for a single sprint. It distinguishes from sibling tools like list_sprints (lists multiple), create_sprint, and update_sprint by focusing on retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is given. The verb 'Get' implies usage for retrieving a single sprint, but the description does not explicitly state that list_sprints should be used for multiple sprints or note any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_organizationsA
Get the list of organizations the current user belongs to
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It communicates a read-only 'get' action with no side effects, but it does not disclose authentication requirements, pagination behavior, ordering, or handling of an empty organization list. For a simple zero-parameter query this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words. It directly states the action and result without repeating structured schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description is nearly complete. It specifies exactly what data is returned (organizations for the current user), though it does not describe the exact response shape or edge cases like empty results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the description does not need to explain parameters. The description adds meaningful context about what is being listed, aligning with the baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact operation with a specific verb and resource: 'Get the list of organizations the current user belongs to.' It clearly distinguishes itself from sibling tools like get_current_organization_info or get_current_user by focusing on all organizations for the current user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: call this when you need the current user's organizations. However, there is no explicit guidance about when not to use it or which sibling tool might be a better alternative, such as get_current_organization_info for a single current organization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_itemC
[Project Management] Get information about a work item
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | Work item unique identifier, required parameter | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'Get information.' It does not mention whether the operation is read-only, whether special permissions are required, what information is returned, or potential error conditions. The verb 'Get' implies a read operation, but this is implicit rather than explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficiently worded sentence with a useful category prefix. It is front-loaded and contains no filler. However, the brevity comes at the cost of valuable behavioral and usage details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's apparent simplicity, there is no output schema and no annotations, so the vague phrase 'information about a work item' leaves the expected return value unclear. The description does not explain what fields or level of detail are returned, nor does it clarify the role of organizationId beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both workItemId and organizationId are documented in the schema. The description does not add any additional meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get information about a work item.' It clearly identifies the tool as a retrieval operation for a single work item, distinguishing it from related tools like get_work_item_types, get_work_item_workflow, and list_work_items. However, it does not explicitly differentiate from other 'get_*' siblings for work item sub-resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as search_workitems or list_workitem_activities. The description only states the basic operation with no mention of appropriate use cases, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workitem_fileA
[Project Management] Get file information for a specific work item. Supports both file IDs (long hex for description-embedded images) and attachment IDs (numeric like 62487031). Returns file details including name, size, suffix, and a temporary download URL.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 文件唯一标识。支持两种格式:文件ID(长hex字符串,用于描述中嵌入的图片)或附件ID(纯数字如 62487031,用于普通附件) | |
| workitemId | Yes | 工作项唯一标识 | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently discloses that it returns file name, size, suffix, and a temporary download URL, and explains the two supported ID formats. This is sufficient for a read-only retrieval operation, though it does not detail permission requirements or URL expiration behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and every phrase adds value. It avoids redundancy and awkward structure while packing in ID-format distinctions and return-value details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only fetch tool with 3 required params and no output schema, the description is reasonably complete. It identifies required inputs and explains what will be returned, including the temporary URL. It could go a bit further by clarifying error scenarios or URL expiry, but it is well-suited to support tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents all three parameters. The tool description adds some context around the 'id' parameter (file IDs vs attachment IDs), but this largely duplicates the schema description. It does not meaningfully supplement the meaning of organizationId or workitemId beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get file information for a specific work item', giving a specific verb and resource. It explicitly distinguishes between file IDs and attachment IDs, and lists what is returned, making it easy to tell apart from related tools like list_workitem_attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear usage context: use it to retrieve a single file/attachment for a work item when you have a specific ID. It does not explicitly name alternatives or say when not to use it, but the specificity of 'specific work item' and the ID-format explanation provide strong practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_item_typeB
[Project Management] Get details of a specific work item type
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工作项类型ID | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states it 'gets details' which implies a read-only operation, but it does not disclose any additional behavioral traits such as whether it returns all fields, whether it requires specific permissions, or what happens if the ID is invalid. The description is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a single sentence with a clear prefix. It is front-loaded with the domain context and the action. There is no wasted text, and it is appropriately sized for a simple get operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is adequate but not complete. It does not explain what 'details' includes, nor does it mention any related information like field configurations or workflows that might be relevant. However, for a basic get operation, the description is sufficient for an agent to understand the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters ('id' and 'organizationId') having descriptions in the schema. The tool description does not add any additional meaning beyond what the schema provides, so the baseline of 3 is appropriate. The description does not explain the relationship between the parameters or any format requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to get details of a specific work item type. It uses a specific verb ('get') and resource ('work item type'), and the '[Project Management]' prefix provides context. It distinguishes from siblings like 'get_work_item_types' (plural) and 'list_work_item_types' by specifying 'a specific' work item type, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving details of a single work item type, which is clear from the context. However, it does not explicitly state when to use this tool versus alternatives like 'get_work_item_types' or 'list_work_item_types', nor does it provide exclusions or prerequisites. The context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_item_type_field_configA
[Project Management] Get field configuration for a specific work item type
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | 项目唯一标识 | |
| organizationId | Yes | 企业ID | |
| workItemTypeId | Yes | 工作项类型ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. 'Get' reasonably implies a read-only operation, but the description does not mention authentication needs, response semantics, or any side effects. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, front-loaded with the domain tag and a clear action. Every word contributes to identifying the tool's function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with three fully documented parameters, the description provides the core purpose. However, without an output schema, it could still mention what kind of field configuration data is returned, and it lacks any comparison to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters documented in the schema. The description itself adds no parameter-level detail, but because the schema fully describes the parameters, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair: 'Get field configuration for a specific work item type.' This clearly identifies the tool's purpose and differentiates it from siblings like get_work_item_type and get_work_item_workflow by targeting the field configuration aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_work_item_types or get_work_item_type. It does not state exclusions, prerequisites, or context in which the field configuration is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_item_typesB
[Project Management] Get the list of work item types for a project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project unique identifier | |
| category | Yes | Work item type category, optional values: Req, Bug, Task, etc. | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It implies a read-only list operation but does not mention permissions, return format, pagination, or any other side effects. Minimal information beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, starts with a category tag, and contains no fluff. It is highly concise and well-structured with all information front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description does not describe the return structure (e.g., a list of work item type objects). For a simple list tool, this omission is notable. It also does not contextualize the 'category' parameter or its optional values beyond the schema. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions achieving 100% coverage. The description adds no extra semantic meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the list of work item types') and scopes it to a project, using a specific verb and resource. It differentiates from some siblings like 'list_all_work_item_types' by the project scope but does not explicitly explain how it differs from 'list_work_item_types'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus similar siblings such as 'list_work_item_types' or 'get_work_item_type'. The phrase 'for a project' implies context but does not specify exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_item_workflowC
[Project Management] Get workflow information for a specific work item type
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | 项目唯一标识 | |
| organizationId | Yes | 企业ID | |
| workItemTypeId | Yes | 工作项类型ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states it 'gets' information, which implies a read operation, but does not specify whether it returns the full workflow definition, requires specific permissions, or any side effects. For a simple retrieval, this may be acceptable, but the lack of detail limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the core purpose. It is not verbose and wastes no words. However, it could be slightly more informative without compromising conciseness, such as clarifying the output, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 required parameters, all documented in the schema, and no output schema. The description is minimal but functional for a simple retrieval. Given the absence of annotations and the simplicity of the operation, the description is minimally complete but could benefit from mentioning what the returned workflow information contains or when one might need it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (projectId, organizationId, workItemTypeId) with meaningful names and Chinese descriptions. The description adds no additional meaning beyond the schema, so it is adequate but not enhanced. Since schema coverage is high, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get workflow information for a specific work item type' clearly identifies the action (get) and resource (workflow information for a work item type). It distinguishes this from sibling tools like get_work_item_type (which retrieves type definition) and get_work_item_type_field_config (field configuration), making its purpose specific enough. However, it could be more explicit about what 'workflow information' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or typical scenarios. The description is purely functional and does not help the agent decide between this and related tools like list_work_item_types or get_work_item_type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_all_work_item_typesB
[Project Management] List all work item types in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states the literal action without disclosing behavioral details such as pagination, result ordering, authentication requirements, or performance implications. The description adds no context beyond what the tool name already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately identifies the tool's purpose and scope. There is no fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description provides the essential purpose. However, the lack of differentiation from similarly named sibling tools and the absence of any behavioral/return details leave room for ambiguity. It's minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the single parameter (organizationId) with a description, and the tool description adds no additional parameter context. Per the baseline, a schema coverage of 100% warrants a 3 without needing description compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('all work item types') with an organizational scope ('in an organization'). However, it does not distinguish this tool from sibling tools like 'list_work_item_types' or 'get_work_item_types', which appear to have similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies organizational scope but offers no criteria for selecting this tool over similar sibling tools such as 'list_work_item_types' or 'get_work_item_types'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_branchesC
[Code Management] List branches in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order: name_asc - name ascending, name_desc - name descending, updated_asc - update time ascending, updated_desc - update time descending | name_asc |
| search | No | Search query | |
| perPage | No | Items per page | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does not mention read-only nature, authentication requirements, rate limits, or any side effects. The simple 'list' implies read-only, but it is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the core purpose. It contains no filler but is perhaps too terse for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no output schema, and no annotations, the description is inadequate. It does not explain return format, pagination behavior, or how search/sort interact, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no extra meaning beyond what the schema already provides for parameters like page, sort, search, and perPage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists branches in a repository, which is distinct from sibling tools like get_branch or create_branch. However, it lacks specificity about scope (e.g., whether it returns all branches or honors filters).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives like get_branch. The description only states the action without any context on prerequisites, such as needing repository access or when listing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_request_commentsA
[Code Management] List comments on a change request. Supports filtering by comment type (GLOBAL_COMMENT or INLINE_COMMENT), state (OPENED or DRAFT), resolved status, and file path (for inline comments).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | 评论状态。OPENED - 已发布的评论;DRAFT - 草稿评论 | OPENED |
| localId | Yes | 合并请求局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| filePath | No | 文件路径过滤,仅用于行内评论。可以过滤特定文件的评论。示例:'/src/main/java/com/example/MyClass.java' 或 'src/utils/helper.ts' | |
| resolved | No | 是否已解决。true - 只查询已解决的评论;false - 只查询未解决的评论(默认值) | |
| commentType | No | 评论类型。GLOBAL_COMMENT - 全局评论;INLINE_COMMENT - 行内评论 | GLOBAL_COMMENT |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID | |
| patchSetBizIds | No | 关联版本ID列表,每个评论都关联一个版本,表示该评论是在哪个版本上发布的。对于全局评论,关联的是最新合并源版本。示例:['bf117304dfe44d5d9b1132f348edf92e', '537367017a9841738ac4269fbf6aacbe'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the filtering behavior and defaults (e.g., default state OPENED, default commentType GLOBAL_COMMENT) but does not mention pagination, ordering, or whether the tool returns both global and inline comments if no type is specified. The description is accurate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the tool's purpose, and lists filters concisely. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters with 100% schema coverage and no output schema. The description covers the main filtering capabilities and defaults, which is sufficient for a list operation. It could mention pagination or response format, but given the schema richness, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds a brief summary of filters but does not add significant meaning beyond the schema. It mentions filePath is for inline comments, which is also in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists comments on a change request, with a specific verb ('List') and resource ('comments on a change request'). It also enumerates the filtering dimensions (comment type, state, resolved status, file path), which distinguishes it from sibling tools like create_change_request_comment and update_change_request_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving comments with optional filters, but does not explicitly state when to use this tool versus alternatives (e.g., list_work_item_comments for work items). It provides clear context on what it does but lacks explicit exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_request_patch_setsA
[Code Management] List patch sets (versions) for a change request. Patch sets represent different versions of the merge request as it evolves.
| Name | Required | Description | Default |
|---|---|---|---|
| localId | Yes | 局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clarifies that patch sets are 'different versions of the merge request as it evolves,' which adds useful domain context. However, it does not explicitly state the operation is read-only, describe pagination/ordering, or mention any required permissions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the domain category and the core action. Every sentence adds useful context without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully covers the required parameters, and the description defines the key domain concept. However, with no output schema and no annotations, the description does not mention what the response contains or any behavior such as ordering or pagination, leaving some gaps for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters clearly, including examples for localId and repositoryId. The tool description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('List patch sets') and explicitly defines what patch sets are in the context of a change request. This distinguishes it from sibling tools like list_change_request_comments or get_change_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[Code Management]' prefix and the explanation of patch sets imply when the tool is relevant (inspecting versions of a merge request/change request). However, it does not explicitly state when to prefer this over get_change_request or list_change_requests, nor does it mention exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_requestsA
[Code Management] List change requests with multi-condition filtering, pagination and sorting. Supports filtering by repository, author, reviewer, state (opened/merged/closed), search keywords, and creation time range.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码,从1开始。示例:1 | |
| sort | No | 排序方式。asc - 升序;desc - 降序(默认)。示例:'desc' | desc |
| state | No | 合并请求筛选状态。opened - 已开启;merged - 已合并;closed - 已关闭。默认为null,即查询全部状态。示例:'opened' | |
| search | No | 标题关键字搜索,用于在合并请求标题中搜索。示例:'mr title' 或 'bug fix' | |
| orderBy | No | 排序字段。created_at - 按创建时间排序;updated_at - 按更新时间排序(默认)。示例:'updated_at' | updated_at |
| perPage | No | 每页大小,默认20。示例:20 | |
| authorIds | No | 创建者用户ID列表,多个以逗号分隔。示例:'62c795xxxb468af8' 或 '62c795xxxb468af8,62c795xxxb468af9' | |
| projectIds | No | 代码库ID或者路径列表,多个以逗号分隔。示例:'2813489,2813490' 或 '2813489,60de7a6852743a5162b5f957%2FDemoRepo'(注意:斜杠需要URL编码为%2F) | |
| reviewerIds | No | 评审人用户ID列表,多个以逗号分隔。示例:'62c795xxxb468af8' 或 '62c795xxxb468af8,62c795xxxb468af9' | |
| createdAfter | No | 截止创建时间,时间格式为ISO 8601。查询创建时间不晚于此时间的合并请求。示例:'2024-04-05T15:30:45Z' | |
| createdBefore | No | 起始创建时间,时间格式为ISO 8601。查询创建时间不早于此时间的合并请求。示例:'2024-04-05T15:30:45Z' | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It mentions functional capabilities (filtering, pagination, sorting) but does not disclose side effects, authentication requirements, or return format. For a list operation it is reasonable but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, front-loaded with the core purpose, and efficiently lists key features without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, no output schema, and no annotations, the description covers the main capabilities but omits details on return structure, error handling, or limits. It is adequate for a standard list tool but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has detailed descriptions. The description adds a high-level summary of filter categories (repository, author, reviewer, etc.) that mirrors the schema definitions, offering marginal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List change requests' with verb+resource, and distinguishes from siblings like get_change_request and create_change_request. It also lists supported features (filtering, pagination, sorting) that set it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing change requests with filters, but does not explicitly contrast with single-fetch get_change_request or other alternatives. It provides clear context but lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commitsC
[Code Management] List commits in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 | |
| path | No | 文件路径 | |
| since | No | 提交起始时间,格式:YYYY-MM-DDTHH:MM:SSZ | |
| until | No | 提交截止时间,格式:YYYY-MM-DDTHH:MM:SSZ | |
| search | No | 搜索关键字 | |
| perPage | No | 每页大小 | |
| refName | Yes | 分支名称、标签名称或提交版本,默认为代码库默认分支 | |
| committerIds | No | 提交人ID列表(多个ID以逗号隔开) | |
| repositoryId | Yes | 代码库ID或者URL-Encoder编码的全路径 | |
| showSignature | No | 是否展示签名 | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of disclosing behavior. It only restates the tool's action without revealing any side effects, rate limits, default behaviors, or response characteristics. It adds minimal value beyond the tool name, though it doesn't mislead, so it scores slightly above the lowest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with a category tag, providing maximum information in minimal words. It contains no fluff and directly communicates the tool's purpose. Every character earns its place, exemplifying conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters and no output schema, the description should clarify the tool's output, filtering behavior, or pagination. It does none of that, leaving the agent to infer essential details. The description is too sparse for a tool of this complexity, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 11 parameters have descriptions in the input schema (100% coverage), so the baseline is 3. The description itself does not add parameter-level context, but the schema already explains each parameter's meaning, including defaults (e.g., refName defaults to repository default branch). Therefore, the description does not need to compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List commits in a Codeup repository' clearly states the verb 'list' and the resource 'commits', and adds the repository context. It differentiates from sibling tools like get_commit by implying a collection operation, but it doesn't explicitly contrast with alternatives, resulting in a minor deduction. Overall, it is specific and understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_commit or list_change_requests. There is no mention of use cases, prerequisites, or exclusions. As the rubric notes, this is 'no guidance' which merits a score of 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_current_user_effort_recordsB
[Project Management] 获取用户的实际工时明细,结束时间和开始时间的间隔不能大于6个月
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | 工作的结束时间,格式为yyyy-MM-dd | |
| startDate | Yes | 工作的开始时间,格式为yyyy-MM-dd | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses a key behavioral rule: the time interval must be ≤6 months, which is not in the schema. However, it does not describe return format, pagination, error behavior, or explicitly confirm read-only status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with a category prefix, and contains no extraneous information. Every word contributes to purpose or the key constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with 3 parameters and no output schema. The description covers purpose and a constraint but does not clarify the scope (current user vs all users) beyond the tool name, nor mention what is returned. Adequate but with gaps in usage guidance and return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline of 3. The description adds a relationship constraint between startDate and endDate (6-month limit), which is meaningful semantics beyond the individual parameter descriptions. This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '获取用户的实际工时明细' (get the user's actual work hours details), which is a specific verb and resource. However, it does not explicitly mention 'current user' (though the tool name does) and does not differentiate from the sibling tool list_effort_records, which likely serves a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like list_effort_records. The description mentions a constraint (the interval between endDate and startDate cannot exceed 6 months), which is parameter-related but not tool-selection guidance. No exclusions or contexts are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_effort_recordsC
[Project Management] 获取实际工时明细
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工作项唯一标识 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only states the tool gets actual effort details. It does not mention any filtering behavior (e.g., by work item id), permissions, pagination, or return format, leaving significant behavioral ambiguities for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with no fluff, but it is under-specified rather than concise. It lacks any additional context or structure that would help the agent, so it feels more like an incomplete stub than a well-crafted concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with only two parameters and no output schema, but the description is minimal and provides no context about return values, filtering semantics, or when to choose this over sibling effort tools. Given that sibling tools exist with overlapping domains, this description is insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters have clear descriptions ('工作项唯一标识' and 'organizationId'). The description adds little beyond the schema, but it does provide the domain context that these parameters relate to actual effort records, which justifies the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: '获取实际工时明细' ('get actual effort details'), making the core function clear. It identifies the resource as actual work-hour records, which implicitly distinguishes it from estimated efforts, but it does not explicitly differentiate it from siblings like list_current_user_effort_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_estimated_efforts or list_current_user_effort_records. The description offers no context, prerequisites, or exclusions, leaving the agent to infer usage from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_estimated_effortsB
[Project Management] 获取预计工时明细
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工作项唯一标识 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states that it retrieves details, without mentioning safety, side effects, pagination, or return format. For a list operation, it does not even clarify that it returns multiple items. This is a minimal disclosure falling short of the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It is appropriately brief, but could include more substance without becoming verbose. Efficiency is good, though it sacrifices informative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple list operation, the description is overly terse. It does not explain what is returned, whether it is a list, how parameters relate, or any constraints. It is incomplete for an agent to confidently invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters having descriptions, though 'organizationId' is just a name repeat. The tool description adds no additional meaning beyond the schema. Since coverage is high, baseline is 3, and the description does nothing to enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取预计工时明细' (get estimated effort details) clearly identifies the action (retrieve) and resource (estimated efforts). It distinguishes from sibling tools like create_estimated_effort and update_estimated_effort, and from list_effort_records which targets actual effort records. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that this tool is for estimated efforts specifically or contrast it with list_effort_records. The description offers no context on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesB
[Code Management] List file tree from a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Reference name, usually branch name, can be branch name, tag name or commit SHA. If not provided, the default branch of the repository will be used, such as master | |
| path | No | Specific path to query, for example to query files in the src/main directory | |
| type | No | File tree retrieval method: DIRECT - only get the current directory, default method; RECURSIVE - recursively find all files under the current path; FLATTEN - flat display (if it is a directory, recursively find until the subdirectory contains files or multiple directories) | RECURSIVE |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior like whether it is read-only, what data it returns, and any side effects. It only says it 'lists' a file tree, which implies a read but doesn't explicitly confirm no mutation, rate limits, or pagination behavior. It adds minimal value beyond the name, leaving the agent uncertain about the operation's safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, efficient, and front-loaded with a clear verb and resource. It doesn't waste words. However, it could be slightly longer to include usage guidance without losing conciseness, but for what it does, it's appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must convey what the tool returns and its safety. It doesn't mention that it returns a file tree structure or any details about the output format. It also doesn't explain potential use cases like fetching a subtree vs whole repo. For a tool that could potentially return large data, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters have detailed descriptions in the schema, including defaults and examples (e.g., ref defaults to default branch, type has DIRECT/RECURSIVE/FLATTEN). The description adds nothing beyond the schema, so it provides baseline value. It doesn't clarify nuances like how path interacts with type, but the schema covers basic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists the file tree from a Codeup repository, which is specific and action-oriented. It distinguishes it from related tools like get_file_blobs or create_file, though it doesn't explicitly mention scope or filters. The 'Code Management' prefix adds context but is minimal. Overall, it clearly states what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a basic verb+resource but no explicit when-to-use guidance or alternatives. It doesn't mention when to choose this over list_commits or compare, nor does it note that it's for read-only exploration. Context is implied: you use it to see repository structure, but it lacks explicit directions for common use cases like navigating directories or specifying branches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organization_departmentsC
Get the list of departments in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | No | Parent department ID | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates 'Get', implying a read-only operation, but does not disclose whether the list is flat, hierarchical, paginated, or whether it includes all departments or only those under a parent. It provides minimal behavioral context beyond the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the purpose without any fluff or repetition. It is front-loaded and easy to parse, though it is also minimal in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description is incomplete. It does not explain the behavior of the optional parentId parameter or whether the result is scoped to a single department or includes sub-departments. Given the existence of related sibling tools and the absence of an output schema, more detail is needed to fully understand the tool's functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (organizationId and parentId) have descriptions in the schema (100% coverage). The description adds no additional meaning about how parentId affects the list (e.g., filtering by parent). Since the schema already documents the parameters, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the list of departments in an organization', specifying the verb 'Get' and the resource 'list of departments'. It differentiates from sibling tools like get_organization_department_info (singular department info) and get_organization_department_ancestors (ancestors). However, it does not explicitly state that this lists direct children vs. all descendants, which could confuse with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_organization_department_info, get_organization_department_ancestors, or list_organization_members. The description only states what it does, not how to choose it based on the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organization_membersC
list user members in an organization
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| perPage | No | Page size | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'list' which implies a read operation, but it does not mention pagination, ordering, or any potential effects. Given the simple action, more context like 'returns all members with pagination support' would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently states the action. It has no unnecessary words, but it is minimal to the point of being under-specified, so it earns a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify return values (e.g., a list of members, pagination info). It does not mention pagination behavior, error conditions, or permission requirements. The presence of sibling tools like search_organization_members is not mentioned, making this incomplete relative to the tool's ecosystem.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for parameter descriptions, so the baseline is 3. The tool description does not add any extra meaning beyond what the schema already provides for page, perPage, and organizationId. It simply echoes the action without elaborating on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists user members in an organization, using a specific verb and resource. However, it does not differentiate from sibling tools like search_organization_members, which might also list members with filtering, so it's not fully distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description merely states the action without context, exclusions, or references to sibling tools like search_organization_members or get_organization_member_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organization_rolesB
[Organization Management] List organization roles
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'List organization roles' with no mention of permissions, pagination, ordering, or return format. The verb implies a read-only operation, but that is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with a category prefix, and no redundant words. Every word earns its place, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description states the core purpose but lacks details about return values, pagination, or usage context. It is minimally viable but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single organizationId parameter, so the schema already documents it fully. The description adds no extra parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'organization roles', clearly distinguishing it from sibling 'get_organization_role' (singular) and other list tools. The category prefix adds organizational context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_organization_role or list_organization_members. It only states the action without any context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_program_versionsA
[Project Management] List versions for a Yunxiao Program (Project Set). Versions are used to manage release plans and track delivery progress.
Use Cases:
List all versions in a program Filter versions by status (TODO, DOING, ARCHIVED) Search versions by name
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Program (Project Set) unique identifier | |
| name | No | Filter by name | |
| page | No | Page number, default is 1 | |
| status | No | Filter by status: TODO (not started), DOING (in progress), ARCHIVED (released) | |
| perPage | No | Page size, default is 20 | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for disclosing behavior. It implies a read-only operation by the verb 'List', but does not explicitly state it is safe/read-only, nor does it mention permissions, side effects, pagination behavior, or return format. For a tool without annotations, this is insufficient. Score 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the action. The use cases are listed in a scannable format. No unnecessary verbiage; every sentence adds either scope, purpose, or typical usage. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with a rich schema (6 params, all documented), the description adequately explains the core function. However, it does not mention return structure (though implied by 'List'), error conditions, or specific pagination details beyond what the schema already says. Given no output schema and no annotations, it falls short of providing a complete behavioral contract. Adequate but with gaps, so a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents each parameter. The description repeats the filtering concepts (status, name) without adding new syntax, constraints, or cross-parameter relationships. Since the schema already explains arguments, the description adds no extra value beyond what's in the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists versions for a Yunxiao Program (Project Set). It specifies the resource (versions) and scope (program), giving a clear verb+resource combo. However, it does not explicitly differentiate from sibling tools like 'list_versions', relying on the name and program context to distinguish. Thus a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical use cases: listing all versions, filtering by status, and searching by name. This gives clear context on when to use the tool. It does not mention exclusions or alternatives (e.g., 'for non-program versions use list_versions'), but the program-specific scope is clear. Score 4 for clear context without explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_repositoriesB
[Code Management] Get the CodeUp Repository List.
A Repository serves as a unit for managing source code and is distinct from a Project.
Use Case:
View my repositories
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, default starts from 1, generally should not exceed 150 pages | |
| sort | No | Sort order, options include {asc, desc}, default is desc | desc |
| search | No | Search keyword, used to fuzzy match repository paths | |
| orderBy | No | Sort field, options include {created_at, name, path, last_activity_at}, default is created_at | created_at |
| perPage | No | Items per page, default 20, value range [1, 100] | |
| archived | No | Whether archived | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavior. It says 'Get' and mentions repository management, but omits critical behavioral details: pagination (page/perPage), required organizationId scoping, archived filtering, and return structure. The phrase 'my repositories' is potentially misleading because the operation is scoped to an organization, not necessarily the current user's personal repos.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and well-front-loaded with the main action, followed by a clarifying parenthetical about Repository vs Project. The 'Use Case' line is somewhat redundant with the first sentence but adds a practical angle. Compared to many verbose descriptions, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what fields are returned, how pagination works, that organizationId is required, or how search/archived filters behave. The vague 'my repositories' leaves too much to inference; a fuller description of scope and result shape is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the baseline is 3. The description itself adds no parameter-level information beyond what the schema already explains, but it also does not contradict or mislead about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get the CodeUp Repository List', which clearly specifies the verb (get) and resource (repository list). It also distinguishes Repository from Project, differentiating it from sibling project-oriented tools. The use case 'View my repositories' reinforces the purpose without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use Case: View my repositories' implies when to use the tool, but it does not explicitly contrast it with alternatives like get_repository or list_branches. No exclusions or conditions are provided, so it remains at the level of implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sprintsB
[Project Management] List sprints in a project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project unique identifier | |
| page | No | Page number | |
| status | No | Filter by status: TODO, DOING, ARCHIVED | |
| perPage | No | Page size, up to 200 | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The description is minimal but does communicate that it lists sprints, implying a read operation. However, no details on pagination, required authentication, or behavior with no sprints, which would be helpful for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, efficient. But the '[Project Management]' prefix adds noise without information, and the description doesn't mention the parameters that follow. It's terse but not deeply structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with a schema covering all parameters, the description is adequate but lacks richness. It doesn't mention result sorting, default page size, or any rate limits, but the schema covers the core parameters. Output format is not specified, but no output schema exists to cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all parameters. However, the description doesn't add any additional meaning beyond the schema. The description is identical to the schema's 'id' description, offering no extra value for parameters like 'organizationId' or the 'status' filter enum values. For a 5-parameter tool, this is a lost opportunity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'List sprints in a project' – clear verb+resource, scoped to a project. However, the category tag '[Project Management]' doesn't add value, and the description doesn't contrast with siblings like get_sprint, though the scope is generally clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: list sprints within a project. But there's no explicit 'when to use' versus alternatives like get_sprint, and no mention of when filtering by status is appropriate. It's implied by the tool's name and schema fields, but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_versionsB
[Project Management] List versions for a Yunxiao Project or Program. Versions are used to manage release plans and track delivery progress.
Use Cases:
List all versions in a project Filter versions by status (TODO, DOING, ARCHIVED) Search versions by name
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project unique identifier or Program unique identifier | |
| name | No | Filter by name | |
| page | No | Page number, default is 1 | |
| status | No | Filter by status: TODO (not started), DOING (in progress), ARCHIVED (released) | |
| perPage | No | Page size, default is 20 | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It only says 'List versions' and adds context about release plans, but does not explicitly state it is read-only, explain pagination behavior, or describe the response format. This is a gap for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, starting with a clear one-line purpose and followed by a short bullet list of use cases. Every sentence earns its place, and it avoids unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the description covers the main functionality with use cases. However, the overlap with `list_program_versions` is not addressed, and since there is no output schema, the description could provide more context on what a version object includes or how pagination works. Overall, it is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description's mention of filtering by status and name duplicates the schema without adding new meaning. No additional parameter semantics are provided beyond what the schema gives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists versions for a Yunxiao Project or Program and provides concrete use cases. However, it does not explicitly distinguish this tool from sibling `list_program_versions`, which could cause confusion about which to use for program versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by listing use cases (list all versions, filter by status, search by name), but it does not provide explicit guidance on when to use this tool versus alternatives like `list_program_versions`, nor any exclusions or prerequisites beyond the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workitem_activitiesA
[Project Management] List activity history for a specific work item. Returns changes including field updates, status transitions, association changes, and attachment changes, with operator and timestamp details.
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | Work item unique identifier | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read-only operation through 'List' and 'Returns', but does not explicitly state that it has no side effects or mention any permissions or rate limits. Without annotations, it is moderately transparent but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, consisting of a single sentence that covers the action, resource, and return details. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and what it returns, covering the essential context. It does not mention pagination, error handling, or optional parameters, but these are not critical for a simple list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides clear descriptions for both parameters (organizationId and workItemId), so coverage is 100%. The tool description does not add extra meaning beyond the schema, which is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: listing activity history for a work item. It specifies the resource (work item activity) and the verb (list), and distinguishes it from sibling tools like list_work_item_comments or list_work_item_attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when activity history is needed, but lacks concrete conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workitem_attachmentsB
[Project Management] List attachments for a specific work item. Returns attachment information including file name, size, suffix, download URL, and creator/modifier details.
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | 工作项唯一标识 | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does disclose useful return context (that only metadata like size, suffix, download URL is returned, not file content) which helps an agent set expectations. However, it omits potential behavioral traits such as pagination, ordering, empty-result behavior, or permission requirements—gaps not covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences: the first states the core action and the second discloses the return shape. Every word earns its place, and the useful return-field list is appropriately placed since there is no output schema. The [Project Management] prefix is minor and uncompressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter, no-output-schema list tool, the description is largely adequate—it covers what it does and what it returns (including the download URL, which directly answers likely agent questions). It falls just short of complete because it never mentions pagination, ordering, or list-size limits, which are the most likely blind spots for a list endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description's 'for a specific work item' reinforces the workItemId scoping but adds no new syntax, format, or semantic detail beyond what the schema already documents (工作项唯一标识, Organization ID).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (List) and resource (attachments for a specific work item) and adds return-value detail (file name, size, suffix, download URL, creator/modifier details). It's specific and unambiguous, though it doesn't explicitly contrast with sibling tools like create_workitem_attachment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives—no mention of the obvious sibling create_workitem_attachment for uploading, no prerequisites (e.g., work item must exist, requires read access), and no exclusions. The only scoping hint is 'specific work item' embedded in the purpose, which isn't enough to constitute guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_work_item_commentsB
[Project Management] List comments for a specific work item
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 | |
| perPage | No | 每页条数 | |
| workItemId | Yes | 工作项ID | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states the basic action and does not describe pagination behavior, ordering, return format, or any other behavioral nuances beyond what the schema already reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is directly front-loaded with the core purpose. It contains no filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description is too minimal. It omits important context such as pagination behavior, sorting, and the structure of the returned comments. The agent would need to infer these from the schema and tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameters; it merely repeats the concept of 'work item' which is already captured by the workItemId property.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List comments for a specific work item' clearly identifies the verb (List), resource (comments), and scope (specific work item). This distinguishes it from sibling tools like list_change_request_comments, which target change requests instead of work items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need comments for a specific work item) but provides no explicit guidance on alternatives or exclusions. There is no mention of preferring this tool over list_change_request_comments or create_work_item_comment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_work_item_relation_work_item_typesA
[Project Management] List work item types that can be related to a specific work item
| Name | Required | Description | Default |
|---|---|---|---|
| relationType | No | 关联类型,可选值为 PARENT、SUB、ASSOCIATED,DEPEND_ON, DEPENDED_BY 分别对应父项,子项,关联项,依赖项,支撑项。 | |
| organizationId | Yes | 企业ID | |
| workItemTypeId | Yes | 工作项类型ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries responsibility for behavioral signals. 'List' implies a read-only operation, but the description does not explicitly state read-only behavior, permissions, return shape, or pagination. Adequate basic but incomplete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise, front-loaded sentence clearly communicates what the tool does. There is no redundant filler or unnecessary repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource with only 3 params and high schema coverage, this description gives enough context to understand the operation. It lacks only a small bit of behavioral detail about the effect of relationType, but the schema fills that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains workItemTypeId, organizationId, and relationType including a relation enum. The tool description adds relational context but does not provide additional meaning about the individual parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a specific resource ('work item types that can be related to a specific work item'), making the intent clear. It also distinguishes this tool from sibling tools like list_work_item_types or list_all_work_item_types by focusing on relation compatibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus alternatives. It does not mention why an agent should choose this over list_work_item_types, list_all_work_item_types, or get_work_item_type, and provides no exclusions or 'use this when' statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workitem_testcase_relationsA
[Project Management] List test cases related to a work item. Returns relation records including relationRecordId (used for deletion), testcaseId, subject and owner.
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | 工作项唯一标识 | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool returns relation records with specific fields and implies a read-only list operation, but it does not mention pagination, ordering, permissions, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It efficiently communicates the domain, action, resource, and key return fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool with no output schema, the description covers the essential purpose and return fields. It lacks mention of pagination or result limits, but the low complexity means this is not a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters described in the schema (workItemId and organizationId). The description adds no additional parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('test cases related to a work item'), clearly distinguishing it from sibling tools like create_workitem_testcase_relation and delete_workitem_testcase_relation. It also names the key returned fields, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it lists test cases related to a work item, and the mention of relationRecordId 'used for deletion' hints at a workflow. However, it does not explicitly state when to use this tool versus alternatives or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_work_item_typesA
[Project Management] List work item types in a project space
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | 工作项类型,可选值为 Req,Bug,Task 等。 | |
| projectId | Yes | 项目唯一标识 | |
| organizationId | Yes | 企业ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention read-only nature, permissions, rate limits, or any side effects. Since it's a list operation, it's likely read-only, but this is not stated, leaving behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal and does not specify the return format or any filtering behavior (e.g., the optional category parameter). While a simple list operation may not require extensive detail, the lack of output schema and absence of remarks about the returned data leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema includes descriptions for all three parameters (category, projectId, organizationId) with clear explanations (e.g., category values Req, Bug, Task). Thus schema coverage is high, but the description itself does not add extra parameter semantics beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List work item types in a project space' which specifies the verb (List), resource (work item types), and scope (project space), distinguishing it from sibling tools like list_all_work_item_types and get_work_item_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this function versus alternatives such as list_all_work_item_types or get_work_item_type. The context of 'project space' is implied but not elaborated, so while the usage is clear from the name, there are no explicit conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_change_requestA
[Code Management] Merge a change request (merge request) using a specific merge type (ff-only / no-fast-forward / squash / rebase), with an optional merge message and optional source-branch deletion. This rewrites the target branch and is not reversible.
| Name | Required | Description | Default |
|---|---|---|---|
| localId | Yes | 局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| mergeType | Yes | 合并类型。ff-only - fast-forward-only 合并;no-fast-forward - 普通合并;squash - 压缩合并;rebase - rebase 合并 | |
| mergeMessage | No | 合并提交信息。示例:'merge message' | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID | |
| removeSourceBranch | No | 是否在合并后删除源分支。不传则由云效按默认行为处理 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly warns that this operation 'rewrites the target branch and is not reversible,' a critical side effect. It also mentions optional source-branch deletion. Since no annotations are provided, the description fully carries the burden and does so well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences long, and well-structured with a category tag. Every sentence adds value without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema, the description is quite complete, clearly explaining side effects and options. It could be improved by mentioning what happens after a successful merge, but it adequately covers the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions (100% coverage), so the description does not need to add extra parameter details. The description adds context about the effect of mergeType and removeSourceBranch but does not introduce new information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource ('Merge a change request') and specifies the merge types and options. It distinguishes itself from siblings like review_change_request by focusing on the merge action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly outlines the use case: merging with a specific merge type. However, it does not explicitly detail when to use this tool versus a review or comment tool, though the sibling context makes it clear. It mentions optional source-branch deletion, providing context on its capabilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_change_requestA
[Code Management] Review a change request (merge request): submit a PASS / NOT_PASS opinion, optionally with a comment, and optionally submit pending draft comments at the same time.
| Name | Required | Description | Default |
|---|---|---|---|
| localId | Yes | 局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| reviewComment | No | 评论内容,随评审一起提交。示例:'代码逻辑没问题,但建议补一个单测' | |
| reviewOpinion | No | 评审意见。PASS - 通过;NOT_PASS - 不通过。表达评审结论时必传,仅提交草稿评论时可省略 | |
| organizationId | Yes | 组织ID | |
| submitDraftCommentIds | No | 要一并提交的草稿评论ID列表。示例:['4ff23jj62c795xxxb468af8'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the core behavior (submitting an opinion, optional comment, and optional draft comment submission) but does not mention side effects like reversibility, permission requirements, or return values. It adds some context beyond schema (draft comment submission) but lacks deeper behavioral caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the domain tag and immediately states the verb and resource. It is concise with no filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a medium-complexity tool with 6 parameters and no output schema, the description adequately explains the core action and optional behaviors. It does not explain return values or error conditions, but the essential decision-making information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already well-documented. The description does not add any additional meaning beyond what the schema provides; it only summarizes optionality that the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'review' with the resource 'change request (merge request)' and precisely outlines the action: submit a PASS/NOT_PASS opinion, optionally with a comment and draft comments. This clearly distinguishes it from siblings like get_change_request or merge_change_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when to use this tool: to submit a review opinion on a change request. It does not explicitly mention alternative tools, but the context is unambiguous compared to related actions like creating a comment or merging.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_organization_membersC
[Organization Management] Search for organization members
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Current page number, defaults to 1 | |
| query | No | Search query | |
| deptIds | No | Department IDs to search for | |
| perPage | No | Number of items per page, defaults to 100 | |
| roleIds | No | Role IDs to search for | |
| statuses | No | User statuses, posibble values: ENABLED,DISABLED,UNDELETED,DELETED,NORMAL_USING,UNVISITED。ENABLED=NORMAL_USING+UNVISITED;UNDELETED=ENABLED+DISABLED | |
| nextToken | No | Next token for pagination | |
| organizationId | Yes | Organization ID | |
| includeChildren | No | Whether to include sub-departments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says 'search', with no mention of pagination behavior, result format, permission requirements, or any side effects. This is completely inadequate for a 9-parameter tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence) and front-loaded, but it lacks substance. It is not verbose, yet every sentence should earn its place; this sentence only states the tool's basic purpose without adding operational value. Thus, it is not 'good conciseness' but rather minimalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters daring no output schema, and no annotations, the description only says 'search for organization members'. It does not clarify that this is likely a paginated/search API despite having page, perPage, nextToken parameters, nor does it mention that includeChildren affects scope. The description is wholly insufficient for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% - all 9 parameters have descriptions in the schema. The description adds no additional parameter semantics, but the baseline of 3 is appropriate given that the schema already explains each parameter like page, query, and includeChildren.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search for organization members' with a clear verb and resource, but it does not distinguish itself from the sibling tool 'list_organization_members'. Without any scoping or differentiation, an agent cannot tell when to prefer this over the list tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not specify when to use this tool versus list_organization_members, nor does it mention any alternatives or exclusions. This is a critical gap given the sibling list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_programsB
[Project Management] Search for Yunxiao Program (Project Set) List. A Program is a collection of multiple related projects, used for unified management and coordination of large projects.
Use Cases:
Query programs by name Query programs by status Query programs by creator
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name search (fuzzy matching) | |
| page | No | Pagination parameter, page number, default is 1 | |
| sort | No | Sort order, default is desc. desc: descending, asc: ascending | desc |
| users | No | User identifiers (supports multiple, separated by commas, used for extraConditions) | |
| status | No | Status identifiers (supports multiple, separated by commas) | |
| creator | No | Creator identifier (supports multiple, separated by commas) | |
| orderBy | No | Sort field, currently only supports name and creation time, default is gmtCreate. gmtCreate: creation time, name: name | gmtCreate |
| perPage | No | Pagination parameter, page size, 0-200, default is 20 | |
| gmtCreateEnd | No | Creation time end (format: yyyy-MM-dd HH:mm:ss) | |
| gmtCreateStart | No | Creation time start (format: yyyy-MM-dd HH:mm:ss) | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden for behavioral disclosure. It describes the tool as a search operation but does not mention pagination, sorting, fuzzy matching, or that it returns a paginated list. It also does not disclose any side effects or auth requirements. The description adds minimal behavioral context beyond the obvious 'search' semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a brief intro and a bulleted use-case list. It avoids excessive verbosity and front-loads the primary action. The context sentence about programs adds useful background. It could be slightly tighter, but it is well-structured and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no output schema, no annotations), the description provides a basic overview and use cases, but it does not explain the response structure or cover all filtering capabilities. It is adequate for a simple search tool but leaves some gaps, such as what a 'Program' object contains or how results are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mentions 'name', 'status', and 'creator' as filter fields, which aligns with the schema, but it does not add any new meaning beyond the schema descriptions. It does not explain concepts like comma-separated multi-value parameters or pagination defaults, so it adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search for Yunxiao Program (Project Set) List.' It defines what a Program is, distinguishing it from projects, and lists specific search capabilities (by name, status, creator). This provides a clear verb+resource+scope and differentiates from sibling search_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the 'Use Cases' list, such as querying by name, status, and creator. However, it does not explicitly state when to use this tool over alternatives like search_projects, nor does it provide exclusions or prerequisite conditions. The context is clear but no explicit guidance on alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_projectsA
[Project Management] Search for Yunxiao Project List. A Project is a project management unit that includes work items and sprints, and it is different from a code repository (Repository).
Use Cases:
Query projects I am involved in Query projects I have created
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Text contained in project name | |
| page | No | Pagination parameter, page number | |
| sort | No | Sort order, default is desc, options: desc (descending), asc (ascending) | desc |
| status | No | Project status ID, multiple separated by commas | |
| userId | No | User ID to use with scenarioFilter, should be the userId returned from getCurrentOrganizationInfoFunc | |
| creator | No | Creator | |
| orderBy | No | Sort field, default is gmtCreate, supports: gmtCreate (creation time), name (name) | gmtCreate |
| perPage | No | Pagination parameter, page size, 0-200, default value is 20 | |
| adminUserId | No | Project administrator user ID, should use userId returned from getCurrentOrganizationInfoFunc or user-provided user ID, multiple IDs separated by commas | |
| createdAfter | No | Created not earlier than, format: YYYY-MM-DD | |
| createdBefore | No | Created not later than, format: YYYY-MM-DD | |
| logicalStatus | No | Logical status, e.g., NORMAL | |
| organizationId | Yes | Organization ID | |
| scenarioFilter | No | Predefined filter scenarios: 'manage' (projects I manage), 'participate' (projects I participate in), 'favorite' (projects I favorited). Will be used to construct appropriate extraConditions. Requires userId from getCurrentOrganizationInfoFunc. | |
| extraConditions | No | Additional filter conditions as JSON string. Should be constructed similar to the conditions parameter. For common scenarios: 1) For 'projects I manage': use fieldIdentifier 'project.admin' with the user ID; 2) For 'projects I participate in': use fieldIdentifier 'users' with the user ID; 3) For 'projects I favorited': use fieldIdentifier 'collectMembers' with the user ID. Example: JSON.stringify({conditionGroups:[[{className:'user',fieldIdentifier:'project.admin',format:'multiList',operator:'CONTAINS',value:[userId]}]]}) | |
| advancedConditions | No | Advanced filter conditions, JSON format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral transparency. It only states the purpose and domain distinction, but does not disclose return format, pagination behavior, required preconditions (e.g., need for getCurrentOrganizationInfoFunc), or potential side effects. This is a significant gap for a search tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: a clear purpose line, a brief domain clarification, and two bullet-style use cases. No fluff, though the '[Project Management]' prefix and the parenthetical are slightly redundant. Overall it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 16 parameters and no output schema or annotations, the description is minimal. It provides high-level use cases but does not guide the agent on how to combine filters or mention the need for user IDs via getCurrentOrganizationInfoFunc. The schema descriptions are rich, so the schema compensates partially, but the tool's complexity warrants more contextual guidance in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter-level meaning beyond what the schema already provides. The schema itself is quite detailed, including examples for extraConditions, so the description adds no additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for Yunxiao Project List' with the verb 'search' and specific resource 'Project List'. It also distinguishes Project from code repository, and provides concrete use cases ('Query projects I am involved in', 'Query projects I have created'), which differentiates it from sibling tools like get_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool via the listed use cases (involved/created projects). However, it does not explicitly mention alternatives or when not to use it, such as pointing to get_project for a single project. Still, the use cases imply list searching rather than single retrieval, so it is clear enough with no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_workitemsA
[Project Management] Search work items with various filter conditions. Paging is capped: page * perPage must not exceed 10000, otherwise the API returns 400 — narrow the filters to reach more results
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Tag ID, multiple values separated by commas | |
| page | No | Page number, starting from 1. Default is 1. Due to the search engine's deep-paging limit, page * perPage must not exceed 10000, otherwise the API returns 400; narrow the query with filters to reach more results | |
| sort | No | Sort order, default is desc. Possible values: desc (descending), asc (ascending) | desc |
| sprint | No | Sprint ID, multiple values separated by commas | |
| status | No | Status ID, multiple separated by commas. Status names and their IDs: Pending Confirmation (28), Pending Processing (100005), Reopened (30), Deferred Fix (34), Confirmed (32), Selected (625489), In Analysis (154395), Analysis Complete (165115), In Progress (100010), In Design (156603), Design Complete (307012), In Development (142838), Development Complete (100011), In Testing (100012) | |
| creator | No | Creator user ID, multiple values separated by commas. Special value 'self' can be used to represent the current user | |
| orderBy | No | Sort field, default is gmtCreate. Possible values: gmtCreate, subject, status, priority, assignedTo | gmtCreate |
| perPage | No | Number of items per page, range 0-200. Default is 20. page * perPage must not exceed 10000; use 200 to reduce the number of pages when iterating large result sets | |
| spaceId | Yes | Project ID or Program ID. Use with spaceType to specify the space type | |
| subject | No | Text contained in the title | |
| category | Yes | Search for work item types, such as Req (requirement), Task (task), Bug (defect), etc., multiple values separated by commas | |
| priority | No | Priority ID, multiple values separated by commas | |
| spaceType | No | Space type: Project (project) or Program (project set). Default is Project. Use 'Program' when spaceId refers to a program (project set) ID | Project |
| assignedTo | No | Assignee user ID, multiple values separated by commas. Special value 'self' can be used to represent the current user | |
| statusStage | No | Status stage ID, multiple values separated by commas | |
| createdAfter | No | Created not earlier than, format: YYYY-MM-DD | |
| updatedAfter | No | Updated not earlier than, format: YYYY-MM-DD | |
| workitemType | No | Work item type ID, multiple values separated by commas | |
| createdBefore | No | Created not later than, format: YYYY-MM-DD | |
| updatedBefore | No | Updated not later than, format: YYYY-MM-DD | |
| includeDetails | No | Set to true when you need work item descriptions/detailed content. This automatically fetches missing descriptions instead of requiring separate get_work_item calls. RECOMMENDED: Use includeDetails=true when user asks for 'detailed content', 'descriptions', or 'full information' of work items. This is more efficient than calling get_work_item multiple times. Default is false | |
| organizationId | Yes | Organization ID | |
| finishTimeAfter | No | Finish time not earlier than, format: YYYY-MM-DD | |
| finishTimeBefore | No | Finish time not later than, format: YYYY-MM-DD | |
| advancedConditions | No | Advanced filter conditions, JSON format | |
| subjectDescription | No | Text contained in title or description | |
| updateStatusAtAfter | No | Status update time not earlier than, format: YYYY-MM-DD | |
| updateStatusAtBefore | No | Status update time not later than, format: YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses a non-obvious behavioral constraint: page*perPage must not exceed 10000 or the API returns 400, along with the mitigation to narrow filters. This goes beyond the schema by emphasizing the cross-parameter error behavior, even though read-only semantics are only implied by the word 'search'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences: the first states the tool's purpose, the second conveys the critical paging constraint and a corrective strategy. Every sentence earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 28 parameters and no output schema, the description is reasonably complete because it highlights the most important operational caveat (deep-paging limit) and the fully documented schema fills in the parameter details. It could mention the response shape or explicitly contrast with get_work_item, but those are secondary given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no per-parameter meaning beyond the schema; its mention of 'various filter conditions' and the paging cap simply restate information already present in the page and perPage descriptions. It does not enrich parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search work items with various filter conditions' — a specific verb (search) and resource (work items), clearly distinguishing it from siblings like get_work_item, get_work_item_types, and create_work_item. The purpose is immediately understandable and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context that this is the tool for searching/filtering work items, and offers a practical hint to narrow filters when hitting the paging limit. It doesn't explicitly name alternatives like get_work_item or state when not to use this tool, but the use case is well defined and no misleading guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_change_request_commentA
[Code Management] Update a comment on a change request. Can update the comment content and/or resolved status.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | 评论内容,更新后的评论内容(可选)。如果提供,将更新评论的文本内容。示例:'your new comment' 或 '更新后的评论内容:这里需要优化性能,建议使用缓存机制' | |
| localId | Yes | 合并请求局部ID,表示代码库中第几个合并请求。示例:'1' 或 '42' | |
| resolved | No | 是否已解决(可选)。true - 标记为已解决;false - 标记为未解决。示例:false。如果不提供此参数,将保持原有的解决状态不变 | |
| commentBizId | Yes | 评论 bizId,具有唯一性,用于标识要更新的评论。示例:'bf117304dfe44d5d9b1132f348edf92e' | |
| repositoryId | Yes | 代码库ID或全路径(斜杠须编码为%2F),如 2835387 或 myorg%2FmyRepo | |
| organizationId | Yes | 组织ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It states which fields can be updated but does not disclose behavior when neither optional field is supplied, permission requirements, side effects, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the core operation and the updateable aspects with no filler, redundancy, or unnecessary context. The description is efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter mutation tool with no annotations or output schema, the description is minimally viable: required identifiers are clear and parameters are fully schema-documented. However, it lacks explicit usage guidance and edge-case behavior, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented. The description's mention of content and resolved status mirrors the schema without adding deeper semantics like default behavior, validation rules, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'update' with the resource 'comment on a change request' and explicitly scopes the operation to comment content and/or resolved status. This clearly distinguishes it from sibling tools like create_change_request_comment and list_change_request_comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the verb 'update'—this tool modifies an existing comment rather than creating or listing one—but there is no explicit when-to-use, when-not-to-use, or named alternative. The guidance is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_effort_recordA
[Project Management] 更新已登记的实际工时(云效实际工时受控字段,不能走 update_work_item.customFieldValues)。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 工时记录唯一标识 | |
| gmtEnd | Yes | 工作开始结束日期 | |
| gmtStart | Yes | 工作开始日期 | |
| workType | No | 工作类型 | |
| actualTime | Yes | 实际工时 | |
| operatorId | No | 操作者的useId,个人token时该参数无效 | |
| workitemId | Yes | 工作项唯一标识 | |
| description | No | 工作描述 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the field is controlled and cannot be updated via another path, which is valuable. However, it does not mention any side effects, authorization needs, or response behavior. Since no annotations exist, this is a moderate disclosure but not comprehensive for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that includes the purpose and a key constraint (the field is controlled). It is direct and front-loaded with the core action. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the essential purpose and a specific constraint (cannot use update_work_item.customFieldValues). For a tool with 9 parameters, all covered by schema, and no output schema, the description provides adequate context but lacks guidance on typical usage scenarios (e.g., when to update vs. create) and any behavioral expectations (e.g., idempotency, permissions). It's minimal but not incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description doesn't add parameter-level semantics beyond what's in the schema, which is expected. It does implicitly highlight the 'actualTime' field as the core subject, but still, the description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Update actual work hours' with a specific verb (update/更新) and resource (已登记的实际工时/registered actual work hours). It also explicitly distinguishes itself from update_work_item.customFieldValues, noting that the actual hours field is governed and cannot be updated via that alternative, effectively differentiating from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context in the [Project Management] prefix and explains when NOT to use another tool (update_work_item.customFieldValues), giving an implicit alternative. However, it lacks explicit when-to-use triggers or exclusions beyond the single note about the field constraint, so it's slightly above average but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_estimated_effortB
[Project Management] 更新已登记的预计工时(云效预计工时受控字段,不能走 update_work_item.customFieldValues)。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 预计工时记录唯一标识 | |
| owner | Yes | 负责人,填userId | |
| workType | No | 工作类别 | |
| spentTime | Yes | 预计工时 | |
| operatorId | No | 操作者的useId,个人token时该参数无效 | |
| workitemId | Yes | 工作项唯一标识 | |
| description | No | 工作描述 | |
| organizationId | Yes | organizationId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions only that it updates estimated hours, with no information on side effects, permissions, idempotency, or error behavior. Since annotations are absent, the description alone does not disclose any behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the purpose and the key constraint. It is appropriately sized, front-loaded with the [Project Management] tag, and contains no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description provides minimal context. It does not explain the overall workflow, expected outcomes, or any relation to other tools. The guidance is too sparse to fully understand when and how to use it in a broader context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters have descriptions in the schema, covering their meanings (e.g., owner, spentTime, organizationId). The tool description adds no extra semantic detail beyond what the schema already provides, so the parameter semantics are adequately covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates registered estimated hours and explicitly distinguishes it from update_work_item by noting the controlled-field constraint. The verb 'update' and resource 'estimated hours' are specific, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a specific usage hint by warning against using update_work_item.customFieldValues, which guides when to use this tool. However, it lacks comprehensive guidance on alternatives, preconditions, or typical scenarios, so it only partially addresses usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_fileB
[Code Management] Update an existing file in a Codeup repository
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | Branch name | |
| content | Yes | File content | |
| encoding | No | Encoding rule, options {text, base64}, default is text | text |
| filePath | Yes | File path, needs to be URL encoded, for example: /src/main/java/com/aliyun/test.java | |
| repositoryId | Yes | Repository ID, or org/repo path with slashes URL-encoded as %2F. e.g. 2835387 or myorg%2Fmyrepo | |
| commitMessage | Yes | Commit message, not empty, no more than 102400 characters | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Update an existing file' without revealing any behavioral traits: no mention of commit behavior, branch requirements, error handling for non-existent files, permissions, or side effects. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it adds minimal value over the tool name. It includes 'in a Codeup repository' which provides slight context, but it is essentially a restatement of the function name. This reduces its effectiveness; it is not overly verbose but fails to justify its brevity by omitting any additional guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has 7 parameters (6 required), no annotations, and no output schema, making it moderately complex. The description only covers the basic action and does not address commit behavior, branch handling, encoding, or any operational constraints (e.g., file existence). The schema covers parameter definitions but not the tool's overall semantics, leaving the description inadequate for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema descriptions cover 100% of the parameters, so the baseline is 3. The tool description itself adds no extra parameter meaning beyond what the schema already provides. It does not clarify encoding usage, URL encoding for filePath, or the relationship between organizationId and repositoryId, leaving the schema to do all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing file in a Codeup repository' clearly specifies the verb (update), the resource (existing file), and the context (Codeup repository). It distinguishes from sibling tools like create_file and delete_file by implying mutation of an existing entity rather than creation or deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear purpose but does not explicitly mention when to use it over alternatives. It implies that it should be used for modifying existing files, but it does not state exclusions (e.g., 'use create_file for new files') or mention alternative tools. This leaves the agent to infer usage context from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sprintC
[Project Management] Update an existing sprint
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sprint unique identifier | |
| name | Yes | Sprint name | |
| owners | No | Sprint owner user IDs | |
| endDate | No | Date string in YYYY-MM-DD format | |
| projectId | Yes | Project unique identifier | |
| startDate | No | Date string in YYYY-MM-DD format | |
| description | No | Sprint description | |
| capacityHours | No | Sprint capacity hours | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It fails to disclose whether the update is partial or full, what fields are required/optional in practice, whether it validates existing sprint state, or what the return value is. 'Update an existing sprint' merely restates the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundant phrasing. It front-loads the essential purpose immediately and earns its place, though the brevity limits overall usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-field mutation tool with no output schema and no annotations, this description is under-specified. The schema documents parameter names and types, but the description does not cover request semantics, success/error responses, required permissions, or whether fields are overwritten or merged with existing values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter already has a clear description, so the baseline of 3 applies. The tool description adds no additional parameter context or usage constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing sprint' clearly states the action and target resource, and the word 'existing' helps distinguish it from create/get operations. However, it does not explicitly differentiate from sibling sprint tools beyond that, so it falls just short of a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided beyond repeating the tool's primary action. There is no mention of when to use this tool versus create_sprint, delete_sprint, or list_sprints, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_versionB
[Project Management] Update an existing version in a Yunxiao Project. Can update version name, owners, start date, and publish date.
Use Cases:
Update version name Change version owners Modify version dates
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Version unique identifier | |
| name | Yes | Version name, max length 50 characters | |
| owners | No | Owner user IDs | |
| projectId | Yes | Project unique identifier | |
| startDate | No | Start date, format: YYYY-MM-DD | |
| publishDate | No | Publish date, format: YYYY-MM-DD | |
| organizationId | Yes | Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states it can modify fields but does not mention whether unspecified fields are preserved or reset, any required permissions, destructive outcomes, or the response format. For a mutation operation, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first sentence. The 'Capabilities' list is somewhat redundant with the initial sentence, but it is short and does not introduce unnecessary detail. It could be trimmed slightly, but overall it remains focused and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update operation, the description adequately lists the updatable fields and the context (Yunxiao Project). However, it lacks detail on required fields (e.g., 'name' is required per schema) and does not specify behavior for omitted fields or error conditions. Without annotations or an output schema, it falls short on fully preparing the agent for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds marginal value by listing exactly which fields are updatable (name, owners, start date, publish date), which aligns with the schema's properties. However, it does not add extra meaning beyond the schema, such as data types or constraints, but the coverage already ensures clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Update an existing version in a Yunxiao Project.' It enumerates the specific attributes that can be updated (name, owners, start/publish dates), which distinguishes it from sibling tools like create_version or delete_version. It is not a tautology and uses a specific verb-resource pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the word 'update' and the listed use cases, but it does not explicitly state when to choose this tool over alternatives (e.g., create_version, delete_version). No exclusionary guidance exists, so agents might not know when not to use it, but the context is clear enough for a basic update scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_work_itemA
[Project Management] Update a work item.
调用参数结构:除 organizationId / workItemId 外,所有要更新的字段必须放在 updateWorkItemFields 对象中(包括 subject / description / formatType / status / assignedTo / priority / labels / sprint / trackers / verifier / participants / versions / customFieldValues)。
描述中插入图片:先调 create_workitem_attachment 拿到返回值的 embedMarkdown(formatType="MARKDOWN")或 embedHtml(formatType="RICHTEXT"),拼进 updateWorkItemFields.description,同时 updateWorkItemFields.formatType 设为对应值。⚠️ 不要把 create_workitem_attachment 返回的 url 嵌入 description,那是 30 秒过期的 OSS 临时签名。
受控字段提醒:实际工时(fieldId 101587)与预计工时(fieldId 101586)为云效受控系统字段,不能通过 updateWorkItemFields.customFieldValues 修改;请改用 create_effort_record/update_effort_record 与 create_estimated_effort/update_estimated_effort。
| Name | Required | Description | Default |
|---|---|---|---|
| workItemId | Yes | Work item ID | |
| organizationId | Yes | Organization ID | |
| updateWorkItemFields | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility. It discloses critical behavioral details: the requirement to nest all updatable fields in updateWorkItemFields, the 30-second expiry of OSS temporary signed URLs when embedding images, and the restriction on modifying controlled system fields (fieldId 101587/101586). These go beyond standard expectations and are clearly communicated with a warning symbol.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear paragraphs and bullet-like points. Every sentence serves a purpose: the main action, parameter nesting rule, image insertion workflow, and controlled field warning. It avoids redundant phrasing and is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex nested object and many fields, the description is thoroughly complete. It covers all relevant scenarios: standard updates, special image handling, and prohibited field modifications with alternative tool references. No output schema exists, but the description does not need to explain return values; it addresses all potential user questions and pitfalls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for all parameters, but the description adds significant meaning: it explains the mandatory grouping of update fields, the formatType implications for description formatting, and the exact field IDs that cannot be updated via customFieldValues. This enriches the schema information and helps avoid common mistakes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update a work item' with the category [Project Management], listing the specific fields that can be updated (subject, description, formatType, status, etc.). It distinguishes itself from sibling tools like create_work_item and update_effort_record by specifying its scope and explicitly pointing to alternative tools for controlled fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: it is for updating work items, and it explicitly says NOT to use it for controlled fields (actual/estimated effort) and directs to create_effort_record/update_effort_record and create_estimated_effort/update_estimated_effort instead. It also includes a detailed workflow for inserting images via create_workitem_attachment, making usage conditions very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct resources, but several overlapping pairs create confusion: list_versions vs list_program_versions (the former claims to cover programs too), list_work_item_types vs list_all_work_item_types vs get_work_item_types, and get_organization_member_info vs get_organization_member_info_by_user_id. These boundaries are not crisply defined in the descriptions.
The vast majority follow a consistent verb_noun snake_case pattern (list_, get_, create_, update_, delete_, search_). Minor deviations exist such as 'compare' (verb only) and 'get_file_blobs' (plural noun), but these are isolated and do not undermine the overall predictability.
77 tools is a very large surface for a single MCP server. While the server covers multiple domains (code, project management, organization, efforts), the count is heavy and will burden agent context and tool selection. Many tools could be consolidated or split into separate servers.
The server provides broad lifecycle coverage across repositories, branches, files, change requests, work items, sprints, versions, efforts, and organization management. Notable gaps include no update/delete for change requests, no delete_sprint, and no update/delete for work item comments, but these are workarounds rather than fatal dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Plan Salesforce deploys, open pull requests and trigger pipelines from your AI client.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Connect AI agents to CloudBees Unify: feature flags, CI/CD, release orchestration, and security
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseCqualityNot gradedmaintenanceEnables AI assistants to interact with Alibaba Cloud Yunxiao platform for managing code repositories, work items, pipelines, packages, and application delivery. Supports project collaboration, code reviews, and automated deployment workflows.1003,216
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Azure DevOps to manage work items, Git repositories, branches, commits, and projects through natural language commands.1,0285MIT
- FlicenseCqualityDmaintenanceEnables AI assistants to manage Alibaba Cloud resources via natural language, with explicit tools for common services and a universal API invoker for full cloud coverage.92
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with Azure DevOps APIs for managing projects, work items, repositories, pull requests, and pipelines through natural language.19MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aliyun/alibabacloud-devops-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server