Skip to main content
Glama

Chaos Mesh MCP Server

Chaos Mesh MCP 服务端,基于 Python FastMCP 实现,提供 Chaos Mesh 混沌实验的 MCP 工具集。

项目结构

chaosmesh-mcp/
├── src/
│   └── chaosmesh_mcp/          # 源代码 (src 布局)
│       ├── __init__.py
│       ├── __main__.py          # python -m 入口
│       ├── server.py            # FastMCP 服务启动
│       ├── tools/               # MCP 工具注册
│       │   ├── chaos.py         # list_chaos / delete_chaos
│       │   ├── cluster.py       # 集群巡检 (namespace/pod/node)
│       │   ├── httpchaos.py     # HTTP 接口级延迟注入
│       │   ├── network_chaos.py # 网络延迟/丢包/外部延迟
│       │   └── pod.py           # Pod Kill 注入
│       ├── services/            # 服务适配层
│       │   ├── kubectl.py       # kubectl 命令封装
│       │   └── chaosmesh.py     # 模板渲染与 Chaos CRD 应用
│       ├── utils/               # 工具函数
│       │   ├── generate.py      # 混沌资源名生成
│       │   ├── response.py      # 统一响应格式
│       │   └── validate.py      # 输入校验
│       └── templates/           # Chaos Mesh YAML 模板
│           ├── network_delay.yaml
│           ├── network_loss.yaml
│           ├── network_external_delay.yaml
│           ├── pod_kill.yaml
│           └── httpchaos_delay.yaml
├── tests/
│   └── __init__.py
├── deploy/k8s/                  # Kubernetes 部署清单
│   ├── deployment.yaml
│   ├── service.yaml
│   ├── ingress.yaml
│   ├── kustomization.yaml
│   ├── kustomizeconfig.yaml
│   ├── .env.config
│   └── .env.secret.example
├── pyproject.toml
├── uv.lock
├── .python-version
├── Dockerfile
└── README.md

Related MCP server: Chaos Mesh MCP Server

运行方式

环境准备

# 确保已安装 uv
uv --version

# 同步依赖(自动创建 .venv 并安装所有依赖)
uv sync

本地运行

# 使用 uv run 启动服务
uv run python -m chaosmesh_mcp

# 或通过 console_scripts
uv run chaosmesh-mcp

Docker

docker build -t chaos-mcp:latest .
docker run -p 8000:8000 chaos-mcp:latest

环境变量

  • MCP_HOST — 服务监听地址,默认 0.0.0.0

  • MCP_PORT — 服务监听端口,默认 8000

功能说明

集群巡检工具 (tools/cluster.py)

  • get_namespaces — 查询集群中的 namespace 列表

  • get_pods — 以 wide 格式列出目标命名空间中的 Pod

  • get_nodes — 以 wide 格式列出集群中的所有节点

  • cluster_info — 获取 Kubernetes 集群端点与服务信息

网络混沌工具 (tools/network_chaos.py)

  • resolve_namespace — 根据 K8s 服务名称查询所在的 namespace

  • network_delay — 对服务与服务之间的网络连接注入延迟

  • network_external_delay — 对发往第三方渠道域名注入响应延迟 (Workflow)

  • network_loss — 对服务间注入 NetworkChaos 丢包故障

HTTP 混沌工具 (tools/httpchaos.py)

  • httpchaos_delay — 按 HTTP 路径和端口精准注入延迟

Pod 混沌工具 (tools/pod.py)

  • pod_kill — PodChaos pod-kill 故障注入

混沌生命周期工具 (tools/chaos.py)

  • list_chaos — 列出指定命名空间中的混沌资源

  • delete_chaos — 按类型、名称和命名空间删除单个混沌资源

响应格式

所有工具返回统一的 JSON 响应:

{
  "success": true,
  "message": "操作描述",
  "data": {
    "kubectl": "kubectl 返回内容",
    "yaml": "渲染后的 YAML"
  },
  "yaml": "渲染后的 YAML (顶层)"
}

Kubernetes 部署

kubectl create namespace chaos-mcp
cp deploy/k8s/.env.secret.example deploy/k8s/.env.secret
# 编辑 deploy/k8s/.env.secret 填入真实值
kubectl apply -k deploy/k8s

Available Tools

12 tools
cluster_infoA

获取 Kubernetes 集群端点与服务信息。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It describes a read-only operation (get info) but does not explicitly state it is safe, has no side effects, or any prerequisites.

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?

Single sentence with no redundancy; efficient and to the point.

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

Completeness4/5

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

Given no parameters, no output schema, and a simple retrieval operation, the description is adequately complete. It could mention that information is cluster-wide, but not necessary.

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?

No parameters exist, so schema coverage is 100%. Baseline for zero parameters is 4; description does not add value beyond schema, but that is sufficient here.

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?

Description clearly states it retrieves Kubernetes cluster endpoint and service information, which is a specific verb+resource and distinguishes from siblings that focus on chaos, pods, or namespaces.

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?

No explicit guidance on when to use this tool versus alternatives; usage is implied by the description, but no context or exclusions are provided.

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

delete_chaosC

按类型、名称和命名空间删除单个混沌资源。

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
nameYes
namespaceYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only states 'delete' without disclosing permissions, reversibility, or error conditions (e.g., if resource does not exist). This is insufficient for safe agent invocation.

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 concise sentence that front-loads the core action and parameters. While efficient, it could be slightly more structured (e.g., listing parameters). Still, no wasted words.

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?

For a simple delete tool with 3 parameters and no output schema, the description lacks critical context: return value, whether operation is immediate, idempotency, or namespace implications. Incomplete for reliable use.

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

Parameters2/5

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

Schema coverage is 0% (no parameter descriptions). The description only rephrases the parameter names as 'type, name, and namespace' without adding constraints, valid values, or format. It does not compensate for the schema gap.

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 action (delete) and the resource (single chaos resource), specifying the three criteria: type, name, and namespace. It effectively distinguishes from sibling tools like list_chaos and other non-deletion tools.

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, no prerequisites, and no context about the effect of deletion. An agent must infer usage from the name alone.

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

get_namespacesB

查询集群中的 namespace 列表。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior1/5

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

The description does not disclose any behavioral traits beyond the basic function. Since no annotations are provided, the description should convey whether the tool is read-only, requires special permissions, or has any side effects. It fails to do so, leaving the agent unaware of important behavioral context.

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 sentence that directly states the tool's function. It is concise and front-loaded, but it could benefit from a bit more structure or context. However, it earns its place without waste.

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

Completeness4/5

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

Given that the tool has no parameters and no output schema, the description is largely complete in stating its purpose. It conveys the core functionality, though it lacks some contextual details like return value format. Overall, it is adequate for a simple list query.

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 zero parameters, so there is nothing for the description to add. According to the guidelines, 0 parameters yields a baseline of 4. The description adds no parameter information, but none is needed.

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 tool's purpose: querying the list of namespaces in a cluster. It uses a specific verb ('查询') and resource ('namespace 列表'), and it distinguishes itself from sibling tools like get_nodes or get_pods by focusing solely on namespaces.

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, when not to use it, or any context that would help the agent decide between this and other cluster-related tools.

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

get_nodesA

以 wide 格式列出集群中的所有节点。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The description lacks behavioral traits beyond the implied read operation. No annotations are present, so the description should disclose permissions, side effects, or limitations, but it does not.

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 with no superfluous words. It front-loads the core purpose.

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 no output schema and a simple purpose, the description is adequate but does not elaborate on the 'wide' format output, which could help an agent understand the return structure.

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?

There are zero parameters, and schema description coverage is 100%. The baseline for 0 parameters is 4, and the description adds no unnecessary information.

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 action ('列出' = list), the resource ('集群中的所有节点' = all nodes in the cluster), and the output format ('wide 格式' = wide format). It is specific and distinguishes from sibling tools like get_pods and cluster_info.

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, such as get_namespaces or cluster_info. There are no exclusions or context about prerequisites.

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

get_podsB

以 wide 格式列出目标命名空间中的 Pod。

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYes

TDQS

B3.1/5.0
Behavior3/5

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

No annotations provided. The description mentions 'wide format' implying detailed output, but does not specify exact fields or any behavioral traits like pagination or filtering.

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?

A single short sentence that is to the point. However, it could benefit from a brief example or clarification of 'wide format'.

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?

No output schema. The description does not explain the return value beyond 'wide format'. Given the tool lists resources, missing details about returned fields (e.g., name, status, IP) leaves it incomplete.

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 coverage is 0% (no description in properties). The description adds that namespace is the target namespace, which aligns with the parameter. This adds some meaning beyond the raw schema but is minimal.

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 it lists Pods in the target namespace in wide format. It is a simple verb-resource combination. Sibling tools are mostly chaos-related, so no confusion, but lacks differentiation from other get_* tools like get_nodes.

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 on when to use this tool vs alternatives. The description does not indicate when to use wide format or how it compares to other list operations.

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

httpchaos_delayA

按 HTTP 路径和端口注入延迟(精准影响指定接口);如果只需要服务与服务之间的整体网络延迟,请使用 network_delay。

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYes
appYes
pathYes
portNo
targetNoResponse
delayNo200ms
durationNo60s

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full behavioral burden. It only states that delay is injected, but does not disclose any side effects, destructive nature, authentication needs, rate limits, or what happens to traffic beyond delay. For a chaos tool, this is insufficient.

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

Conciseness5/5

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

The description is very concise: two sentences, no wasted words. The first sentence states the core function, and the second provides a clear alternative. It is front-loaded and efficient.

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?

The tool has 7 parameters with 0% schema description coverage and no output schema. The description only clarifies path and port, but leaves out explanation for required parameters like namespace and app, and does not describe the delay format, duration, or the effect on target (Request vs Response). This is incomplete for a chaos tool.

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 0%, so the description must compensate. It adds value by mentioning 'HTTP path and port', which clarifies the 'path' and 'port' parameters, and 'inject delay' hints at 'delay'. However, it does not explain the other parameters like 'namespace', 'app', 'target', 'duration', leaving gaps.

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 that the tool injects delay by HTTP path and port, precisely affecting a specified interface. It also explicitly distinguishes itself from the sibling tool network_delay, which is for overall network delay. This provides a specific verb+resource and differentiates among siblings.

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 gives explicit guidance: use this tool for precise path/port delay, and use network_delay for overall network delay. This is a clear context with an exclusion, though it does not address when to use it versus other sibling tools like network_loss or pod_kill.

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

list_chaosA

列出指定命名空间中的 PodChaos、NetworkChaos 和 StressChaos 资源。

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYes

TDQS

A3.6/5.0
Behavior3/5

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

Description implies a read-only list operation, but no annotations exist. It adds no extra behavioral context (e.g., auth requirements, rate limits) beyond the obvious read nature. Adequate for a simple list but not rich.

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

Conciseness5/5

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

One sentence, direct and front-loaded with action and resource. No wasted words.

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

Completeness4/5

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

Given the simplicity (1 parameter, no output schema), the description covers the essential: what it lists and the namespace. Could mention if there are additional filters or output format, but overall adequate.

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 single required parameter 'namespace' has no schema description (0% coverage). The description mentions '指定命名空间' (specified namespace), providing minimal context that ties the parameter to the list scope. Partially compensates but could elaborate on namespace format or constraints.

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?

Description clearly states the verb (list), resource types (PodChaos, NetworkChaos, StressChaos), and scope (specified namespace). It differentiates from sibling tools like get_pods or delete_chaos.

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 on when to use this tool vs alternatives. Does not specify context such as 'use for listing chaos resources, not regular pods' or exclude other scenarios.

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

network_delayB

对服务与服务之间的网络连接注入延迟(支持 to);不按 HTTP path 匹配。若需按 path 精准注入,请使用 httpchaos_delay。

ParametersJSON Schema
NameRequiredDescriptionDefault
selector_valueYes
target_selector_valueYes
selector_namespaceYes
target_namespaceYes
directionNoto
delayNo300ms
durationNo30s
jitterNo100ms

TDQS

B3/5.0
Behavior2/5

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 mentions the tool injects delay and does not match by path, but does not describe effects on connections, whether it is destructive, or the implications of parameters like delay, jitter, and duration.

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

Conciseness3/5

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

The description is very short and front-loads the main action, but its brevity comes at the cost of missing critical details, making it under-specified for practical use.

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

Completeness1/5

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

Given the tool has 8 parameters, 4 required, no output schema, and no annotations, the description is severely incomplete. It fails to explain parameter roles, defaults, return values, or usage examples.

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

Parameters1/5

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

With 0% schema description coverage, the description should compensate by explaining parameters. It only indirectly hints at the 'direction' parameter ('supports to') and provides no information about selector_value, target_selector_value, namespaces, delay format, jitter, or duration.

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 tool's purpose: injecting delay into network connections between services, with explicit mention that it supports the 'to' direction. It also distinguishes itself from a sibling by noting it does not match by HTTP path.

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 provides an explicit alternative (httpchaos_delay) for when path-based injection is needed, but does not discuss when to use this tool versus other siblings like network_loss or network_external_delay.

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

network_external_delayB

创建 ChaosMesh Workflow,对 发往第三方渠道域名的出方向流量注入响应延迟混沌实验。

ParametersJSON Schema
NameRequiredDescriptionDefault
selector_valueYes
selector_namespaceYes
external_urlYes
durationNo60s
delayNo5s
deadlineNo60s

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It mentions creating a workflow and injecting delay, but does not explain safety profile, required permissions, side effects, or how to revert. Critical gaps for a chaos experiment tool.

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?

Single sentence is concise and front-loaded with the core action. However, for a complex chaos tool, a slightly longer description with structural hints would be more helpful without losing conciseness.

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?

With no output schema, no annotations, and 6 parameters (3 required), the description is incomplete. It does not explain workflow behavior, return values, error scenarios, or lifecycle management, leaving significant gaps for correct tool 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?

Given 0% schema parameter descriptions, the description adds context (e.g., external_url refers to third-party domains, duration/delay/deadline are time parameters), but does not detail each parameter's purpose or constraints. Only moderate additional meaning.

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?

Description clearly states the tool creates a ChaosMesh workflow to inject response delay into outgoing traffic to third-party domain names, specifying the action, resource, and target scope. It distinguishes from siblings like network_delay and httpchaos_delay by focusing on external third-party domains.

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 on when to use this tool versus alternatives (e.g., network_delay for internal traffic, httpchaos_delay for HTTP-specific delays). No when-not-to-use or prerequisite conditions provided.

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

network_lossC

对标签选择器匹配到的 Pod 注入 NetworkChaos 丢包故障。

ParametersJSON Schema
NameRequiredDescriptionDefault
selector_valueYes
selector_namespaceYes
target_selector_valueYes
target_namespaceYes
loss_percentNo
durationNo60s
correlationNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are available, and the description only states the action without disclosing behavioral traits such as reversibility, side effects on pods, required permissions, or what happens to existing network connections. The default values in the schema hint at behavior, but the description itself adds no transparency.

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

Conciseness3/5

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

The description is a single sentence with no unnecessary words, but it is too minimal. While concise, it sacrifices completeness; however, the sentence does convey the core purpose efficiently.

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

Completeness1/5

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

Given the tool's complexity (chaos engineering, destructive action, 7 parameters, no output schema), the description is severely incomplete. It lacks information on what the tool returns, how faults are cleaned up, prerequisites, and any side effects. With no supplementary annotations, the agent has insufficient context to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the 7 parameters. Key parameters like 'selector_value', 'loss_percent', 'duration', and 'correlation' are left undefined, forcing the agent to rely solely on parameter names which may be ambiguous without context.

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 tool's purpose: injecting packet loss faults into pods matched by a label selector. It includes the verb 'inject', the resource 'Pod through label selector', and the specific fault type 'packet loss'. This distinguishes it from sibling tools like network_delay (delay) and pod_kill (kill).

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. The description does not mention use cases, prerequisites, or scenarios where other tools (e.g., network_delay, network_external_delay) would be more appropriate.

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

pod_killC

对标签选择器匹配到的 Pod 注入 PodChaos pod-kill 故障。

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYes
selector_valueYes
durationNo60s

TDQS

C2.6/5.0
Behavior2/5

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 that a fault is injected, but does not describe the effect (pod killing), irreversibility, permission requirements, or what happens to the pod.

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

Conciseness3/5

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

The description is a single sentence, making it concise, but it lacks structure and important details. It is not front-loaded with the most critical information for an agent to decide quickly.

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 lack of output schema and annotations, the description is incomplete. It does not explain return values, error cases, or how the tool fits into the chaos engineering workflow. Sibling tools suggest a broader context, but the description fails to provide it.

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

Parameters2/5

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 'label selector' but does not clarify that selector_value is a label selector or explain the format. Duration is not described, and namespace is not elaborated.

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 ('inject'), the resource ('PodChaos pod-kill fault'), and the target selection ('label selector'). It distinguishes from sibling chaos tools like network_delay or httpchaos_delay, which target different fault types.

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. There are no mentions of prerequisites, such as needing pods with labels, or context about typical use cases.

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

resolve_namespaceB

根据K8s服务名称,查询该服务所在的命名空间namespace

ParametersJSON Schema
NameRequiredDescriptionDefault
selector_valueYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not mention read-only nature, permissions required, or error handling behavior. Only states the query action without deeper behavioral traits.

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?

Single sentence with no redundant words. Efficiently communicates the tool's purpose and key input.

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?

No output schema, so description should explain return value (e.g., namespace name string). It does not. Also lacks error scenarios. Simple tool but missing output and failure context.

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 description identifies the parameter as a K8s service name, adding some meaning beyond the schema's minimal property definition. However, it lacks format details or examples, and schema coverage is 0%, so more compensation could be expected.

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 it resolves a K8s service name to its namespace, using specific verb 'query' and resource 'namespace'. It distinguishes from sibling tools like get_namespaces which list all namespaces or chaos tools.

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 explicit guidance on when to use this tool versus alternatives such as get_namespaces. The description only states the basic functionality without providing context for selection.

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.

  1. 12 tool updatesv0.1.0
    • First observedcluster_info
    • First observeddelete_chaos
    • First observedget_namespaces
    • First observedget_nodes
    • First observedget_pods
    • First observedhttpchaos_delay
    • First observedlist_chaos
    • First observednetwork_delay
    • First observednetwork_external_delay
    • First observednetwork_loss
    • First observedpod_kill
    • First observedresolve_namespace

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation5/5

Each tool has a clearly distinct purpose. The two delay tools are explicitly disambiguated in their descriptions, and other tools cover different fault types or informational queries without overlap.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., delete_chaos, list_chaos, pod_kill), but there are minor inconsistencies like 'httpchaos_delay' (combined prefix) and 'network_external_delay' (three-part name) which mildly deviate from the norm.

Tool Count5/5

With 12 tools, the server covers core chaos engineering operations (query, inject, delete) for multiple fault types, without being overwhelming or too sparse.

Completeness3/5

The set includes common fault types (pod kill, network delay/loss, HTTP delay) and external delay, but lacks stress chaos injection tools despite listing them, and does not support update operations, leaving notable gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time Kubernetes cluster observability and debugging through standardized MCP interface. Provides access to pods, services, nodes, events, and includes built-in tools for cluster health analysis and issue identification.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform chaos engineering and resilience testing on Kubernetes clusters through Chaos Mesh. Supports creating and managing 24 types of chaos experiments including network failures, stress tests, pod disruptions, and I/O faults through natural language conversations.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables natural language Kubernetes operations, including smart resource queries, pod root-cause analysis, cross-environment diffs, and manifest generation.
    MIT