mcpField
L
Linkerd2 MCP

Linkerd2 MCP

ローカル
github.com/eli-nomasecクラウド・インフラ272 週間前に更新

Linkerd2 MCP について

Linkerd2 MCPは、開発中のLinkerdサービスメッシュ向けサーバーです。Linkerd環境を管理する運用担当者向けに、集約メッシュデータの取得と認可ポリシーの更新を提供します。

主な機能

  1. 01集約されたメッシュデータの取得
  2. 02メッシュグラフの取得
  3. 03認可ポリシーの更新
  4. 04gRPC API

活用シーン

  1. 01Linkerdメッシュ状態の確認
  2. 02集約メッシュグラフの取得
  3. 03認可ポリシー変更の適用

MCP 対応

Linkerd2 MCPは、メッシュの調査とポリシー変更を行うgRPC MCP APIを提供します。LinkerdとLinkerd-vizを基盤としています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Linkerd2 MCP

⚠️ このプロジェクトは現在開発中(WIP)で、活発に開発が進められています。機能や API はいつでも変更される可能性があります。

ℹ️ このプロジェクトの大部分は、AI エージェントの支援を受けて構築されました。

このプロジェクトは、Linkerd2 サービスメッシュと「対話」できるようにする MCP サーバーの公開を目指しています。Linkerd と Linkerd-viz の上に構築することで、メッシュの高レベルな集約データを取得する API と、認可ポリシーの更新の適用など、メッシュに直接変更を加える API を提供します。

Linkerd を利用したサービスメッシュ向けの、軽量でフォールトトレラントなコントロールプレーンです。メッシュのインスペクションと安全なポリシー変更を行うための gRPC MCP API を公開します。

プロジェクト構成

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

はじめに

前提条件
  • Go 1.22+
  • Docker または Podman
  • kubectl 1.30+
  • kind(ローカル k8s 用)
  • Linkerd CLI 2.15+
  • Prometheus(Linkerd viz に含まれています)
  • Buf CLI 1.29+
  • Helm 3.14+
ビルド
go build -o bin/collector ./cmd/collector
go build -o bin/mcp-server ./cmd/mcp-server
エンドツーエンドの実行(ローカル kind クラスター)
  1. kind クラスターを起動し、Linkerd と Prometheus をインストールします:

    kind create cluster --name mcp-dev
    linkerd install | kubectl apply -f -
    linkerd viz install | kubectl apply -f -
    linkerd check
    
  2. Redis(Valkey)と MCP スタックをデプロイします(チャートについては helm/ を参照):

    helm install mcp ./helm --namespace mcp --create-namespace --set redis.enabled=true
    
  3. MCP サーバーをポートフォワードし、gRPC API をテストします:

    kubectl -n mcp port-forward svc/mcp 10900:10900
    grpcurl -plaintext localhost:10900 mcp.v1.MeshContext/GetMeshGraph
    
  4. gRPC 経由でポリシー変更を適用します:

    grpcurl -plaintext -d '{"namespace":"default","name":"allow-foo","json_spec":"{\"foo\": \"bar\"}"}' localhost:10900 mcp.v1.MeshContext/ApplyAuthorizationPolicy
    
  5. クラスター内の AuthorizationPolicy CR を確認します:

    kubectl get authorizationpolicies.policy.linkerd.io -A
    
開発ワークフロー
  • proto/ の proto コントラクトを編集し、buf lint を実行します
  • ビジネスロジックを cmd/ と internal/ に実装します
  • ローカルテストには kind と helm を使用します
  • 単体テストを実行します:go test ./...
  • 現在のステータスと次のステップについては、docs/progress.md を参照してください

ロードマップ

  • 統合テストとエラー処理
  • Helm チャート、CI/CD、ドキュメント
  • E2E テストとさらなる機能強化

ライセンス

Apache 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。