zhenyun-pangun-mcp
This server is a read-oriented MCP gateway for the Zhenyun Pangu platform, providing real-time operational facts (logs, data, collaboration, code) plus a maintainable knowledge/template/table catalog.
Logs: Query Loki logs for AWS/cn non-prod (
obs_log_query) and Aliyun SLS for cn prod (obs_sls_query), list datasources, trace requests.Data: Run read-only SQL via Archery (
archery_query), describe tables, list columns/databases/instances, and query tenant info.Business system (Choerodon): Query issues, search users/status/tasks, list/download attachments, list/add comments (the only confirmed write operation besides metadata maintenance).
Code: Search GitLab projects/code/files/trees/branches and search local repositories by content, filename, or module structure.
Knowledge/catalog: Search and retrieve knowledge, SQL templates, table catalogs and relations; unified search (
search_pangu) and combined diagnosis (diagnose_context).Maintenance (metadata only): Save/update/delete knowledge and templates, record usages, add table relations, upsert table knowledge — these do not modify business databases.
Provides read-only GitLab repository capabilities, including searching projects and code, retrieving file contents, and listing directory trees and branches.
Provides log querying through Grafana/Loki datasources, supporting LogQL queries, trace lookup, and datasource discovery for AWS and CN non-production environments.
Provides persistent knowledge base storage for business knowledge, SQL templates, table catalog metadata, and table relations, with search, create, update, and delete operations.
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., "@zhenyun-pangun-mcp查询盘古国内生产环境最近的错误日志"
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.
zhenyun-pangun-mcp
Zhenyun Pangu General Tools MCP, reusable by any MCP client (Claude Desktop / Cursor / various agents).
Fully self-contained: depends on no external project directories; simply configure real credentials in .env.
Capabilities Overview
Tools are grouped by prefix (17 total):
Prefix | Tools | Description |
|
| Log query: Loki dual platforms (AWS global all environments + CN domestic non-production) + Alibaba Cloud SLS (CN domestic Pangu prod only) |
|
| Database query (Archery dual sites cn/aws + Pangu dedicated tenant/database/instance capabilities) |
|
| Choerodon collaboration (built-in Python client, pure HTTP login) |
|
| Cross-local repository search (content / file name / module structure) |
Related MCP server: OpenObserve MCP Server
Log Platform Differentiation (Important)
Pangu logs are distributed across three different platforms. Confirm the target environment's platform before querying:
Capability | Environment | Platform | Data Source / project | Tag System |
| AWS Global (all environments) | Grafana/Loki |
|
|
| CN domestic non-production (dev/test) | Grafana/Loki |
|
|
| CN domestic Pangu prod only | Alibaba Cloud SLS |
|
|
CN domestic Pangu
prodlogs = Alibaba Cloud SLS (integration method replicated fromlog-ops-mcp), query withobs_sls_query.CN domestic Pangu
dev/testand other non-production useobs_log_query(region="cn"); logs in the Pangu non-production panel (namespace=saas-dev-new/saas-test-new) reside in theLoki (pangu-noneprod)data source.AWS Global (prod or non-production) all use
obs_log_query(region="aws").⚠️ Routing rule of thumb: Except for CN domestic Pangu prod which goes to SLS, all others (CN non-production + all AWS) go to Loki. Do not call
obs_sls_queryfor Pangu non-production.
Login credentials and data source names for the three platforms are configured independently in
.env; see.env.examplefor details.
Installation and Running
cd zhenyun-pangun-mcp
uv sync # 或 pip install -e .
cp .env.example .env # 填写真实凭据Run via stdio:
uv run zhenyun-pangun-mcp
# 或
python -m zhenyun_pangun_mcpMCP Client Configuration
{
"mcpServers": {
"zhenyun-pangun-mcp": {
"command": "uvx",
"args": ["--from", "/path/to/zhenyun-pangun-mcp", "zhenyun-pangun-mcp"],
"env": {
"MCP_ENV_DIR": "/path/to/zhenyun-pangun-mcp"
}
}
}
}Configuration (.env)
Group | Environment Variables | Description |
Archery |
| Database gateway cn/aws credentials |
| Instance alias → real instance name | |
Loki |
| Grafana login credentials |
| Environment → data source name mapping | |
Choerodon |
| Choerodon gateway and login credentials |
SLS |
| Pangu production Alibaba Cloud log credentials |
Other |
| Cross-repository search root directory (default: this repository root) |
Do not commit credentials to git;
.envis excluded by.gitignore. Only.env.example(with placeholder values) is committed.
Available Tools
17 toolsarchery_describe_tableC
获取表结构(SHOW CREATE TABLE)。
| Name | Required | Description | Default |
|---|---|---|---|
| db | No | ||
| site | No | cn | |
| table | Yes | ||
| instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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. The description states that the tool executes 'SHOW CREATE TABLE', implying it is a read operation, but it does not disclose whether it requires specific permissions, has rate limits, or what the output format is (though an output schema exists). As a database introspection tool, it could benefit from clarifying if it only reads metadata or might trigger side effects in some databases.
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 very short (one Chinese sentence) and front-loaded with the purpose. Every word adds value. However, it could be slightly improved by being more explicit about the parameters or usage, but for its brevity, it is 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?
Given the tool complexity (4 parameters, 0% schema coverage, no annotations, but with an output schema), the description is incomplete. The output schema exists and may fill some gaps, but the lack of parameter explanations and usage context makes it hard for an AI agent to use correctly. For example, the agent might not know whether 'db' or 'instance' is required or how they interact with 'site'.
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 0%, meaning the description must compensate. The description only mentions the 'table' parameter implicitly via the SQL command, but does not explain the other three parameters ('db', 'site', 'instance'). For example, 'db' and 'instance' are nullable with defaults, but the description does not clarify their role or whether 'site' affects which database environment is queried. This leaves the agent guessing about how to properly invoke the 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 uses a specific verb ('获取', meaning 'get') and resource ('表结构', meaning 'table structure') with an explicit SQL command ('SHOW CREATE TABLE'). This clearly states the tool retrieves the CREATE TABLE statement for a given table. However, it does not distinguish itself from the sibling tool 'archery_list_columns', which also deals with table structure, so it loses a point for lacking 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?
The description provides no guidance on when to use this tool versus alternatives. The sibling tools include 'archery_query' (a general query tool) and 'archery_list_columns' (lists columns), but the description does not explain when a user should choose 'archery_describe_table' over them. There is no mention of prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archery_list_columnsC
获取表的字段列表。
| Name | Required | Description | Default |
|---|---|---|---|
| db | No | ||
| site | No | cn | |
| table | Yes | ||
| instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states 'list columns' but omits details like return format, authentication needs, read-only nature, or scope of column info (types, constraints).
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 wasted words. It is front-loaded with the action ('获取') but lacks any structural elements like examples or notes.
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 4 parameters, no parameter descriptions, no annotations, and sibling tools, the description is too minimal. It does not clarify parameter roles, output behavior, or when to prefer this over similar tools like 'archery_describe_table'.
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 0% and the description adds no parameter-level meaning. Parameters like 'db', 'site', and 'instance' are not explained; the agent must infer their roles from the schema alone.
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 field list of table) clearly states the action (list columns) and the resource (table), which is specific and distinct from siblings like 'archery_query' or 'archery_describe_table'.
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 alternatives (e.g., 'archery_describe_table'), nor does it mention prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archery_list_databasesC
列出实例下的数据库列表(SHOW DATABASES)。
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | cn | |
| instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for behavioral disclosure. It only states that the tool lists databases (a read operation), but it does not explain what happens when 'instance' is null, what the 'site' parameter controls, or any side effects. The behavioral profile is severely under-documented.
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 lacks structure. Important information is missing, so the brevity sacrifices completeness. The sentence is clear and front-loaded with the purpose, but it does not earn its place by covering necessary 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?
With no parameter explanations, no usage guidance, and no behavioral details beyond the listing action, the description is incomplete for practical use. The presence of an output schema helps document return values, but the input side remains opaque. Given the tool's complexity (simple but with two unexplained parameters), more context 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?
Schema description coverage is 0%, meaning the schema itself provides no parameter explanations. The description also fails to explain the 'site' and 'instance' parameters, their allowed values, or how they affect the listing. With no parameter semantics anywhere, the agent cannot correctly invoke the tool without external knowledge.
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 databases under an instance and provides the SQL equivalent 'SHOW DATABASES'. This is a specific verb (list) and resource (databases), and it naturally distinguishes from siblings like archery_list_instances (list instances) and archery_list_columns (list columns).
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 guidelines are provided. The description does not indicate when to use this tool versus alternatives like archery_list_instances or archery_query, nor does it mention prerequisites (e.g., needing an instance identifier first) or typical workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archery_list_instancesA
列出 Archery 实例别名映射(短名 -> 真实实例名,按站点分组)。
返回结构明确标注每个别名归属的 site(cn/aws),调用方据此显式传 site, 避免「用 cn 站点查 aws 实例」导致的「未关联该实例」歧义错误。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无注释,描述承担全部透明度责任。它说明了操作是列出映射并按站点分组,返回结构包含site信息。但未明确声明该操作是否只读、是否需要权限、是否有数据一致性保证等。考虑到工具无参数且行为简单,基本行为已披露,但缺少一些常见透明声明(如只读提示)。
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?
描述仅两行,第一句点明功能,第二句解释输出用途和避免的错误。无冗余信息,完全前置负载,每个句子都有价值。
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?
工具无参数,有输出模式(但未提供)。描述已足够完整:说明做什么(列出映射),输出中包含什么(site分组),以及为什么重要(避免歧义)。对于这样一个简单工具,无需更多细节。
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?
工具无参数,根据规则基线为4。描述未涉及参数语义,因为不存在参数,且模式覆盖率为100%(空模式),无需额外解释。
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?
描述明确说明工具功能:列出Archery实例别名映射(短名->真实实例名,按站点分组)。动词"列出"与特定资源"实例别名映射"结合,且与兄弟工具(如archery_query、archery_describe_table)明显区分,后者操作数据或查询其他信息。
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?
描述指出调用方应根据返回的site显式传参以避免歧义错误,隐含了使用场景(在查询实例前先获取映射关系)。但没有明确说明何时不使用或替代品,不过上下文已足够清晰,偏差较小。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archery_queryA
执行 SQL 查询(只读)。
site=cn 国内 / aws 日本云。instance 可用别名:prod/prod-ro/dev/test。 db 默认 srm。仅允许 SELECT/SHOW/DESC/EXPLAIN/WITH 前缀。
| Name | Required | Description | Default |
|---|---|---|---|
| db | No | ||
| sql | Yes | ||
| site | No | cn | |
| limit | No | ||
| instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 read-only behavior and allowed SQL prefixes, and gives site/instance aliases. However, it does not mention behavior like result limits, error handling, or data size implications, which are important for a query 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 extremely concise (three lines), front-loaded with the core purpose, and every sentence adds value. No wasted 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?
Given the tool has 5 parameters, an output schema, and no annotations, the description covers the main aspects (purpose, allowed SQL, site/instance/db defaults) but omits the limit parameter and does not explain how to interpret the output or handle errors. This leaves some gaps in 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?
With 0% schema description coverage, the description compensates well by explaining the site parameter (cn vs aws), instance aliases (prod/prod-ro/dev/test), db default (srm), and the sql parameter (allowed prefixes). The limit parameter is not mentioned, but overall the description adds significant meaning beyond the bare 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 'Execute SQL query (read-only)' and specifies allowed SQL prefixes (SELECT/SHOW/DESC/EXPLAIN/WITH), making the purpose clear. However, it does not explicitly differentiate from sibling tools like archery_describe_table or archery_list_databases, though the context implies this is for arbitrary read-only queries.
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 usage context (site, instance aliases, default db, allowed SQL prefixes) but does not explicitly state when to use this tool versus alternatives. It implies it's for custom read-only queries, but lacks direct guidance on alternatives or 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.
archery_query_tenantA
查询租户信息(hpfm_tenant)。tenant 为空时列出前 100 个租户。
盘古专属能力:sql-ops-mcp 未覆盖的多租户查询。 site=cn 国内 / aws 日本云(JP-SaaS-1)。instance 可用别名: cn: prod/prod-ro/dev/test;aws: aws(=aws-prod, 正式环境 JP-SaaS-1-Prod-RW-8.0)。
| Name | Required | Description | Default |
|---|---|---|---|
| db | No | ||
| site | No | cn | |
| tenant | No | ||
| instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that when tenant is empty the tool returns the first 100 tenants, implying a limit. It also details site and instance configuration behavior. However, it does not state whether the operation is read-only, destructive, or requires special permissions, nor does it cover error behavior or rate limits. The provided behavioral insight is useful but incomplete.
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 the purpose and default behavior in the first sentence. Subsequent lines add environment details and a note on exclusivity. It is front-loaded and free of redundancy. Slightly more could be trimmed, but it efficiently conveys critical 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 4 optional parameters, an output schema, and multiple siblings, the description covers purpose, default behavior, and environment configuration for site/instance. It misses the db parameter's purpose and does not explain prerequisites or error cases. It is adequate for basic usage but leaves the db parameter ambiguous.
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 0%, so the description must compensate. It explains the tenant parameter's effect (default listing behavior), and provides detailed aliases and meanings for site and instance. The db parameter is not explained, leaving a gap. Overall, the description adds significant meaning beyond the schema for three of four 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 clearly states the tool queries tenant information from hpfm_tenant, with specific behavior when tenant is empty (lists top 100). It distinguishes itself from siblings like archery_query and general sql-ops-mcp by being a dedicated multi-tenant query tool, which is a specific resource and verb.
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 tenant queries and provides environment context (site and instance aliases). It mentions this is a Pangu exclusive capability not covered by sql-ops-mcp, which differentiates usage. However, it does not explicitly state when not to use it or list alternatives beyond the exclusivity note. The guidance is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_download_attachmentA
通过猪齿鱼 hfle 接口将附件 URL 解析为可下载的签名地址。
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the tool resolves to a signed download address, implying it is a read/transform operation. It does not mention authorization requirements, rate limits, or what happens if the URL is invalid. The description is adequate but lacks depth for a full behavioral picture.
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 fully conveys the tool's core action. Every word is meaningful, and it is front-loaded with the tool's purpose. No unnecessary information is present.
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 one parameter, no nested objects, and an output schema exists. The description is minimal but complete enough given this low complexity: it explains what the tool does with the single input. It does not detail the output, but the output schema can handle that. Remaining gaps (e.g., error cases) are minor.
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 0%, meaning the description must compensate. It succinctly explains the purpose of the file_url parameter: it is an attachment URL to be resolved. While no additional syntax or format details are given, for a single required parameter with a self-explanatory name, this provides sufficient 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 converts an attachment URL to a downloadable signed address via the hfle interface. However, it does not explicitly differentiate from siblings like choerodon_list_attachments, which lists attachments but does not download them.
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 when needing to download an attachment, but provides no guidance on when to avoid using it, no prerequisites, and no comparison to alternatives. Given the tool has only one required parameter, the context is clear but minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_get_status_mapB
获取猪齿鱼项目状态映射(状态名 -> 加密 id),供列表过滤用。
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It informs that the map is from 'status name -> encrypted id', which adds some value, but does not disclose whether the operation is read-only, requires authentication, or any side effects. The output schema exists but the description does not explain the return format beyond the mapping.
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 clearly states the tool's purpose and the mapping direction. It fronts the key information without extraneous details, earning its place efficiently.
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 one parameter with a default, an output schema, and no nested objects, complexity is low. The description adequately specifies the mapping direction and use case, but lacks details on authentication requirements, error cases, or how the output schema extends the description. It is minimally complete for the complexity level.
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 has only one parameter (project_id) with 0% description coverage but a default value. The description states it is 'for a specific project' but does not elaborate on the parameter's meaning, format, or how to obtain a valid project_id. Given the low parameter count and the marginal clarification, 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 tool retrieves a status map for a specific project, mapping status names to encrypted IDs. The purpose is specific and distinguishes it from siblings like 'choerodon_query_issue' which query issues, not status maps.
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 mentions the tool is 'for list filtering', which implies when to use it, but provides no guidance on when not to use it or alternatives. It does not explain prerequisites for the project_id parameter or when this tool is preferred over other sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_list_attachmentsB
查看猪齿鱼任务的附件列表(文件名 + URL)。
| Name | Required | Description | Default |
|---|---|---|---|
| issue_id | Yes | ||
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist to provide hints like read-only or destructive behavior. The description only states what the tool returns (filenames+URLs) but does not disclose authentication needs, rate limits, error scenarios, or whether the list is paginated or subject to permissions.
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 efficiently states the tool's purpose. No wasted words, front-loaded with the core action.
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 an output schema (not shown), the description is terse for a tool with 2 parameters and no annotation coverage. It does not mention pagination, sorting, error handling, or scope of attachments (e.g., all files or just those with URLs). Adequate for a simple list but lacking 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 0%, meaning the properties in the input schema have no descriptions. The tool description adds no explanation of parameters; it does not specify that issue_id is required, nor does it clarify the role of project_id (optional, default empty string). The agent must guess parameter meanings from names alone.
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 it lists attachments for a task, including filenames and URLs. It uses specific verb+resource and distinguishes from sibling tools like 'choerodon_download_attachment' (downloads a single attachment) and 'choerodon_list_issue' (lists issues).
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 (e.g., download vs list). No prerequisites or exclusions are mentioned. The description leaves the agent to infer usage from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_list_issueA
条件查询猪齿鱼任务列表。
keyword 为概要模糊搜索;assignee 为经办人姓名(自动解析成员); status 为状态名(自动解析状态 id)。返回任务摘要列表。
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| status | No | ||
| keyword | No | ||
| assignee | No | ||
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that keyword does fuzzy search on summary, and that assignee/status auto-resolve. However, it does not mention whether the operation is read-only, what happens with empty filters (returns all?), pagination behavior, or performance constraints. This is adequate but not comprehensive.
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 compact (two sentences) and front-loaded with purpose. Every sentence adds value. However, it could be slightly more structured (e.g., listing parameters clearly) and fully cover all 5 parameters.
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 an output schema (not shown in detail), so the description doesn't need to explain return values. The tool has 5 parameters with 0% schema coverage, so the description's partial coverage of 3/5 parameters leaves gaps (project_id and size unmentioned). For a list tool, pagination and scope are important – not explained. Adequate but not 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 0% (all parameters have no descriptions in JSON Schema), so the description must compensate. It explains keyword (fuzzy on summary), assignee (name auto-resolves to member), and status (name auto-resolves to id). size and project_id are not explained – they have default values but project_id is critical context. Still, the description adds significant meaning beyond skeleton 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 '条件查询猪齿鱼任务列表' (query Choerodon task list with conditions), which is a specific verb+resource. It distinguishes from siblings like 'choerodon_query_issue' (likely single issue) and 'choerodon_search_tasks_by_person' (by person) by being a list with multiple 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?
The description explains what each parameter does and notes that assignee and status are auto-resolved, which helps usage. However, it does not explicitly say when to use this tool versus sibling tools like choerodon_search_tasks_by_person or choerodon_query_issue, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_query_issueA
查询猪齿鱼单个任务/缺陷详情(含附件列表)。
issue_id 为工单加密 ID(来自列表结果);project_id 可选,默认用 CHOERODON_PROJECT_ID。 返回 summary/状态/优先级/类型/创建人/描述(HTML)/附件。
| Name | Required | Description | Default |
|---|---|---|---|
| issue_id | Yes | ||
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description implies a read-only operation (querying details) and lists returned fields (summary/status/优先级/类型/创建人/描述/附件). However, it does not disclose if the operation has side effects, authorization requirements, or rate limits.
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 compact (3 lines), front-loaded with the purpose, and each sentence adds value: first line states the action, second explains parameters, third lists 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?
With no output schema provided, the description lists key return fields and attachments, which is sufficient for an agent to assess result usage. It covers the core behavior despite missing edge cases like empty results or error handling.
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 0%, so the description bears full burden. It clarifies that issue_id is an 'encrypted ID from list results' and project_id defaults to CHOERODON_PROJECT_ID, adding essential context not 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?
The description clearly states the action ('查询...单个任务/缺陷详情') and resource ('含附件列表'), distinguishing it from siblings like 'choerodon_list_issue' which lists issues, while this retrieves a single item with 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?
It specifies that issue_id is a required encrypted ID from a list and project_id is optional with a default. However, it does not explicitly mention when not to use this tool vs alternatives like 'choerodon_list_attachments' for attachments alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_search_tasks_by_personB
按经办人姓名搜索其负责的猪齿鱼任务(先查成员再按经办人过滤)。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| size | No | ||
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 reveals the internal two-step process (lookup members then filter tasks), which is helpful. However, it does not mention other important behaviors such as authentication requirements, error handling, or what happens if the member is not found.
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 efficiently conveys the core purpose and workflow. It is front-loaded with the action and resource, with 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 3 parameters (one required), no annotations, and no parameter descriptions in the schema, the description is insufficient for complete understanding. It omits parameter semantics, usage boundaries, and behavioral details beyond the two-step process. The existence of an output schema does not compensate for these 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 0%, so the description must compensate for parameter meaning. The description implies that the 'name' parameter is the person's name, but it does not explain 'size' (default 50) or 'project_id' (default ''). Parameters are only partially covered, leaving significant ambiguity for correct invocation.
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 'search' and the resource 'tasks by person name', with additional explanation of the two-step process (first look up members, then filter). This distinguishes it from sibling tools like choerodon_query_issue or choerodon_search_users, which have different scopes.
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 guidance on when to use this tool versus alternatives (e.g., choerodon_query_issue, choerodon_list_issue). It implies the use case (search tasks by person name) but does not mention when not to use it or suggest other tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choerodon_search_usersB
按姓名模糊搜索猪齿鱼项目成员(返回加密 id / 真实名 / 登录名)。
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| size | No | ||
| project_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions 'fuzzy search' as a behavioral trait but does not disclose side effects, authentication needs, rate limits, pagination, or error behavior. Important details like what happens with no results or empty input are omitted.
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, very concise and front-loaded with the action. It is well-structured and avoids unnecessary words. However, it could include a bit more detail without losing conciseness, such as parameter explanations or usage hints.
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 an output schema and 3 parameters, the description is minimal. It mentions return fields but does not explain parameters or usage context. The tool is simple, but the description lacks completeness for effective agent invocation, especially regarding the size and project_id parameters.
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 0%, meaning the description adds no explanation for the parameters. The description only mentions 'by name' which aligns with the required 'name' parameter, but it does not explain the optional 'size' (default 50) or 'project_id' (default ''). The schema itself provides no descriptions, so the tool is poorly documented for 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 action: fuzzy search for Choerodon project members by name. It specifies the return fields (encrypted id, real name, login name). It distinguishes from sibling tools like choerodon_query_issue or choerodon_list_issue, which deal with issues, not users.
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. It implies usage for searching users by name, but no guidance on when not to use it or what prerequisites exist. The context of sibling tools indirectly suggests the domain, but explicit guidelines are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obs_log_datasourcesC
列出指定日志平台的 Loki 数据源(用于确认环境名与数据源名映射)。
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only mentions listing data sources for mapping, but does not describe if the list is full or filtered, if it requires specific permissions, or if it returns any live status. The behavioral disclosure is minimal and insufficient for a tool with no annotation fallback.
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 front-loads the purpose. It earns its place by clarifying the tool's intent (mapping confirmation), but could be slightly more 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 one parameter, no annotations, and an output schema (not shown). The description partially explains the tool's purpose but lacks key context such as output structure, required permissions, or when to use sibling tools. Given the simplicity, it is minimally adequate but could be more self-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?
Schema description coverage is 0%, so the description must compensate. It mentions '指定日志平台' (specified log platform) which hints at the 'region' parameter, but adds no detail about valid values or format. The schema defines one required parameter with no additional info, so the description adds some context but not enough to fully interpret the parameter.
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 explicitly states the tool lists Loki data sources for a specified log platform, and clarifies its purpose is to confirm the mapping between environment names and data source names. The verb '列出' (list) and resource 'Loki 数据源' are clear, but it does not differentiate from siblings that also query log platforms like obs_log_query.
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 vs. alternatives like obs_log_query. The description implies first-step use for mapping, but does not state that obs_log_query should be used for actual log searching or that this tool is a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obs_log_queryA
查询日志(Loki)。
区分两套平台:region=aws 查 AWS 海外(jp-saas-1),region=cn 查国内公有云。 国内非 prod 已切换至 Loki 风格,地址 logs.going-link.net。 query 为 LogQL 表达式,如 '{app="srm-gateway"} |= "403"'。 time_range 支持 30m/2h/1d/today/yesterday 或 "YYYY-MM-DD HH:mm~HH:mm"(北京时间)。
| Name | Required | Description | Default |
|---|---|---|---|
| env | Yes | ||
| limit | No | ||
| query | Yes | ||
| region | Yes | ||
| to_time | No | ||
| direction | No | BACKWARD | |
| from_time | No | ||
| time_range | No | 2h |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 explains query language (LogQL), time range formats, and platform-specific details. However, it does not disclose what happens on error (e.g., invalid query), pagination limits, or authentication requirements. Enough for a 3, but not higher.
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 very compact with only a few sentences, each adding unique value. It is well-structured with bullet-like insights (region split, LogQL example, time_range formats). 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 (3 required) and an output schema, so completeness is judged against this complexity. The description covers the key custom parameters well (region, query, time_range) but omits mention of 'env', 'limit', 'direction', and temporal bounds. Still sufficient for most use cases given the LogQL focus.
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 0%, so the description must compensate. It adds meaning to 'query' (LogQL examples), 'time_range' (accepted formats), and 'region' (platform mapping). However, it does not cover all 8 parameters (e.g., 'env', 'limit', 'direction', 'from_time', 'to_time'). Still, the most critical ones are well-explained.
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 queries logs (Loki), and distinguishes between two platforms (region=aws vs region=cn) with specific addresses. It also provides practical details about query syntax (LogQL) and time range formats, making the purpose very specific and actionable.
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 guidance on when to use each region (aws vs cn) and mentions a sibling context indirectly by noting that domestic non-prod has switched to Loki style. However, it does not explicitly compare this tool against sibling tools like obs_sls_query or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obs_sls_queryA
查询阿里云 SLS 日志(仅 cn 国内盘古 prod 用阿里云日志;非生产请走 Loki)。
仅 environment=prod 适用(project=pangu-cn-saas-3-prod-shared-sls-project-0)。 盘古 dev/test 等非生产环境日志在 Loki,应使用 obs_log_query(region="cn")。 传入 trace_id 做「ERROR/WARN + 全链路」两阶段查询;否则用 keyword, 自动加上 namespace 过滤。level 默认 ERROR(传空则不过滤级别)。
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | ERROR | |
| limit | No | ||
| system | No | 盘古 | |
| keyword | No | ||
| to_time | No | ||
| trace_id | No | ||
| from_time | No | ||
| time_range | No | 最近2小时 | |
| environment | No | prod |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses automatic _namespace_ filtering, default level=ERROR, and trace_id behavior. However, it does not mention return format, pagination, rate limits, or whether results are ordered. It also does not explicitly state it's a read-only operation (though implied by 'query').
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 compact (three paragraphs with clear separation of environment, query modes, and defaults). Every sentence adds value. Minor nit: environment constraint could be consolidated for brevity, but overall well-structured and 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 9 parameters, 0% schema coverage, and no annotations, the description does a good job covering environment constraints, query modes, and default level. However, it lacks documentation for time-range parameters (from_time, to_time, time_range), limit, and system, and does not describe the output schema behavior that exists. A complete description would cover all parameter behaviors and return value structure.
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 0%, so the description must compensate. It explains the purpose of trace_id, keyword, level, environment, and the two-phase query approach. However, it doesn't explain time_range, from_time, to_time, limit, or system parameters in detail. The narrative context adds meaning beyond the schema titles but leaves some parameters underspecified.
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 queries Alibaba Cloud SLS logs, provides the exact project name, and distinguishes it from the Loki-based alternative. The verb '查询' (query) combined with the specific resource '阿里云 SLS 日志' makes the purpose unmistakable.
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?
Explicitly states this is only for cn Pangu prod (environment=prod), and instructs to use obs_log_query(region='cn') for non-prod environments. It also specifies two query modes: trace_id for two-stage ERROR/WARN + full trace, or keyword otherwise. This provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_repoA
跨本地代码仓库搜索(内容 / 文件名 / 模块结构)。
mode: content(内容搜索,返回命中行与上下文) / filename(文件名模糊匹配) / modules(列出服务-模块-层结构)。 扫描根目录由 PG_ROOT 指定(默认本仓库根)。max_results 限制命中数量, context 为内容搜索上下文行数,depth 为递归深度。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | content | |
| depth | No | ||
| context | No | ||
| keyword | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral information. It effectively discloses key behaviors: the scanning root directory (controlled by PG_ROOT), default repository root, and effects of parameters like max_results, context (line count for content), and depth (recursion depth). The 'content' mode's behavior of returning hit lines with context is transparent. A slight gap is the lack of explicit statement about non-destructive nature.
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, using only four sentences. The first sentence introduces the tool's purpose and modes, front-loading key information. Each subsequent sentence explains parameters efficiently without redundancy. 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?
Given the tool has 5 parameters (2 defaults omitted from schema description), 0% schema coverage, no annotations, but includes an output schema, the description is quite complete. It explains the three modes, all parameters, and their effects. However, a missing detail is how the 'modules' mode output is structured (returns a tree?), which is important given no annotation for output schema contents. The output schema exists but isn't described.
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 0%, so the description must add meaning beyond the schema. It successfully explains that 'mode' selects among three types (content, filename, modules), 'context' adds lines around hits in content mode, 'depth' controls recursion, 'max_results' limits total hits, and 'keyword' is the search term. This covers the purpose of each parameter, though 'keyword' could be clarified (e.g., regex vs exact).
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 searches across local code repositories with three specific modes: content (hits and context), filename (fuzzy matching), and modules (service-module-layer structure). The verb 'search' along with the detailed mode differentiation provides a precise understanding of the tool's 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?
The description explains the three search modes and their intended use cases (content, filename, modules), providing clear guidance on when to use each. However, it does not explicitly exclude alternative tools or mention when NOT to use this tool compared to siblings like 'obs_log_query' or 'archery_query', preventing a score of 5.
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.
17 tool updates
v0.1.0- First observed
archery_describe_table - First observed
archery_list_columns - First observed
archery_list_databases - First observed
archery_list_instances - First observed
archery_query - First observed
archery_query_tenant - First observed
choerodon_download_attachment - First observed
choerodon_get_status_map - First observed
choerodon_list_attachments - First observed
choerodon_list_issue - First observed
choerodon_query_issue - First observed
choerodon_search_tasks_by_person - First observed
choerodon_search_users - First observed
obs_log_datasources - First observed
obs_log_query - First observed
obs_sls_query - First observed
search_repo
TDQS
Each tool serves a distinct purpose within its domain: log query tools are clearly separated by data source (Loki vs. SLS) and environment, database tools cover different schema operations, and issue tools handle specific retrieval tasks. No two tools overlap in function.
Most tools follow a consistent 'service_operation' pattern (e.g., obs_log_query, archery_query, choerodon_list_issue). The only deviation is 'search_repo' which lacks the service prefix, but it still uses a clear verb_noun format. Overall naming is predictable and readable.
17 tools covering logging, database operations, issue tracking, and code search is on the higher side but justified given the diverse domains. Each tool serves a specific need, and the count is appropriate for the server's multi-purpose scope.
The tool surface is heavily read-oriented: logging and database tools allow querying but not modification. Issue tracking is particularly incomplete, lacking create, update, and delete operations. Agents will encounter dead ends when trying to perform standard CRUD workflows.
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
Query application logs, traces, and metrics from your AI coding assistant via Foam's MCP server.
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Agent-native launch platform and tool directory: search, alternatives, trending, launch via MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables querying logs and metrics from Graylog, Prometheus, and InfluxDB 2.x. It provides tools for executing Lucene log searches, PromQL queries, and Flux queries directly within MCP-compatible clients.MIT
- AlicenseAqualityCmaintenanceEnables querying logs, traces, and metrics from multiple OpenObserve instances via MCP tools, with parallel execution, batching, and caching.6959MIT
- AlicenseNot gradedqualityAmaintenanceProvides a unified MCP server to interact with multiple middleware (Loki, MySQL, Redis, RocketMQ, Elasticsearch, MongoDB) through a desktop application for connection management and configuration export.4MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for querying observability data from Elasticsearch, SkyWalking, and Prometheus/VictoriaMetrics, enabling AI models to search logs, traces, and metrics across environments.9MIT
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/nichuan/zhenyun-pangu-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server