コンテンツにスキップ
Docs Try Aspire
Docs Try

リソース MCP サーバー

Aspire リソースは、独自の MCP (Model Context Protocol) サーバーを公開でき、AI コーディング エージェントがデータベース、API、その他のサービスと直接対話できるようにします。例えば、PostgreSQL リソースは SQL クエリ ツールを公開でき、エージェントが会話を終了することなくクエリを実行できます。

AppHost で WithMcpServer() で注釈が付けられたリソースの場合、Aspire は MCP エンドポイントを検出し、そのツールを 2 つの方法で利用可能にします。

  • Aspire MCP サーバーを通じて — リソース ツールが、組み込みの Aspire MCP サーバー ツールと共に自動的にプロキシされます。AI エージェントは追加の構成なしでツール リストにそれらを表示します。
  • CLI を通じてaspire mcp toolsaspire mcp call を使用してリソース ツールをターミナルから直接検出して呼び出します。

リソースに MCP サーバーを追加する

Section titled “リソースに MCP サーバーを追加する”

WithMcpServer() 拡張メソッドを使用して、リソースが MCP サーバーをホストしていることを宣言します。

AppHost.cs
#pragma warning disable ASPIREMCP001
var builder = DistributedApplication.CreateBuilder(args);
var db = builder.AddPostgres("db")
.AddDatabase("appdata");
// PostgreSQL MCP ツール (SQL クエリ、スキーマ検査など) を公開します
db.WithPostgresMcp();
builder.Build().Run();

aspire mcp tools を使用して、実行中のリソースによって公開されているすべての MCP ツールをリスト表示します。

Aspire CLI
aspire mcp tools

入力スキーマを含むマシン読み取り可能な出力の場合:

Aspire CLI — JSON 出力
aspire mcp tools --format Json

aspire mcp call を使用して、リソース上の特定のツールを呼び出します。

Aspire CLI
aspire mcp call <resource> <tool> --input '{"key": "value"}'

例えば、PostgreSQL リソースで SQL クエリを実行するには:

Aspire CLI — クエリの例
aspire mcp call appdata query --input '{"sql": "SELECT * FROM users LIMIT 5"}'

カスタム MCP サーバー リソース

Section titled “カスタム MCP サーバー リソース”

MCP プロトコルを実装するコンテナーを MCP 対応リソースとして追加できます。WithMcpServer() を使用して、Aspire に MCP エンドポイントの場所を指示します。

AppHost.cs
#pragma warning disable ASPIREMCP001
var builder = DistributedApplication.CreateBuilder(args);
// カスタム MCP サーバー コンテナーを追加します
var myMcpServer = builder.AddContainer("my-mcp", "myregistry/my-mcp-server")
.WithHttpEndpoint(targetPort: 8080)
.WithMcpServer("/mcp");
builder.Build().Run();

WithMcpServer() メソッドはオプションのパスとエンドポイント名を受け入れます。

  • WithMcpServer() — ルート パスでデフォルトの HTTP エンドポイントを使用します
  • WithMcpServer("/mcp")/mcp でデフォルトの HTTP エンドポイントを使用します
  • WithMcpServer("/sse", endpointName: "https")/sse で名前付きエンドポイントを使用します