mcpField
L
Linkerd2 MCP

Linkerd2 MCP

Local
github.com/eli-nomasecCloud & Infra2Updated 72w ago

About Linkerd2 MCP

Linkerd2 MCP is a work-in-progress server for inspecting and changing Linkerd service meshes. It combines aggregated mesh data with authorization-policy updates for operators managing Linkerd environments.

Key features

  1. 01Aggregated service-mesh data access
  2. 02Mesh graph retrieval
  3. 03Authorization policy updates
  4. 04gRPC API

Use cases

  1. 01Inspect Linkerd mesh state
  2. 02Retrieve an aggregated mesh graph
  3. 03Apply authorization policy changes

MCP support

The project exposes a gRPC MCP API for Linkerd mesh introspection and policy mutation. It builds on Linkerd and Linkerd-viz.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Linkerd2 MCP

⚠️ This project is a Work In Progress (WIP) and is still under active development. Features and APIs may change at any time.

ℹ️ The vast majority of this project has been built with the help of AI agents.

This project aims to expose a Model Context Protocol (MCP) server, enabling you to "talk" to your Linkerd2 service mesh. By building on top of Linkerd and Linkerd-viz, it provides an API for fetching high-level aggregated mesh data and for making changes—such as applying authorization policy updates—directly to your mesh.

A lightweight, fault-tolerant control plane for Linkerd-powered service meshes, exposing a gRPC MCP API for mesh introspection and safe policy mutation.

Project Structure

cmd/
  mcp-server/      → main.go (MCP API server)
  collector/       → main.go (Collector)
proto/             → *.proto + buf.yaml (gRPC contracts)
internal/
  graph/           → in-memory mesh model
  redis/           → Redis helpers (snapshot, delta, election)
docs/              → project docs
helm/              → chart/
Makefile           → convenience commands

Getting Started

Prerequisites
  • Go 1.22+
  • Docker or Podman
  • kubectl 1.30+
  • kind (for local k8s)
  • Linkerd CLI 2.15+
  • Prometheus (comes with Linkerd viz)
  • Buf CLI 1.29+
  • Helm 3.14+
Build
go build -o bin/collector ./cmd/collector
go build -o bin/mcp-server ./cmd/mcp-server
Running End-to-End (local kind cluster)
  1. Start a kind cluster and install Linkerd + Prometheus:

    kind create cluster --name mcp-dev
    linkerd install | kubectl apply -f -
    linkerd viz install | kubectl apply -f -
    linkerd check
    
  2. Deploy Redis (Valkey) and the MCP stack (see helm/ for chart):

    helm install mcp ./helm --namespace mcp --create-namespace --set redis.enabled=true
    
  3. Port-forward MCP server and test the gRPC API:

    kubectl -n mcp port-forward svc/mcp 10900:10900
    grpcurl -plaintext localhost:10900 mcp.v1.MeshContext/GetMeshGraph
    
  4. Apply a policy mutation via gRPC:

    grpcurl -plaintext -d '{"namespace":"default","name":"allow-foo","json_spec":"{\"foo\": \"bar\"}"}' localhost:10900 mcp.v1.MeshContext/ApplyAuthorizationPolicy
    
  5. Verify AuthorizationPolicy CRs in the cluster:

    kubectl get authorizationpolicies.policy.linkerd.io -A
    
Development Workflow
  • Edit proto contracts in proto/, run buf lint
  • Implement business logic in cmd/ and internal/
  • Use kind and helm for local testing
  • Run unit tests: go test ./...
  • See docs/progress.md for current status and next steps

Roadmap

  • Integration testing and error handling
  • Helm chart, CI/CD, documentation
  • E2E tests and further enhancements

License

Apache 2.0

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.