Token导航 LogoToken导航

MCP Server · 运维云端

Linkerd MCP

Linkerd MCP Server是一个用于与Kubernetes集群中的Linkerd服务网格交互的服务器,提供健康状态查询、连接性分析和配置验证等功能。

stdio官方级别未说明来源级核验工具 0
GoClaude云端部署Claude Desktop

快速开始

作者 / 组织
christianhuening
提供方
christianhuening
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Linkerd MCP 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run --rm -v ~/.kube/config:/root/.kube/config ghcr.io/christianhuening/linkerd-mcp:latest

客户端配置示例

{
  "mcpServers": {
    "linkerd-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-v",
        "~/.kube/config:/root/.kube/config",
        "ghcr.io/christianhuening/linkerd-mcp:latest"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Linkerd MCP服务器

用于与Kubernetes集群中的Linkerd服务网格交互的模型上下文协议(MCP)服务器。此服务器使AI代理能够查询服务网格健康状态并分析服务之间的连接策略。

免责声明:本项目由Claude创建。人工智能!

特性

  • Service Mesh健康监测:检查Linkerd控制平面组件的运行状况
  • 连通性分析:分析Linkerd策略以确定服务之间允许的连接
  • 服务发现:列出Linkerd网格中的所有服务
  • 授权策略分析:查询哪些服务可以访问目标或源可以访问哪些目标
  • 配置验证:验证Linkerd资源(服务器、授权策略、MeshTLS)的正确性和最佳实践
  • 交通指标分析:查询实时流量指标,包括请求率、延迟百分比、成功率和错误率
  • 生产就绪:现代安全功能、Helm图表、全面测试和CI/CD

快速开始

与Claude Desktop一起使用(推荐)

  1. 安装服务器:
   # From source
   git clone https://github.com/christianhuening/linkerd-mcp.git
   cd linkerd-mcp
   go build -o linkerd-mcp

   # Or download pre-built binary from releases
  1. 配置Claude桌面 (~/Library/Application Support/Claude/claude_desktop_config.json):
   {
     "mcpServers": {
       "linkerd": {
         "command": "/path/to/linkerd-mcp",
         "args": [],
         "env": {
           "KUBECONFIG": "/Users/yourname/.kube/config"
         }
       }
     }
   }
  1. 在Claude Desktop中使用:

- “检查我的Linkerd网格的健康状况” - “列出网格中的所有服务” - “验证prod命名空间中的Linkerd配置” - “前端服务可以与哪些服务通信?”

使用Docker

docker pull ghcr.io/christianhuening/linkerd-mcp:latest
docker run --rm -v ~/.kube/config:/root/.kube/config ghcr.io/christianhuening/linkerd-mcp:latest

使用Helm(集群内部署)

helm install linkerd-mcp ./helm/linkerd-mcp -n linkerd --create-namespace

MCP检验员测试

# Build from source
go build -o linkerd-mcp

# Run inspector
npx @modelcontextprotocol/inspector ./linkerd-mcp

这将打开一个web界面,您可以在其中交互式地测试所有MCP工具。

MCP工具

1. check_mesh_health

检查群集中Linkerd服务网格的运行状况。

论据:

  • namespace (可选):Linkerd控制平面命名空间(默认:“Linkerd”)

退货: 带有控制平面吊舱状态和健康信息的JSON

2. analyze_connectivity

分析Linkerd策略以确定服务之间允许的连接。

论据:

  • source_namespace (必需):源服务命名空间
  • source_service (必填):源服务名称
  • target_namespace (可选):目标服务命名空间(默认为源命名空间)
  • target_service (必填):目标服务名称

退货: 带有连接分析和适用策略的JSON

3. list_meshed_services

列出属于Linkerd网格的所有服务。

论据:

  • namespace (可选):按命名空间筛选(默认:所有命名空间)

退货: 带有Pod的网状服务的JSON列表

4. get_allowed_targets

根据Linkerd授权策略查找给定源服务可以与之通信的所有服务。

论据:

  • source_namespace (必需):源服务的命名空间
  • source_service (必填):源服务的名称

退货: 源有权访问的所有目标的JSON列表

5. get_allowed_sources

根据Linkerd授权策略查找可以与给定目标服务通信的所有服务。

论据:

  • target_namespace (必需):目标服务的命名空间
  • target_service (必填):目标服务的名称

退货: 授权访问目标的所有源的JSON列表

6. validate_mesh_config

验证Linkerd服务网格配置的正确性和最佳实践。

论据:

  • namespace (可选):要验证的命名空间(默认值:所有命名空间)
  • resource_type (可选):要验证的资源类型- server, authpolicy, meshtls, proxy, namespace,或 all (默认值: all)
  • resource_name (可选):要验证的特定资源名称
  • include_warnings (可选):在结果中包含警告(默认值:true)

退货: 包含错误、警告和信息消息的JSON验证报告

支持的验证:

  • 服务器资源:端口配置、pod选择器、代理协议、端口冲突
  • 授权策略资源:目标引用、身份验证引用、策略一致性
  • MeshTLSA身份验证资源:标识格式、服务帐户引用
  • 代理配置:注入注释、CPU/内存资源、日志级别、代理版本(命名空间和pod级别)

示例用法(通过克劳德桌面或MCP检查器):

使用Claude Desktop时,您可以问:

  • “验证我的Linkerd配置”
  • “检查prod命名空间中是否存在任何配置错误”
  • “验证所有服务器资源并向我显示任何问题”
  • “检查默认命名空间中的代理配置”
  • “验证命名空间注释以正确注入Linkerd代理”

或使用MCP检查器进行测试:

npx @modelcontextprotocol/inspector ./linkerd-mcp
# Then call: validate_mesh_config with arguments: {}

7. get_service_metrics

从Prometheus获取服务的流量指标。

论据:

  • namespace (必需):服务命名空间
  • service (必填):服务名称
  • time_range (可选):时间范围(例如,“5m”、“1h”、“24h”)。默认值:5m

退货: 带有请求率、成功率、错误率和延迟百分位数的JSON(p50、p95、p99)

8. analyze_traffic_flow

分析两个服务之间的流量指标。

论据:

  • source_namespace (必需):源服务命名空间
  • source_service (必填):源服务名称
  • target_namespace (可选):目标服务命名空间(默认为源)
  • target_service (必填):目标服务名称
  • time_range (可选):时间范围(例如,“5m”、“1h”、“24h”)。默认值:5m

退货: JSON,包含流量指标,包括服务之间的请求率、延迟和错误率

9. get_service_health_summary

根据指标获取命名空间中所有服务的运行状况摘要。

论据:

  • namespace (必需):要检查的命名空间
  • time_range (可选):时间范围(例如,“5m”、“1h”、“24h”)。默认值:5m

退货: 带有每个服务健康状态的JSON,突出显示错误率或延迟较高的服务

10. get_top_services

获取按流量指标排名的服务。

论据:

  • namespace (必需):要查询的命名空间
  • sort_by (可选):排序指标:“request_rate”、“error_rate”、“latency_p95”。默认值:request_rate
  • time_range (可选):时间范围(例如,“5m”、“1h”、“24h”)。默认值:5m
  • limit (可选):返回的顶级服务数量。默认值:10

退货: JSON,包含服务及其指标的排名列表

示例用法(通过Claude Desktop):

  • “显示默认命名空间中前端服务的请求率”
  • “过去一小时api网关的p95延迟是多少?”
  • “分析前端和后端服务之间的流量”
  • “在prod中,哪些服务的错误率最高?”
  • “显示默认命名空间中所有服务的运行状况摘要”

注: 度量工具要求Prometheus可访问。集 LINKERD_PROMETHEUS_URL 用于覆盖默认值的环境变量 http://prometheus.linkerd.svc.cluster.local:9090.

先决条件

  • 转到1.23或更高版本
  • 安装了Linkerd的Kubernetes集群
  • kubectl 已配置为访问您的群集
  • Docker(用于容器化)

地方发展

安装

  1. 克隆存储库:
git clone https://github.com/christianhuening/linkerd-mcp.git
cd linkerd-mcp
  1. 安装依赖项:
go mod download
  1. 运行服务器:
go run main.go

服务器将使用您本地的kubeconfig(~/.kube/config)连接到Kubernetes集群。

Kubernetes部署

构建和推送Docker镜像

# Build the image
docker build -t your-registry/linkerd-mcp:latest .

# Push to your registry
docker push your-registry/linkerd-mcp:latest

部署到Kubernetes

  1. 更新k8s/deployment.yaml中的映像以指向您的注册表:
image: your-registry/linkerd-mcp:latest
  1. 部署到集群:
kubectl apply -f k8s/deployment.yaml

这将创建:

  • 具有必要RBAC权限的ServiceAccount
  • ClusterRole可以访问Pod、服务和Linkerd策略CRD
  • 运行MCP服务器的部署
  • 暴露MCP服务器的服务

验证部署

# Check if the pod is running
kubectl get pods -n linkerd -l app=linkerd-mcp

# Check logs
kubectl logs -n linkerd -l app=linkerd-mcp

RBAC权限

服务器需要以下Kubernetes权限:

  • 对Pod、服务和命名空间的读取权限
  • 对Linkerd策略CRD(服务器、服务器授权、授权策略、httproutes)的读取权限
  • 读取部署和复制集的访问权限

这些是在k8s/deployment.yaml中配置的。

配置

环境变量

  • KUBECONFIG:kubeconfig文件的路径(用于本地开发)
  • LINKERD_NAMESPACE:Linkerd控制平面命名空间(默认值:“Linkerd”)

建筑

服务器使用模块化架构,关注点清晰分离:

linkerd-mcp/
├── main.go                    # Entry point (31 lines)
└── internal/
    ├── config/                # Kubernetes client configuration
    ├── health/                # Control plane health checking
    ├── mesh/                  # Service discovery
    ├── policy/                # Authorization policy analysis
    └── server/                # MCP server and tool registration

关键技术:

  • mcp走:执行模型上下文协议
  • 客户去:官方Kubernetes Go客户端
  • Linkerd策略CRD:用于分析服务到服务连接策略

看 内部/README.md 获取详细的架构文档。

测试

该项目包括使用Ginkgo/Gomega BDD框架的93多个测试用例的综合单元测试:

# Run all tests
go test ./internal/... -v

# Run tests with coverage
go test ./internal/... -cover

# Generate coverage report
go test ./internal/... -coverprofile=coverage.out
go tool cover -html=coverage.out

看 测试.md 获取完整的测试文档。

CI/CD

该项目使用GitHub Actions进行持续集成和部署:

  • CI工作流:对每个PR运行测试、linting和安全扫描
  • Docker工作流:构建多平台图像并推送到GHCR
  • 发布工作流:为所有平台创建包含二进制文件的版本

看 用于CI/CD文档。

未来的增强功能

  • \[\]完成Linkerd策略CRD集成,以进行详细的连接分析
  • \[x\] 添加对分析流量指标的支持
  • \[x\] 实施服务网格配置验证
  • \[\]添加对多集群Linkerd设置的支持
  • \[\]提供详细的路线和授权策略见解
  • \[x\] 添加代理配置验证
  • \[\]实施最佳实践建议
  • \[\]添加HTTPRoute资源的验证
  • \[\]添加ServiceProfile资源的验证
  • \[\]通过Linkerd Tap API添加实时流量流
  • \[\]添加历史趋势分析和异常检测
  • \[\]工艺政策
  • \[\]在审核模式下部署策略的测试版本
  • \[\]分析linkerd的审计模式设置,找出流量被拒绝的位置和原因

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交拉取请求。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

服务网格Go本地部署Kubernetes工具监控分析配置验证流量指标

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Linkerd MCP

MCP World · 本页

0stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Linkerd MCP 怎么安装?

公开资料给出的安装命令是 docker run --rm -v ~/.kube/config:/root/.kube/config ghcr.io/christianhuening/linkerd-mcp:…,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Linkerd MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Linkerd MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Linkerd MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Linkerd MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP