Extend開発のためのMCPサーバー
注釈:本資料はAI技術を用いて翻訳されています。
概要
Model Context Protocol(MCP)サーバーは、AIコーディングアシスタントが追加のコンテキストとツールにアクセスできるようにする標準化されたインターフェースであり、質問への回答やコード生成をより効果的に行えるようにします。Extendアプリ開発の文脈では、MCPサーバーはAIアシスタントにExtend SDK関数、モデル、AGS APIに関する知識を提供し、コード生成の精度と開発支援を大幅に向上させます。このガイドを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の記事の両方から参照されるため、1か所でファイルを更新し、他のドキュメントからリンクします。
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ユーザー操作)を複数のリポジトリを調べることなく比較します。
- サービスを組み合わせる場合(例:マッチメイキングとCloudsave)、高レベルのスニペットをリクエストし、出荷前にプロジェクト内で各呼び出しを検証します。
2. コーディング前にAPI動作を明確化
- AGS API MCPサーバーを使用して、OAuthフロー、トークンスコープ、またはエンドポイントの制約を思い出し、コードを編集する前に要件を再確認できます。
- レート制限やペイロードの期待値の要約は便利なリマインダーですが、MCPレスポンスにリンクされている公式AGS APIドキュメントに対して検証してください。
- 特定のニーズに対してエンドポイントが存在するかどうかを尋ねます。MCPの回答は、確認するための適切なドキュメントセクションを示すことができます。
3. ドキュメントとランブックの下書き作成
- 簡単なシンボルの説明、パラメータのメモ、または使用例を生成してREADMEの更新を開始し、その後チームのスタイルに合わせて言語を洗練させます。
- 内部ランブックの場合、アシスタントに「リクエスト → 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. セキュリティ関連の更新の計画
- AGS API MCPサーバーを使用して、OAuthクライアントをローテーションしたり、マシン間フローを設定したりする際に必要なスコープまたはクレームを思い出します。
- 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アシスタントに次のように尋ねることができます:
Extend SDKで「user」に関連するシンボルを検索
AIアシスタントは、Extend SDK MCPサーバーのsearch-symbolsツールを使用して、関連する関数とモデルを見つけます。
例:シンボルの詳細取得
AIアシスタントに次のように尋ねます:
「AdminCreateUser@iam」と「User@iam」シンボルを説明して
AIアシスタントはdescribe-symbolsツールを使用して、これらのシンボルに関する詳細情報を取得します。
例:Extend SDKコードの生成
Extendアプリコードを書く際、AIアシスタントに次のように尋ねます:
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 - IDE設定でMCPサーバーが有効になっていることを確認
- エラーについて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」であることを確認
- AGS Admin PortalでOAuthクライアントに必要な権限があることを確認
- AGS環境にアクセス可能であることを確認
ベストプラクティス
-
一致するバージョンを使用:互換性を確保するために、常にAGSバージョンと一致するMCPサーバーイメージタグを使用してください。
-
テンプレートから始める:ゼロからセットアップするのではなく、MCP設定を含むExtendアプリテンプレートから始めてください。
-
コンテキストを提供:AIアシスタントにコードを生成させる際は、より良い結果を得るために関連するソースファイルをコンテキストとして含めてください。
-
定期的な更新:AGSバージョンに合わせてMCPサーバーイメージを最新の状態に保ち、最新の機能を入手してください。
次のステップ
MCPサーバーをセットアップした後:
-
AI支援を使用したExtendアプリ開発を探索:
-
他の開発ツールについて学ぶ:
-
更新と例についてMCPサーバーリポジトリを確認:
MCPサーバーが設定されると、AI支援開発を活用してExtendアプリ開発を加速し、コードの品質と正確性を確保できます。