mcpField
A
aspire

aspire

github.com/githubクラウド・DevOps40.5k9.0k 回インストール今日更新
リポジトリ

aspire について

Aspire は、複数のプログラミング言語で構築されたオブザーバブルな分散アプリケーションをオーケストレーションする、コード中心のツールチェーンです。単一の AppHost でサービスを開発・実行するチーム向けに、サービスディスカバリー、ダッシュボード、デプロイマニフェスト生成を提供します。

主な機能

  1. 01単一の AppHost によるオーケストレーション
  2. 02複数言語のワークロードに対応
  3. 03サービスディスカバリーと依存関係の順序制御
  4. 04ログ・トレース・メトリクス用ダッシュボード
  5. 05デプロイマニフェストの生成

活用シーン

  1. 01複数サービスアプリのローカル実行
  2. 02依存関係とヘルスチェックの設定
  3. 03デプロイマニフェストの生成
  4. 04統合テストでの AppHost 検証

MCP 対応

Aspire は AI アシスタント向けの MCP サーバーを提供します。CLI のバージョンに応じて、統合の検索やドキュメント検索のツールを公開し、実行中のアプリケーションを照会できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/github/awesome-copilot --skill aspire

インストール後、Claude Code で/aspireを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture.md
cli-reference.md
dashboard.md
deployment.md
integrations-catalog.md
mcp-server.md
polyglot-apis.md
testing.md
troubleshooting.md

詳細

Aspire — ポリグロットな分散アプリケーションオーケストレーション

Aspire は、可観測で本番環境に対応した分散アプリケーションを構築するための コードファーストでポリグロットなツールチェーン です。ワークロードが C#、Python、JavaScript/TypeScript、Go、Java、Rust、Bun、Deno、PowerShell のいずれであっても、単一の AppHost プロジェクトからコンテナ、実行可能ファイル、クラウドリソースをオーケストレーションします。

メンタルモデル: AppHost は 指揮者 です。楽器を演奏するのではなく、各サービスにいつ起動するか、お互いをどう見つけるかを指示し、問題を監視します。

詳細なリファレンス資料は references/ フォルダーにあります — 必要に応じて読み込んでください。


リファレンス

リファレンス読み込むタイミング
CLI リファレンスコマンドのフラグ、オプション、詳細な使用法
MCP サーバーAI アシスタント向けの MCP のセットアップ、利用可能なツール
統合カタログMCP ツールによる統合の発見、接続パターン
ポリグロット APIメソッドシグネチャ、チェーンのオプション、言語固有のパターン
アーキテクチャDCP の内部、リソースモデル、サービスディスカバリ、ネットワーク、テレメトリ
ダッシュボードダッシュボードの機能、スタンドアロンモード、GenAI Visualizer
デプロイDocker、Kubernetes、Azure Container Apps、App Service
テストAppHost に対する統合テスト
トラブルシューティング診断コード、よくあるエラー、修正方法

1. Aspire ドキュメントの調査

Aspire チームは、AI アシスタント内で直接ドキュメントツールを提供する MCP サーバー を公開しています。セットアップの詳細については MCP サーバー を参照してください。

Aspire CLI 13.2 以降(推奨 — 組み込みのドキュメント検索あり)

Aspire CLI 13.2 以降(aspire --version)を実行している場合、MCP サーバーにはドキュメント検索ツールが含まれています:

ツール説明
list_docsaspire.dev から利用可能なすべてのドキュメントを一覧表示します
search_docsインデックス化されたドキュメント全体に対して重み付けされた字句検索を実行します
get_docスラッグで特定のドキュメントを取得します

これらのツールは PR #14028 で追加されました。更新するには: aspire update --self --channel daily。

このアプローチの詳細については、David Pine の投稿を参照してください: https://davidpine.dev/posts/aspire-docs-mcp-tools/

Aspire CLI 13.1(統合ツールのみ)

13.1 では、MCP サーバーは統合の検索を提供しますが、ドキュメント検索は提供し ません:

ツール説明
list_integrations利用可能な Aspire ホスティング統合を一覧表示します
get_integration_docs特定の統合パッケージのドキュメントを取得します

13.1 で一般的なドキュメントのクエリを行うには、Context7 を主要な情報源として使用してください(以下を参照)。

フォールバック: Context7

Aspire MCP ドキュメントツールが利用できない場合(13.1)や、MCP サーバーが実行されていない場合は、Context7(mcp_context7)を使用してください:

ステップ 1 — ライブラリ ID を解決する(セッションごとに 1 回):

libraryName: ".NET Aspire" を指定して mcp_context7_resolve-library-id を呼び出します。

順位ライブラリ ID使用するタイミング
1/microsoft/aspire.dev主要な情報源。ガイド、統合、CLI リファレンス、デプロイ。
2/dotnet/aspireAPI の内部、ソースレベルの実装詳細。
3/communitytoolkit/aspireマイクロソフト以外のポリグロット統合(Go、Java、Node.js、Ollama)。

ステップ 2 — ドキュメントをクエリする:

libraryId: "/microsoft/aspire.dev", query: "Python integration AddPythonApp service discovery"
libraryId: "/communitytoolkit/aspire", query: "Golang Java Node.js community integrations"
フォールバック: GitHub 検索(Context7 も利用できない場合)

GitHub 上の公式ドキュメントリポジトリを検索します:

  • ドキュメントリポジトリ: microsoft/aspire.dev — パス: src/frontend/src/content/docs/
  • ソースリポジトリ: dotnet/aspire
  • サンプルリポジトリ: dotnet/aspire-samples
  • コミュニティ統合: CommunityToolkit/Aspire

2. 前提条件とインストール

要件詳細
.NET SDK10.0+(.NET 以外のワークロードでも必須 — AppHost は .NET です)
コンテナランタイムDocker Desktop、Podman、または Rancher Desktop
IDE(任意)VS Code + C# Dev Kit、Visual Studio 2022、JetBrains Rider
# Linux / macOS
curl -sSL https://aspire.dev/install.sh | bash

# Windows PowerShell
irm https://aspire.dev/install.ps1 | iex

# Verify
aspire --version

# Install templates
dotnet new install Aspire.ProjectTemplates

3. プロジェクトテンプレート

テンプレートコマンド説明
aspire-starteraspire new aspire-starterASP.NET Core/Blazor スターター + AppHost + テスト
aspire-ts-cs-starteraspire new aspire-ts-cs-starterASP.NET Core/React スターター + AppHost
aspire-py-starteraspire new aspire-py-starterFastAPI/React スターター + AppHost
aspire-apphost-singlefileaspire new aspire-apphost-singlefile空の単一ファイル AppHost

4. AppHost クイックスタート(ポリグロット)

AppHost はすべてのサービスをオーケストレーションします。.NET 以外のワークロードはコンテナまたは実行ファイルとして動作します。

var builder = DistributedApplication.CreateBuilder(args);

// Infrastructure
var redis = builder.AddRedis("cache");
var postgres = builder.AddPostgres("pg").AddDatabase("catalog");

// .NET API
var api = builder.AddProject<Projects.CatalogApi>("api")
    .WithReference(postgres).WithReference(redis);

// Python ML service
var ml = builder.AddPythonApp("ml-service", "../ml-service", "main.py")
    .WithHttpEndpoint(targetPort: 8000).WithReference(redis);

// React frontend (Vite)
var web = builder.AddViteApp("web", "../frontend")
    .WithHttpEndpoint(targetPort: 5173).WithReference(api);

// Go worker
var worker = builder.AddGolangApp("worker", "../go-worker")
    .WithReference(redis);

builder.Build().Run();

完全な API シグネチャについては、Polyglot APIs を参照してください。


5. 中核となる概念(概要)

概念ポイント
Run と Publishaspire run = ローカル開発(DCP エンジン)。aspire publish = デプロイマニフェストを生成。
サービスディスカバリ環境変数による自動設定: ConnectionStrings__<name>、services__<name>__http__0
リソースのライフサイクルDAG による順序付け — 依存関係が先に起動します。.WaitFor() はヘルスチェックを条件にします。
リソースの種類ProjectResource、ContainerResource、ExecutableResource、ParameterResource
統合13 カテゴリにわたる 144 以上。ホスティングパッケージ(AppHost)+ クライアントパッケージ(サービス)。
ダッシュボードリアルタイムのログ、トレース、メトリクス、GenAI ビジュアライザー。aspire run で自動的に起動します。
MCP サーバーAI アシスタントが CLI(STDIO)経由で実行中のアプリにクエリを実行し、ドキュメントを検索できます。
テストAspire.Hosting.Testing — xUnit/MSTest/NUnit で完全な AppHost を起動します。
デプロイDocker、Kubernetes、Azure Container Apps、Azure App Service。

6. CLI クイックリファレンス

Aspire CLI 13.1 で有効なコマンド:

コマンド説明ステータス
aspire new <template>テンプレートから作成Stable
aspire init既存プロジェクトで初期化Stable
aspire runすべてのリソースをローカルで起動Stable
aspire add <integration>統合を追加Stable
aspire publishデプロイマニフェストを生成Preview
aspire config構成設定を管理Stable
aspire cacheディスクキャッシュを管理Stable
aspire deploy定義済みのターゲットにデプロイPreview
aspire do <step>パイプラインのステップを実行Preview
aspire update統合を更新(CLI 本体は --self)Preview
aspire mcp initAI アシスタント向けに MCP を構成Stable
aspire mcp startMCP サーバーを起動Stable

フラグを含む完全なコマンドリファレンス: CLI Reference。


7. 一般的なパターン

新しいサービスを追加する
  1. サービスのディレクトリを作成します(言語は問いません)
  2. AppHost に追加します: Add*App() または AddProject<T>()
  3. 依存関係を接続します: .WithReference()
  4. 必要に応じてヘルスチェックを条件にします: .WaitFor()
  5. 実行します: aspire run
Docker Compose からの移行
  1. aspire new aspire-apphost-singlefile(空の AppHost)
  2. 各 docker-compose サービスを Aspire リソースに置き換えます
  3. depends_on → .WithReference() + .WaitFor()
  4. ports → .WithHttpEndpoint()
  5. environment → .WithEnvironment() または .WithReference()

8. Key URLs

ResourceURL
Documentationhttps://aspire.dev
Runtime repohttps://github.com/dotnet/aspire
Docs repohttps://github.com/microsoft/aspire.dev
Sampleshttps://github.com/dotnet/aspire-samples
Community Toolkithttps://github.com/CommunityToolkit/Aspire
Dashboard imagemcr.microsoft.com/dotnet/aspire-dashboard
Discordhttps://aka.ms/aspire/discord
Reddithttps://www.reddit.com/r/aspiredotdev/

コメント