Skip to main content
Glama

PingCode MCP Server

npm version License: MIT

PingCode MCP (Model Context Protocol) 服务器,让 AI 助手能够与 PingCode 项目管理系统交互,支持查询工作项、发布版本管理、更新状态和缺陷字段等操作。

✨ 功能特性

  • 🔐 便捷登录 - 支持浏览器登录和飞书等第三方登录

  • 🔍 工作项查询 - 通过编号快速查看工作项详情

  • 📋 发布管理 - 查询发布版本关联的缺陷和需求

  • 🔎 全文搜索 - 搜索项目中的工作项

  • 📊 版本列表 - 列出项目的所有发布版本

  • ✏️ 状态更新 - 更新工作项的状态

  • 🐛 缺陷管理 - 更新缺陷的原因分析、解决方案和解决方法

Related MCP server: Zentao MCP Server

📦 安装

方式一:全局安装(推荐)

npm install -g pingcode-mcp

安装后需要安装 Chromium 浏览器(用于登录):

npx playwright install chromium

方式二:使用 npx(无需安装)

npx pingcode-mcp

首次使用会自动下载依赖。

🚀 快速开始

1. 配置 MCP 客户端

在你的 MCP 客户端(如 Windsurf、Cursor、Claude Desktop)配置文件中添加:

全局安装后的配置

编辑 ~/.cursor/mcp.json~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pingcode-mcp": {
      "command": "pingcode-mcp",
      "env": {
        "PINGCODE_DOMAIN": "your-company.pingcode.com"
      }
    }
  }
}

使用 npx 的配置

{
  "mcpServers": {
    "pingcode-mcp": {
      "command": "npx",
      "args": ["-y", "pingcode-mcp"],
      "env": {
        "PINGCODE_DOMAIN": "your-company.pingcode.com"
      }
    }
  }
}

注意: 如果不配置 PINGCODE_DOMAIN,默认使用 neuralgalaxy.pingcode.com

2. 首次登录

重启 MCP 客户端后,让 AI 助手调用 login 工具:

请帮我登录 PingCode

会自动打开浏览器,完成授权后凭证会保存在 ~/.pingcode-mcp/credentials.json

3. 开始使用

查看工作项 LFY-2527 的详情
列出优点云项目的所有发布版本
查询发布版本 QxednuAG 的所有缺陷

🛠️ 可用工具

工具名称

说明

参数

login

打开浏览器进行登录

logout

退出登录,清除凭证

check_auth

检查登录状态

get_work_item

获取工作项详情

identifier: 工作项编号(如 LFY-123)

list_projects

列出所有可访问项目

list_releases

列出项目的发布版本

project_id: 项目标识(如 LFY)

get_release_items

获取版本关联的工作项

release_id: 版本IDproject_id: 项目标识item_type: bug/story/all

search_work_items

搜索工作项

query: 搜索关键词project_id: 项目标识(可选)

update_work_item_state

更新工作项状态

work_item_id: 工作项编号state_name: 目标状态

get_bug_field_options

获取缺陷字段可选值

work_item_id: 缺陷工作项编号

update_bug_fields

更新缺陷的分析和解决方案

work_item_id: 工作项编号reason: 原因分析(可选)solution: 解决方案(可选)jiejuefangfa: 解决方法(可选)

💡 使用示例

查看工作项详情

查看 LFY-2527 的详情

查询发布版本的缺陷

从发布页面 URL 获取参数:

https://yourcompany.pingcode.com/pjm/projects/LFY/releases/QxednuAG/workitems
                                                    ↑              ↑
                                              project_id      release_id

然后询问 AI:

查询项目 LFY 的发布版本 QxednuAG 中的所有缺陷

搜索工作项

在优点云项目中搜索包含"登录"的工作项

更新工作项状态

把 LFY-2527 的状态改为已完成

更新缺陷分析字段

帮我更新 LFY-2527 的原因分析和解决方案

🔧 环境变量

变量名

说明

默认值

PINGCODE_DOMAIN

PingCode 域名

neuralgalaxy.pingcode.com

🔨 本地开发

如果你想修改源码或为项目贡献代码:

# 克隆仓库
git clone https://github.com/ratatatat1/pingcode-mcp.git
cd pingcode-mcp

# 安装依赖
npm install

# 安装浏览器
npx playwright install chromium

# 开发模式(实时编译)
npm run dev

# 构建
npm run build

# 测试构建产物
npm start

在 MCP 客户端中使用本地开发版本

{
  "mcpServers": {
    "pingcode-mcp": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/pingcode-mcp/src/index.ts"]
    }
  }
}

📂 项目结构

pingcode-mcp/
├── src/
│   ├── index.ts              # MCP 服务器入口
│   ├── api/
│   │   └── pingcode-client.ts # PingCode API 客户端
│   ├── tools/
│   │   ├── login.ts          # 登录相关工具
│   │   └── work-items.ts     # 工作项相关工具
│   ├── types/
│   │   └── pingcode.ts       # TypeScript 类型定义
│   └── utils/
│       └── credentials.ts    # 凭证管理工具
├── dist/                     # 编译输出目录
├── package.json
├── tsconfig.json
└── README.md

🔒 隐私与安全

  • 登录凭证仅保存在本地 ~/.pingcode-mcp/credentials.json

  • 不会上传任何数据到第三方服务器

  • 所有 API 请求直接发送到你的 PingCode 实例

❓ 常见问题

Q: 凭证过期了怎么办? A: 重新调用 login 工具即可。

Q: 支持哪些 MCP 客户端? A: 支持所有实现了 MCP 协议的客户端,包括 Windsurf、Cursor、Claude Desktop 等。

Q: 可以在 CI/CD 中使用吗? A: 登录需要浏览器交互,不适合 CI/CD 环境。如需自动化,建议使用 PingCode API。

📄 许可证

MIT License - 详见 LICENSE 文件

🤝 贡献

欢迎提交 Issue 和 Pull Request!


作者: ratat 关键词: mcp, pingcode, model-context-protocol, ai, release, bug-tracking, project-management

Available Tools

9 tools
check_authB

检查当前 PingCode 登录状态。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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 states the tool checks login status but doesn't describe what the check entails (e.g., validates session, returns user info), potential outcomes (e.g., authenticated vs. not), or any side effects (e.g., rate limits, network calls). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence in Chinese: '检查当前 PingCode 登录状态.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool. Every part of the sentence earns its place by directly conveying the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks details on behavior, output format, or usage context. Without an output schema, the description should ideally hint at what is returned (e.g., status boolean or user details), but it doesn't, leaving the agent to guess. This is adequate for a basic tool but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's appropriate here. A baseline of 4 is given as the description doesn't need to compensate for any parameter gaps, though it doesn't explicitly state 'no parameters required,' which could slightly improve clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '检查当前 PingCode 登录状态' (Check current PingCode login status), which is a specific verb ('检查' - check) and resource ('登录状态' - login status). It distinguishes from siblings like 'login' (authentication) and 'logout' (deauthentication) by focusing on status verification rather than authentication actions. However, it doesn't explicitly differentiate from all siblings, keeping it at 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.

Usage Guidelines2/5

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 doesn't mention prerequisites (e.g., whether authentication is required first), when it's appropriate (e.g., before performing operations that require login), or alternatives (e.g., using 'login' if not authenticated). The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_release_itemsC

获取某个发布版本关联的缺陷和需求列表。

ParametersJSON Schema
NameRequiredDescriptionDefault
release_idYes发布版本 ID(可从发布页面 URL 获取)
project_idYes项目标识,如 LFY
item_typeNo筛选工作项类型:bug=缺陷,story=需求,all=全部(默认)

TDQS

C2.9/5.0
Behavior2/5

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 what the tool does ('获取...列表' - get list), implying a read-only operation, but lacks details on permissions, rate limits, pagination, or response format. For a tool with 3 parameters and no output schema, this is insufficient to inform the agent about expected behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose, making it easy to parse. Every part of the sentence contributes to understanding the tool's role.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema, and no annotations), the description is incomplete. It doesn't explain what the returned list contains (e.g., item IDs, summaries), how results are structured, or any behavioral traits like error handling. This leaves significant gaps for the agent to operate effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents all parameters (release_id, project_id, item_type). The description adds no additional semantic context beyond what's in the schema, such as examples or edge cases. This meets the baseline for high schema coverage but doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '获取某个发布版本关联的缺陷和需求列表' (Get the list of defects and requirements associated with a release version). It specifies the verb ('获取' - get) and resource ('缺陷和需求列表' - defect and requirement list), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_work_items' or 'get_work_item', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention sibling tools like 'search_work_items' (which might search across releases) or 'get_work_item' (which gets a single item), nor does it specify prerequisites such as authentication. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_work_itemB

通过 PingCode 工作项编号获取详情。支持格式:#12345、12345、LFY-123 等。

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes工作项编号,如 #12345、12345 或 LFY-123

TDQS

B3.3/5.0
Behavior2/5

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 mentions the tool '获取详情' (gets details), which implies a read-only operation, but doesn't clarify aspects like authentication needs (e.g., whether it requires login), rate limits, error handling, or what '详情' (details) includes in the response. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, consisting of two sentences that directly state the purpose and supported formats. Every sentence earns its place by providing essential information without redundancy or fluff, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no nested objects) and high schema coverage, the description is somewhat complete for basic usage. However, with no annotations and no output schema, it fails to address key aspects like authentication requirements, response format, or error conditions. This makes it adequate but with clear gaps, especially for a tool that might involve external API calls or data retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'identifier' fully documented in the schema. The description adds minimal value by listing example formats (#12345, 12345, LFY-123), but this doesn't significantly enhance the semantics beyond what the schema already provides. With high schema coverage, the baseline score is 3, as the description doesn't compensate with additional insights like validation rules or format nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '通过 PingCode 工作项编号获取详情' (get details via PingCode work item identifier). It specifies the verb '获取详情' (get details) and resource '工作项' (work item), making the function unambiguous. However, it doesn't explicitly distinguish from sibling tools like 'search_work_items' or 'get_release_items', which is why it doesn't reach a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it supports various identifier formats (e.g., #12345, 12345, LFY-123), suggesting this tool is for retrieving specific items by ID. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'search_work_items' (which might handle broader queries) or 'list_projects' (for listing rather than fetching details). No exclusions or prerequisites are mentioned, leaving usage context somewhat implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsB

列出用户可访问的所有项目。返回项目标识和名称列表。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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 states the tool lists accessible projects and returns identifiers and names, but does not disclose critical behavioral traits such as whether it requires authentication (implied by '用户可访问' - user accessible), pagination behavior, rate limits, error conditions, or if it's read-only. For a tool with zero annotation coverage, this 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, consisting of two clear sentences in Chinese. The first sentence states the action and scope, and the second specifies the return format. There is zero wasted text, and every sentence earns its place by providing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and return format, but lacks details on authentication requirements, error handling, or behavioral traits. Without annotations or output schema, the description should do more to compensate, but it meets the minimum viable threshold for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not mention any parameters, which is appropriate. Baseline is 4 for 0 parameters, as the description does not need to compensate for missing schema information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '列出用户可访问的所有项目' (list all projects accessible to the user) and specifies the return format: '返回项目标识和名称列表' (returns a list of project identifiers and names). It uses a specific verb ('列出' - list) and resource ('项目' - projects), but does not explicitly differentiate from sibling tools like 'list_releases' or 'search_work_items'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does not mention prerequisites (e.g., authentication status), exclusions, or comparisons to sibling tools like 'list_releases' or 'search_work_items' for project-related queries. The agent must infer usage from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_releasesC

列出项目的所有发布版本。用户可以通过此工具查看版本名称和对应的 ID。

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes项目标识,如 LFY(优点云)

TDQS

C2.9/5.0
Behavior2/5

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 states the tool lists releases and allows viewing names and IDs, but lacks details on permissions required, pagination, rate limits, error handling, or response format. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two sentences that directly state the purpose and functionality. There's no unnecessary information or repetition. However, it could be slightly more structured by explicitly separating purpose from usage notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output format. Without annotations or output schema, the description should do more to compensate, but it only meets the minimum viable threshold.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with one parameter (project_id) clearly documented in the schema. The description doesn't add any parameter-specific information beyond what the schema provides, such as example values or constraints. Baseline 3 is appropriate since the schema does the heavy lifting, but no extra value is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '列出项目的所有发布版本' (list all release versions of a project). It specifies the verb (list) and resource (release versions), and distinguishes it from siblings like get_release_items (which likely fetches items within a release) or list_projects (which lists projects). However, it doesn't explicitly differentiate from all siblings, such as search_work_items, which might overlap in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 mentions viewing version names and IDs, but doesn't clarify if this is for browsing, filtering, or comparing with tools like get_release_items or search_work_items. No prerequisites, exclusions, or context for usage are specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loginA

打开浏览器进行 PingCode 登录(支持飞书等第三方登录)。登录成功后凭证会自动保存。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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 key behavioral traits: it opens a browser (implying user interaction), supports third-party logins, and automatically saves credentials upon success. However, it doesn't mention potential side effects (e.g., browser pop-ups, session creation), error handling, or prerequisites. For a login tool with zero annotation coverage, this provides basic context but lacks depth on behavioral aspects like security or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: two concise sentences that directly state the action and outcome. The first sentence explains the core functionality, and the second adds critical behavioral context (credential saving). Every sentence earns its place with no wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (authentication with browser interaction), no annotations, no output schema, and 0 parameters, the description is moderately complete. It covers the main action and credential persistence, but lacks details on return values, error cases, or integration with sibling tools. For a login tool, more context on session management or failure handling would improve completeness, but it meets minimum viability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. Baseline for 0 parameters is 4, as there's no schema burden to compensate for, and the description doesn't introduce unnecessary complexity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '打开浏览器进行 PingCode 登录(支持飞书等第三方登录)' (Open browser for PingCode login, supports third-party logins like Feishu). It specifies the verb ('打开浏览器进行登录' - open browser for login) and resource (PingCode), distinguishing it from sibling tools like 'check_auth' or 'logout'. However, it doesn't explicitly differentiate from all siblings (e.g., 'logout' is clearly opposite, but 'check_auth' might overlap in authentication context).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: '登录成功后凭证会自动保存' (Credentials are automatically saved after successful login), suggesting this tool should be used for initial authentication setup. However, it doesn't explicitly state when to use this vs. alternatives like 'check_auth' (which might verify existing credentials) or 'logout' (which ends sessions). The guidance is implied rather than explicit, lacking clear when/when-not instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

logoutA

退出 PingCode 登录,清除本地保存的凭证。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the key behavioral trait ('清除本地保存的凭证' - clears locally saved credentials), which is crucial for understanding this destructive operation. However, it doesn't mention authentication requirements, error conditions, or what happens to subsequent API calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the complete purpose and key behavioral detail with zero wasted words. It's perfectly front-loaded and appropriately sized for this simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive authentication tool with no annotations and no output schema, the description covers the basic operation but lacks important context about authentication state changes, error handling, and what the tool returns (if anything). It's minimally adequate but has clear gaps for a security-sensitive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on the tool's behavioral effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('退出' meaning 'logout') and resource ('PingCode'), distinguishing it from sibling tools like 'login' and 'check_auth'. It provides a complete verb+resource+outcome statement: logout from PingCode and clear local credentials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (when you need to end a PingCode session and remove stored credentials), but doesn't explicitly state when to use this vs. alternatives like 'login' or 'check_auth'. It provides clear functional context but lacks explicit comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_work_itemsC

搜索 PingCode 工作项。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes搜索关键词
project_idNo限定在某个项目中搜索(可选)

TDQS

C2.7/5.0
Behavior2/5

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 states the tool searches work items but doesn't describe behavioral traits such as whether it's read-only, how results are returned (e.g., pagination, sorting), error handling, or performance considerations like rate limits. The description is minimal and fails to compensate for the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, '搜索 PingCode 工作项', which is front-loaded and wastes no words. It efficiently states the core purpose without unnecessary elaboration, making it easy to parse quickly. However, this conciseness comes at the cost of completeness, as noted in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what a 'work item' entails, how search results are structured, or any limitations (e.g., search scope, result formats). The description fails to provide sufficient context for an agent to use the tool effectively beyond basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for 'query' (search keyword) and 'project_id' (optional project limitation). The description adds no additional meaning beyond what the schema provides, such as examples of query syntax or how project_id affects results. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '搜索 PingCode 工作项' (Search PingCode work items) states the basic action and resource but is vague about scope and functionality. It doesn't differentiate from sibling tools like 'get_work_item' (which retrieves a specific item) or 'list_projects' (which lists projects rather than searching work items). The description lacks specificity about what constitutes a 'work item' or how the search operates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention when to prefer 'search_work_items' over 'get_work_item' (for specific items) or 'list_projects' (for project-level information), nor does it specify prerequisites like authentication or context for search operations. Usage is implied only by the tool name, with no explicit instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_work_item_stateC

更新工作项(缺陷/需求/任务)的状态。通过状态名称指定目标状态。

ParametersJSON Schema
NameRequiredDescriptionDefault
work_item_idYes工作项编号,如 LFY-2527
state_nameYes目标状态名称,如 "已完成"、"进行中"、"待处理"

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a mutation ('更新'), but doesn't disclose behavioral traits like required permissions, whether changes are reversible, error handling (e.g., invalid state names), or side effects. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary details but could be slightly more structured (e.g., separating usage notes). No wasted words, though it's brief given the lack of behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and incomplete behavioral disclosure, the description is insufficient. It doesn't cover key aspects like authentication needs (implied by 'login' sibling), error responses, or state transition rules, leaving gaps for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters ('work_item_id' and 'state_name') with examples. The description adds minimal value by mentioning '通过状态名称指定目标状态' (specify target state via state name), which is redundant with the schema. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('更新' meaning 'update') and the resource ('工作项状态' meaning 'work item state'), specifying it applies to defects/requirements/tasks. It distinguishes from siblings like 'get_work_item' (read) and 'search_work_items' (search), but doesn't explicitly differentiate from other potential state-related tools (none exist in siblings).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention prerequisites (e.g., authentication via 'login'), constraints (e.g., valid state transitions), or compare to siblings like 'get_work_item' for checking current state. The description only states what it does, not when or why to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedcheck_auth
    • First observedget_release_items
    • First observedget_work_item
    • First observedlist_projects
    • First observedlist_releases
    • First observedlogin
    • First observedlogout
    • First observedsearch_work_items
    • First observedupdate_work_item_state

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, such as authentication (check_auth, login, logout), project/release management (list_projects, list_releases), and work item operations (get_work_item, search_work_items, update_work_item_state). However, get_release_items overlaps slightly with list_releases in dealing with releases, but its focus on associated items provides enough differentiation to avoid major confusion.

Naming Consistency4/5

The tools follow a consistent verb_noun pattern throughout, such as check_auth, get_work_item, and list_projects, which enhances readability. There are minor deviations like update_work_item_state using 'state' instead of a more specific noun, but overall the naming is predictable and well-structured.

Tool Count5/5

With 9 tools, the server is well-scoped for managing PingCode projects, releases, and work items. Each tool serves a clear purpose, such as authentication, listing, searching, and updating, without redundancy, making the count appropriate for the domain's core workflows.

Completeness4/5

The tool set covers key operations like authentication, project/release listing, and work item retrieval/search/updates, providing a solid foundation. A minor gap exists in the lack of tools for creating or deleting work items or releases, which agents might need to work around, but core lifecycle management is largely supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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/ratatatat1/pingcode-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server