HTTP、SSA 認証、および APS Viewer 統合を持つ JavaScript MCP サーバー サンプルに APS を使ったカスタム MCP サーバーの構築 の記事でも触れられている aps-mcp-app-example があります。
ここでは、APS の開発環境 でご案内している git for Windows、Node.js と VS Code をインストールした Windows PC の使用を前提に、同サンプルをローカル環境にクローンして実行する手順をご紹介したいと思います。
- SSA Manager によるアクセストークンの取得 の手順で Secure Service Account(SSA)のロボットアカウントを作成して秘密鍵(Private Key)となる .pem ファイルをダウンロードします。
- Windows エクスプローラーで任意の場所に aps-mcp-app-example の名前(任意)でフォルダーを作成して。1. でダウンロードした.pem ファイルをコピーしておきます。
- エクスプローラー上で aps-mcp-app-example を開き、右クリック メニューから [Code で開く] を選択して同フォルダーを VS Code で開きます。

- Web ブラウザで https://github.com/autodesk-platform-services/aps-mcp-app-example を開いて、リポジトリ URL https://github.com/autodesk-platform-services/aps-mcp-app-example.git をクリップボードにコピーします。

- VS Code の [ターミナル] に git clone https://github.com/autodesk-platform-services/aps-mcp-app-example.git を入力してリポジトリの内容をクローンします。

- aps-mcp-app-example のサブフォルダーがクローンされているので、[ターミナル] に cd aps-mcp-app-example と入力して、現在のフォルダを aps-mcp-app-example サブフォルダーに変更します。

- 続いて、[ターミナル] に npm install と入力して Node.js パッケージをインストールします。

- aps-mcp-app-example サブフォルダー直下にクレデンシャル情報を保存する .env ファイルを作成します。VS Code 右手の [エクスプローラー] に表示されている同サブフォルダー上で右クリッして、[新しいファイル…] を選択、ファイル名に .env を入力してください。

- .env ファイルの中に、次の内容でクレデンシャル情報を記入します。
APS_CLIENT_ID="<<SSA 作成で使用した Client ID の文字列>>"APS_CLIENT_SECRET="<<SSA 作成で使用した Client ID の文字列>>"SSA_ID="<<SSA の serviceAccountId(SSA ID)>>"SSA_KEY_ID="<<SSA の kid(Key ID)"SSA_KEY_BASE64="<<SSA の .pem ファイルの内容を Base64 エンコードした文字列>>"
- SSA_KEY_BASE64 に記入する内容は、.pem ファイルの —–BEGIN RSA PRIVATE KEY—– から —–END RSA PRIVATE KEY—– の内容を https://www.base64encode.org/ サイトなどで Basr64 エンコードそた値です。—–BEGIN RSA PRIVATE KEY—– と—–END RSA PRIVATE KEY—– の文字列も含む点にご注意ください。

- [ターミナル] に npm run build と入力して、package.json にある build 値の内容、すなわち、Vite でフロントエンドをビルドします。

- [ターミナル] に npm start と入力して、Node サーバーを起動します。
VS Code での MCP 接続 の手順で VS Code に aps-mcp-app-example MCP サーバーが接続されていて、SSA のロボットアカウントが Forma Data Management、または、Fusion Web クライアントにプロジェクト メンバーとして登録されていれば、自然言語でプロジェクト内を調べたり、Viewer 表示出来たりするはずです。

↓


You must be logged in to post a comment.