Extend開発のためのMCPサーバー
注釈:本資料はAI技術を用いて翻訳されています。
Overview
Model Context Protocol(MCP)サーバーは、AIコーディングアシスタントが追加のコンテキストやツールにアクセスできるようにする標準化されたインターフェースであり、質問への回答やコード生成をより効果的にします。Extendアプリ開発においては、MCPサーバーがExtend SDKの関数、モデル、AGS APIに関する知識をAIアシスタントに提供することで、コード生成の精度と開発支援を大幅に向上させます。このガイドは、Extendアプリ開発ワークフローとDev Containersの詳細解説と併せて活用することで、環境、ツール、AI統合を同期させることができます。
このガイドでは、MCPサーバーとは何か、Extend開発内でどこで使用できるか、AccelByteが提供する利用可能なMCPサーバー、そしてそれらを開発ワークフローで設定・使用する方法について説明します。
MCPサーバーとは
MCPサーバーは、Model Context Protocolを通じてAIアシスタントにツール、リソース、コンテキストを公開する標準化されたサービスです。AIコーディングアシスタント(VS Code、Cursor、Claude Desktopなどに搭載されているもの)と、外部のデータソースやツールとの間の橋渡しとして機能します。
MCPサーバーの主な利点:
- 強化されたコンテキスト: APIやSDK、コードベースに関する構造化された情報をAIアシスタントに提供
- 正確なコード生成: ベストプラクティスに従い、正しいAPIを使用するコードをAIアシスタントが生成できるようにする
- ドキュメントへのアクセス向上: AIアシスタントが関連するドキュメントや例を検索・取得できるようにする
- ツール統合: AIアシスタントがアクションの実行や情報の取得に使用できるツールを公開
Extend開発において、MCPサーバーは、AIアシスタントがExtend SDKのパターンやAGS APIの構造を理解し、AccelByte Gaming Servicesと正しく統合するコードを生成できるよう支援します。
ExtendにおけるMCPサーバーの利用場所
MCPサーバーは、いくつかの方法でExtend開発ワークフローに統合できます。
1. AIによるコード生成
Extendアプリを開発する際、AIアシスタントはMCPサーバーを使用して以下のことができます。
- 正しい関数シグネチャとパターンでExtend SDKコードを生成する
- AGSサービスへの適切なAPI呼び出しを作成する
- Extendアプリの構造とベストプラクティスを理解する
- 一般的なExtendアプリのパターンに対するボイラープレートコードを生成する
2. 開発環境との統合
MCPサーバーは、以下のような開発環境で設定されます。
- Visual Studio Code:
.vscode/mcp.jsonまたはVS CodeのMCP設定を通じて設定 - Cursor:
.cursor/mcp.jsonまたはCursorの設定を通じて設定 - Claude Desktop: Claude Desktopの設定を通じて設定
- その他のMCP対応クライアント: Model Context Protocolをサポートする任意のクライアント
コンテナ化されたセットアップの詳細な手順については、Extend Dev Containersを使った開発を参照してください。
3. Extendアプリテンプレート
多くのExtendアプリテンプレートには、.vscode/mcp.jsonファイルに事前設定されたMCPサーバーの設定が含まれています。Extendアプリテンプレートをクローンすると、追加の設定なしでAIによる開発支援の利点をすぐに得られます。
Dev ContainersをサポートするExtendアプリテンプレートには、事前設定されたMCPサーバーの設定が含まれています。詳細については、Dev Containersガイドを参照してください。
共有される.vscode/mcp.jsonは、各テンプレートの.devcontainerフォルダと一緒に配置されています。この単一のソースは、コアワークフローガイドとDev Containersの記事の両方から参照されているため、ファイルは一箇所で更新し、他のドキュメントからはそこへリンクしてください。
4. ドキュメントと学習
MCPサーバーは、以下のような質問にAIアシスタントが答えるのを助けます。
- Extend SDKの関数とその使用方法
- AGS APIのエンドポイントと認証
- Extendアプリのアーキテクチャとパターン
- Extend開発のベストプラクティス
利用可能なMCPサーバー
AccelByteは、Extend開発向けに特別に設計された2つのMCPサーバーを提供しています。
AGS Extend SDK MCPサーバー
AGS Extend SDK MCPサーバーは、Extend SDKの関数とモデルをコンテキストとしてAIアシスタントに公開します。これにより、AIコーディングアシスタントが質問に答え、より効果的にExtend SDKコードを生成できるようになります。
リポジトリ: https://github.com/AccelByte/ags-extend-sdk-mcp-server
機能:
search-symbols– 名前、タグ、または説明(あいまい検索)によりシンボル(関数とモデル)を検索describe-symbols– 特定のシンボルのIDによる詳細情報の取得create-extend-app– Extendアプリプロジェクト作成用のプロンプトテンプレート
サポートされるExtend SDK言語:
- Go(
config/go) - Python(
config/python) - Java(
config/java) - C#(
config/csharp)
使用例:
- 正しい関数シグネチャでExtend SDKコードを生成する
- 利用可能なExtend SDKの関数とモデルを理解する
- 特定のSDKシンボルに関する詳細情報を取得する
- 適切な構造で新しいExtendアプリプロジェクトを作成する
AGS API MCPサーバー
AGS API MCPサーバーは、AccelByte Gaming Services APIの情報へのアクセスをAIアシスタントに提供し、正しいAPI呼び出しの生成とAGS APIの構造の理解を可能にします。
リポジトリ: https://github.com/AccelByte/ags-api-mcp-server
機能:
- 静的なクライアント認証情報を使用した簡素化されたOAuth 2.1フロー
- AccelByteのOAuthサーバーとの直接連携
- AccelByteのJSON Web Key Set(JWKS)を使用したトークン検証
- APIエンドポイントの検出とドキュメント化
使用例:
- AGSサービスへのAPI呼び出しを生成する
- AGS APIの認証と権限付与を理解する
- 利用可能なAGS APIエンドポイントを検出する
- APIリクエストとレスポンスを検証する
MCPサーバーでできること
MCPサーバーの最も価値のある側面は、Extend開発者向けに実現されるさまざまなワークフローです。以下は、各サーバーを最大限に活用するための一般的なシナリオとヒントです。
1. 機能プロトタイピングの高速化
- Extend SDK MCPサーバーにハンドラーの骨組みやリクエスト/レスポンスの構造を尋ねることで、IDEでコードを書く際のコンテキストの切り替えを減らせます。
- 複数のリポジトリを掘り下げなくても、関連するSDKシンボル(例: 異なるIAMユーザー操作)を比較できます。
- 複数のサービスを組み合わせる場合(例: matchmakingとCloudsave)、高レベルのスニペットを要求し、公開前にプロジェクト内で各呼び出しを検証してください。
2. コーディング前にAPIの動作を明確にする
- AGS API MCPサーバーを使用してOAuthフロー、トークンのスコープ、エンドポイントの制約を確認し、コードを編集する前に要件を再確認できます。
- レート制限やペイロードの想定に関する要約は有用な参考情報ですが、MCPの応答にリンクされている公式のAGS APIドキュメントで必ず検証してください。
- 特定の要件に対応するエンドポイントが存在するかを尋ねると、MCPの回答から確認すべき正しいドキュメントのセクションが分かります。
3. ドキュメントとRunbookの草案作成
- READMEの更新の元になる簡単なシンボルの説明、パラメータの注記、使用例を生成し、後でチームのスタイルに合わせて文言を整えます。
- 社内のRunbookでは、アシスタントに「リクエスト → SDK → AGS API」の流れを概説させ、環境固有の詳細を注記として追加できます。
- よく使われるヘルパーやミドルウェアへの参照を集めることで、オンボーディング用のチートシートを作成できます。共有前に必ず正確性を確認してください。
4. デバッグと回帰チェックの支援
- 特定のExtendハンドラーがどのようにAGSと通信するかのテキストマッピングを要求し、そのマップをログ検索や仮説立案の指針として使用します。
- MCPの要約と実際のログ/テストを組み合わせてフォローアップの手順を作成してください。要約を確定的な根本原因分析として扱わないよう注意してください。
5. 多言語実装の調整
- Extend SDK MCPサーバーには複数の言語設定が含まれているため、別の言語での同等のスニペットを要求してアプローチを比較できます。
- 「このGoの例をPythonに変換してください」といったプロンプトを出発点として使用し、生成されたコードをプロジェクトの規約やリンティングルールに合わせて調整します。
6. Dev ContainerとIDEのコンテキストを参照する
- すでに
.vscode/mcp.jsonが含まれているテンプレートでは、アシスタントが次に実行すべきMakeタスクやVS Codeコマンドをウィンドウを切り替えずに教えてくれます。 - 軽量な自動化スニペット(例:
tasks.jsonへの追加やCIスクリプト)を要求し、コミット前に構文を確認してください。
7. セキュリティ関連の更新を計画する
- OAuthクライアントのローテーションやマシン間通信フローの設定時に必要なスコープやクレームを確認するために、AGS API MCPサーバーを使用します。
- Extendのオーバーライドに関連するネームスペースやテナンシーの検証チェックリストを要求し、各項目を最新のSDKガイダンスと照らし合わせて確認してください。
高レベルなセットアップガイダンス
実現したいワークフローが決まったら、各リポジトリの詳細なセットアップ手順に従ってください。
- Extend SDK MCPサーバー: コンテナイメージ、設定ファイル、環境変数については、セットアップガイドとトランスポートオプションを参照してください。
- AGS API MCPサーバー: OAuthクライアントの要件、環境変数、デプロイ方法(Docker、pnpmなど)については、リポジトリのREADMEに従ってください。
最低限、次のものが必要です。
- MCP対応のIDEまたはクライアント(VS Code、Cursor、Claude Desktopなど)
- MCPサーバープロセスを起動するためのDockerまたは他のランタイム
- (API MCPサーバーの場合)必要なスコープを持つ有効なAGS OAuthクライアントの認証情報
MCPサーバーが起動したら、IDEの.vscode/mcp.jsonまたは.cursor/mcp.jsonをサーバーのエンドポイントに向けて設定してください。Extendアプリテンプレートには、コピーして使えるサンプル設定が既に含まれています。
開発でのMCPサーバーの使用
設定が完了すると、開発ワークフローでMCPサーバーを使用できます。
例: Extend SDKのシンボルを検索する
VS CodeまたはCursorで、AIアシスタントに次のように尋ねます。
Search for symbols related to 'user' in the Extend SDK
AIアシスタントはExtend SDK MCPサーバーのsearch-symbolsツールを使用して、関連する関数とモデルを見つけます。
例: シンボルの詳細を取得する
AIアシスタントに次のように尋ねます。
Describe the 'AdminCreateUser@iam' and 'User@iam' symbols
AIアシスタントはdescribe-symbolsツールを使用して、これらのシンボルに関する詳細情報を取得します。
例: Extend SDKコードを生成する
Extendアプリのコードを書くときは、AIアシスタントに次のように依頼します。
Generate code to create a user using the Extend SDK
AIアシスタントはMCPサーバーのコンテキストを使用して、正しい関数シグネチャとパターンでコードを生成します。
MCPサーバーを使ってコーディングする場合は、空のプロジェクトではなく、Extend SDKのスタートガイド用サンプルプロジェクトやExtendアプリテンプレートプロジェクトから始めてください。特定のソースコードファイルをコンテキストとして追加すると、より良い結果が得られます。
Extendアプリテンプレートにおける設定
多くのExtendアプリテンプレートには、事前設定されたMCPサーバーの設定が含まれています。例えば、extend-service-extension-goテンプレートには、MCPサーバーの設定を含む.vscode/mcp.jsonファイルが含まれています。
これらの事前設定を使用するには、以下の手順に従います。
- MCP設定を含むExtendアプリテンプレートをクローンする
- Dockerが実行されていることを確認する
- VS CodeまたはCursorでプロジェクトを開く
- MCPサーバーが自動的に利用可能になるはずです(IDEの設定で有効にする必要がある場合があります)
ExtendアプリテンプレートからのサンプルとなるMCP設定例:
{
"mcpServers": {
"extend-sdk-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CONFIG_DIR",
"ghcr.io/accelbyte/ags-extend-sdk-mcp-server:2025.8.0"
],
"env": {
"CONFIG_DIR": "config/go"
}
}
}
}
トラブルシューティング
MCPサーバーが利用できない
- Dockerが実行されていることを確認してください
- MCPサーバーのコンテナイメージが取得されていることを確認してください:
docker images | grep ags-extend-sdk-mcp-server - MCPサーバーがIDEの設定で有効になっていることを確認してください
- エラーがないかMCPサーバーのログを確認してください
コード生成が正しくない
- Extend SDKの言語に対して正しい
CONFIG_DIRを使用していることを確認してください - MCPサーバーのバージョンがAGSのバージョンと一致していることを確認してください
- 関連するソースファイルを含めることで、AIアシスタントにより多くのコンテキストを提供してください
- 空のプロジェクトではなく、Extendアプリテンプレートから始めてください
HTTPトランスポートでの接続の問題
- MCPサーバーのコンテナが実行されていることを確認してください:
docker ps | grep mcp-server - ポートが既に使用されていないことを確認してください
- ファイアウォールの設定がMCPサーバーのポートへの接続を許可していることを確認してください
- HTTPトランスポートを使用している場合は、
ALLOWED_ORIGINS環境変数を確認してください
AGS API MCPサーバーの認証エラー
AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRETが正しいことを確認してください- OAuthクライアントのタイプが「confidential」であることを確認してください
- OAuthクライアントがAGS Admin Portalで必要な権限を持っていることを確認してください
- AGS環境にアクセスできることを確認してください
ベストプラクティス
-
バージョンを一致させる: 互換性を確保するために、常にAGSのバージョンと一致するMCPサーバーのイメージタグを使用してください。
-
テンプレートから始める: ゼロから設定するのではなく、MCP設定を含むExtendアプリテンプレートから始めてください。
-
コンテキストを提供する: AIアシスタントにコード生成を依頼する際は、より良い結果を得るために関連するソースファイルをコンテキストとして含めてください。
-
定期的な更新: MCPサーバーのイメージをAGSのバージョンに合わせて更新し、最新の機能を利用してください。
次のステップ
MCPサーバーを設定した後は、以下を確認してください。
-
AI支援を用いたExtendアプリ開発を探る:
-
他の開発ツールについて学ぶ:
-
更新や例についてMCPサーバーのリポジトリを確認する:
MCPサーバーを設定することで、AIによる開発支援を活用してExtendアプリの開発を加速し、コードの品質と正確性を確保できます。