mcpField
D
Dapr MCP Server

Dapr MCP Server

ローカル
docs.dapr.ioクラウド・インフラ22 週間前に更新

Dapr MCP Server について

dapr-mcp-serverは、Daprの構成要素をAIエージェント向けのツールとして提供するGo製MCPサーバーです。Daprサイドカーを使う環境向けで、利用可能なコンポーネントに応じてツールを動的に登録し、stdioとストリーミングHTTPに対応します。

主な機能

  1. 01DaprのステートとPub/Subのツール
  2. 02サービス呼び出しとアクター操作
  3. 03シークレット、バインディング、ロック、暗号化
  4. 04稼働中のコンポーネントに応じた動的登録
  5. 05OpenTelemetryのトレースとメトリクス

活用シーン

  1. 01AIエージェントによるDaprステートの読み書き
  2. 02設定済みPub/Subコンポーネントを介したイベント配信
  3. 03サービスや仮想アクターの呼び出し
  4. 04ローカルまたはリモートのMCPクライアントへのDapr機能提供

MCP 対応

サイドカーを介してDaprの構成要素をMCPツールとして公開します。stdioとストリーミングHTTPに対応し、OIDC、SPIFFE、Dapr Sentryによるリクエスト制御も選択できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dapr-dapr": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DAPR_GRPC_PORT",
"-e",
"DAPR_API_TOKEN",
"-e",
"DAPR_MCP_SERVER_LOG_LEVEL",
"ghcr.io/dapr/dapr-mcp-server:v0.0.3"
],
"env": {
"DAPR_GRPC_PORT": "<DAPR_GRPC_PORT>",
"DAPR_API_TOKEN": "<DAPR_API_TOKEN>",
"DAPR_MCP_SERVER_LOG_LEVEL": "<DAPR_MCP_SERVER_LOG_LEVEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e DAPR_GRPC_PORT -e DAPR_API_TOKEN -e DAPR_MCP_SERVER_LOG_LEVEL ghcr.io/dapr/dapr-mcp-server:v0.0.3
設定が必要な環境変数
DAPR_GRPC_PORTgRPC port of the Dapr sidecar
DAPR_API_TOKENシークレットDapr API token, if the sidecar requires one
DAPR_MCP_SERVER_LOG_LEVELLog level, written as JSON to stderr

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/dapr/dapr-mcp-server:v0.0.3

ツール

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

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

詳細

dapr-mcp-server

Dapr の構成要素を AI エージェント向けのツールとして公開する、Model Context Protocol(MCP)サーバーです。


概要

dapr-mcp-server は、Dapr サイドカーの前段に配置され、Dapr の各構成要素(ステート、Pub/Sub、シークレット、サービス呼び出し、アクター、バインディング、分散ロック、暗号化、会話コンポーネント)に対応する厳選されたツールを AI エージェントに提供する Go 製 MCP サーバーです。ツールは、稼働中のコンポーネントのセットに応じて動的に登録されます。デプロイ環境に Pub/Sub ブローカーがなければ、Pub/Sub ツールは公開されません。

トランスポートは、ローカル IDE 連携用のstdio(Claude Desktop、Cursor、VS Code、Claude Code)と、リモートまたは共有環境用のストリーマブル HTTPをサポートしています。すべてのツール呼び出しに OpenTelemetry のスパンとメトリクスが付与され、任意でログをエクスポートできます。リクエストは、OIDC、SPIFFE、Dapr Sentry、またはこれらを組み合わせた方式で制御できます。

詳細なドキュメントは docs.dapr.io / developing-ai / mcp をご覧ください。

クイックスタート

dapr run を使って、Dapr サイドカーの隣でバイナリを実行します(インストールから入手できます)。

dapr init

# stdio, for local MCP clients that launch the server themselves
dapr run --app-id dapr-mcp-server --resources-path resources -- dapr-mcp-server

# streamable HTTP, for remote clients
dapr run --app-id dapr-mcp-server --resources-path resources -- dapr-mcp-server --http :8080

--http を指定すると、任意の MCP クライアントを http://localhost:8080/ に接続できます。コンテナーイメージは Kubernetes 向けです。Dapr サイドカーインジェクターが、dapr.io/enabled: "true" および dapr.io/app-id の Pod アノテーションを通じてサイドカーを追加します(コンポーネント、認証、OTEL、検証を含む一連の手順については、スタートガイドをご覧ください)。

インストール

方法コマンド
コンテナーdocker pull ghcr.io/dapr/dapr-mcp-server:latest
バイナリReleases からダウンロードし、PATH に配置します
ソースから(Go 1.26.6 以降)go install github.com/dapr/dapr-mcp-server/cmd/dapr-mcp-server@latest

このサーバーは、公式の MCP Registry に io.github.dapr/dapr-mcp-server として登録されているため、レジストリを参照する MCP クライアントからコンテナーとしてインストールできます。

設定

環境変数の一覧は、設定ガイドをご覧ください。

フラグデフォルト用途
--http <addr>未設定(stdio)stdin/stdout の代わりに、このアドレスでストリーマブル HTTP を提供します。ヘルスプローブは /livez、/readyz、/startupz で提供されます。
--health-checkfalse実行中のサーバーの /livez をプローブし、200 が返る場合は 0、それ以外は 1 で終了します。コンテナーの HEALTHCHECK で使用されます。
--health-check-addr <host:port>--http の値、未設定の場合は localhost:8080--health-check がプローブするアドレスです。0.0.0.0 などのワイルドカードホストは localhost としてプローブされます。
--versionfalseバージョンを表示して終了します。

ログは JSON 形式で stderr に出力されるため、stdout の stdio トランスポートに混ざることはありません。Dapr サイドカーに到達できない間、/readyz は 503 を返します。

HTTP トランスポート固有の設定:

環境変数デフォルト用途
DAPR_MCP_CORS_ORIGIN未設定(CORS ヘッダーなし)ブラウザーからサーバーへの呼び出しを許可するオリジンです。例:https://app.example.com。別のオリジンにあるブラウザーベースの MCP クライアントからアクセスする必要がある場合にのみ設定してください。

ドキュメント

ページ目的
概要サーバーの概要、アーキテクチャ、機能、使用するタイミング
はじめにインストール、コンポーネントの設定、実行、動作確認
ツールリファレンス各ツールのスキーマ、入力、出力、安全性フラグ
設定環境変数、フラグ、トランスポート設定
認証OIDC、SPIFFE、Dapr Sentry、ハイブリッドモード
オブザーバビリティトレース、メトリクス、ログ

このリポジトリに貢献するAIコーディングエージェントは、AGENTS.md を参照してください。人間の貢献者は、CONTRIBUTING.md を参照してください。

ツールの概要

すべてのツールと、ツールリファレンス内の各項目へのリンクです。コアツールは常に登録されます。条件付きツールは、対応する Dapr コンポーネントが存在する場合にのみ登録されます。サーバーは Dapr のホットリロードに対応するコンポーネントを監視します。クライアントがツールの一覧を取得するか get_components を呼び出すたびに、サイドカーを確認し、ビルディングブロックの最初のコンポーネントが現れたときにそのツールを追加し、最後のコンポーネントがなくなったときに削除して、接続中のクライアントにツール一覧が変更されたことを通知します。

カテゴリツール登録条件備考
メタデータget_componentsコア必ず最初に呼び出してください
呼び出しinvoke_serviceコアサービス間の HTTP 呼び出し
アクターinvoke_actor_methodコア仮想アクターのメソッド呼び出し
状態save_statestate.*冪等な保存
状態get_statestate.*読み取り専用
状態delete_statestate.*破壊的操作、冪等
状態execute_transactionstate.*アトミックな一括処理
Pub/Subpublish_eventpubsub.*冪等ではありません
Pub/Subpublish_event_with_metadatapubsub.*ヘッダー/TTLを追加
バインディングinvoke_output_bindingbindings.*外部システムとの入出力
シークレットget_secretsecretstores.*単一のシークレット
シークレットget_bulk_secretssecretstores.*高リスク。一括取得
会話converse_with_llmconversation.*下流の LLM に処理を委譲
暗号encrypt_datacrypto.*RSA 暗号化
暗号decrypt_datacrypto.*RSA 復号
ロックacquire_locklock.*分散ミューテックス
ロックrelease_locklock.*acquire_lock と組み合わせて使用

開発

go build -o dapr-mcp-server ./cmd/dapr-mcp-server
go test -race ./...
golangci-lint run ./...

貢献者/AI エージェント向けのガイド(ビルドコマンド、ツール追加の手順、テスト方針、DCO の手順)は、AGENTS.md を参照してください。

コントリビューション

コントリビューションを歓迎します。イシューテンプレートからイシューを作成し、DCOに従ってコミットに署名し、プルリクエストテンプレートに従ってください。ワークフロー全体については、CONTRIBUTING.mdをご覧ください。

セキュリティ上の問題については、公開イシューを作成しないでください。代わりに、Dapr のセキュリティ報告プロセスに従ってください。

ライセンス

Apache 2.0 — LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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