aps-aecdm-mcp-dotnet について
aps-aecdm-mcp-dotnet は、Claude Desktop と AEC Data Model API、Viewer を接続する .NET 製の MCP サーバーのサンプルです。Autodesk Platform Accelerators での課題から始まった実験的なプロジェクトで、MIT ライセンスで公開されています。
主な機能
- 01ModelContextProtocol .NET SDK を使用した実装
- 02GetToken による PKCE トークンの取得
- 03hub、プロジェクト、エレメントグループの取得
- 04カテゴリフィルターによる要素の取得
- 05Viewer でのモデルのレンダリングと要素のハイライト
活用シーン
- 01自然言語による AEC 設計データのエレメントグループ照会
- 02Claude Desktop からの hub とプロジェクトの閲覧
- 03Viewer での設計のレンダリングと指定要素のハイライト
MCP 対応
Claude Desktop の設定ファイルに登録する MCP サーバーで、GetToken、GetHubs、RenderModel など 7 つのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
aps-aecdm-mcp-dotnet
Claude Desktop、AEC Data Model API、Viewer に接続する .NET MCP サーバーです。
はじめに
このサンプルは、Autodesk Platform Accelerators のプログラムのひとつで課題として提示された、新しい Model Context Protocol を使った実験として始まりました。この課題を提示し、このリポジトリで紹介するソリューションの実現に貢献してくださった Mirco Bianchini に、特別な感謝を申し上げます。
前提条件
このサンプルを動作させるには、次の作業が必要です。
- Claude Desktop をダウンロードしてインストールする
- このリポジトリをクローンまたはダウンロードする
- このプロジェクトをビルドする
- Claude の設定ファイル(開発者向けリソース)に .csproj への参照を追加する
デモ動画はこちら
仕組み
このサンプルでは、ModelContextProtocol .NET SDK を使用して MCP サーバーを作成します。
このサンプルでは、サーバーに次の 7 つの主要なツールを追加しました。
- GetToken:APS API リクエストで使用する PKCE トークンを取得します。
- GetHubs:AEC Data Model API を使用してハブを取得します。
- GetProjects:AEC Data Model API を使用してプロジェクトを取得します。
- GetElementGroupsByProject:AEC Data Model API を使用して ElementGroup を取得します。
- GetElementsByElementGroupWithCategoryFilter:カテゴリフィルターを使用して、1 つの ElementGroup から要素を取得します。
- RenderModel:Viewer を使用して設計をレンダリングします。
- HighLightElements:Viewer で要素をハイライト表示します。
これらのツールを使用すると、AEC Data Model API を通じて、自然言語で ElementGroup のデータをクエリできます。
これは、この新しいプロトコルを使った最初の実験です。機能を改善できるよう、ぜひ提案をお寄せいただき、このリポジトリへの協力をお願いします。
セットアップ
ローカルでの実行
このプロジェクトをクローンまたはダウンロードしてください。GitHub desktop のインストールをおすすめします。コマンドラインでクローンするには、次のコマンドを使用してください(MacOSX/Linux では Terminal、Windows では Git Shell を使用します)。
git clone https://github.com/joaomartins-callmejohn/aps-aecdm-mcp-dotnet
Visual Studio(Windows):
client_id を独自のキー(シングルページアプリケーション)に置き換えてください。 'Properties/lauchSettings.json' ファイルを直接編集するか、Visual Studio UI のデバッグプロパティから設定できます。
claude_desktop_congif.json ファイルに MCP サーバーへの参照を追加する必要があります。
{
"mcpServers": {
"aecdm": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:\\Users\\...mcp-server-aecdm.csproj",
"--no-build"
]
}
}
}
さらに読む
トラブルシューティング
-
ハブが見つからない場合:Forma for Construction のハブで APS アプリをプロビジョニングする
-
コードを変更して、その内容を Claude に反映したい場合は、ソリューションを再ビルドする前に CLaude のタスクを終了する必要があります。
ライセンス
このサンプルは、MIT License の条件に基づいてライセンスされています。詳しくは、LICENSE ファイルをご覧ください。
執筆者
João Martins in/jpornelas
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。