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アプリテンプレート
Go と Python の Extend アプリテンプレートには、.vscode/mcp.jsonファイルに事前設定されたMCPサーバーの設定が含まれています。これらのテンプレートをクローンすると、追加の設定なしでAIによる開発支援の利点をすぐに得られます。
C# と Java の Extend アプリテンプレートには .vscode/mcp.json が含まれていません。これらのテンプレートを使用する場合は、Extend SDK MCPサーバーに接続するの説明に従って MCP サーバーを手動で設定してください。
Go と Python のテンプレートでは、共有される.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コードを生成できるようになります。
このサーバーはAccelByteがホストしています。サーバーは読み取り専用のSDKリファレンスデータのみを提供するため、インストールや実行、ログインは不要です。接続方法については、Extend SDK MCPサーバーに接続するを参照してください。
リポジトリ: https://github.com/AccelByte/ags-extend-sdk-mcp-server
機能:
search-symbols– 名前、タグ、または説明(あいまい検索)によりシンボル(関数とモデル)を検索describe-symbols– 特定のシンボルのIDによる詳細情報の取得create-extend-app– Extendアプリプロジェクト作成用のプロンプトテンプレート
サポートされるExtend SDK言語:
- Go(
go) - Python(
python) - Java(
java) - C#(
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サーバー: このサーバーはAccelByteがホストしています。IDEへの接続方法については、Extend SDK MCPサーバーに接続するを参照してください。サーバーを独自に実行する場合は、セルフホスティングガイドに従ってください。
- AGS API MCPサーバー: このサーバーはAccelByteがホストしています。サーバーのURLの確認方法とIDEへの接続方法については、AGS API MCP Serverを参照してください。サーバーを独自に実行する場合は、リポジトリのREADMEに従ってください。
最低限、次のものが必要です。
- MCP対応のIDEまたはクライアント(VS Code、Cursor、Claude Desktopなど)
- (AGS API MCPサーバーの場合)Admin PortalにログインできるAGSアカウント
Extend SDK MCPサーバーを利用する場合は、これ以外に必要なものはありません。
Extend SDK MCPサーバーに接続する
URLは、AGSのベースURLの後に /extend-mcp/<language> を付けたものです。
https://<YourAGSBaseURL>/extend-mcp/<language>
<language> をExtendアプリの言語(go、python、java、csharp のいずれか)に置き換えてください。1つのサーバーがすべての言語に対応しているため、言語を切り替えるにはパスの最後のセグメントを変更します。
- Public Cloud:
https://prod.gamingservices.accelbyte.io/extend-mcp/<language>を使用します。例えば、Goアプリの場合はhttps://prod.gamingservices.accelbyte.io/extend-mcp/goを使用します。 - Private Cloud: ご利用の環境のドメインを使用します。例えば、ドメインが
games.example.comの場合はhttps://games.example.com/extend-mcp/goを使用します。
IDEにURLを追加します。VS Codeでは、.vscode/mcp.json に追加します。
{
"servers": {
"extend-sdk": {
"type": "http",
"url": "https://<YourAGSBaseURL>/extend-mcp/<language>"
}
}
}
Cursorでは、.cursor/mcp.json に追加します。
{
"mcpServers": {
"extend-sdk": {
"type": "http",
"url": "https://<YourAGSBaseURL>/extend-mcp/<language>"
}
}
}
Claude Codeでは、次のコマンドを実行します。
claude mcp add --transport http extend-sdk https://<YourAGSBaseURL>/extend-mcp/<language>
その他のクライアントについては、Extend SDK MCPサーバーのREADMEを参照してください。
クライアントがstdioトランスポートのみをサポートしている場合は、代わりに mcp-remote ブリッジを使用してください(設定例: { "command": "npx", "args": ["-y", "mcp-remote", "https://<YourAGSBaseURL>/extend-mcp/<language>"] })。このブリッジにはNode.js 18以降が必要です。
開発での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アプリテンプレートにおける設定
Go と Python の Extend アプリテンプレートには、事前設定されたMCPサーバーの設定が含まれています。例えば、extend-service-extension-goテンプレートには、MCPサーバーの設定を含む.vscode/mcp.jsonファイルが含まれています。
これらの事前設定を使用するには、以下の手順に従います。
- MCP設定を含むExtendアプリテンプレートをクローンします。
.vscode/mcp.jsonを開きます。extend-sdk-mcp-serverエントリがdockerを実行している場合は、Extend SDK MCPサーバーに接続するに示されているとおり、Extendアプリの言語に対応したホスト型URLに置き換えてください。- VS CodeまたはCursorでプロジェクトを開きます。
- MCPサーバーが自動的に表示されない場合は、IDEの設定で有効にしてください。
トラブルシューティング
MCPサーバーが利用できない
- URLがAGSのベースURLを使用し、
/extend-mcp/<language>で終わっていることを確認してください - MCPサーバーがIDEの設定で有効になっていることを確認してください
- ネットワークからAGSのベースURLに到達できることを確認してください
サーバーが 400 を返す
- URLパス内の言語を確認してください。
go、python、java、csharpのいずれかである必要があります。
コード生成が正しくない
- URLパス内の言語がExtendアプリの言語と一致していることを確認してください
- 関連するソースファイルを含めることで、AIアシスタントにより多くのコンテキストを提供してください
- 空のプロジェクトではなく、Extendアプリテンプレートから始めてください
クライアントがHTTP URLに接続できない
- 一部のクライアントはstdioトランスポートのみをサポートしています。そのクライアントでは、Extend SDK MCPサーバーに接続するで説明している
mcp-remoteブリッジに切り替えてください。
AGS API MCPサーバーの認証エラー
AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRETが正しいことを確認してください- OAuthクライアントのタイプが「confidential」であることを確認してください
- OAuthクライアントがAGS Admin Portalで必要な権限を持っていることを確認してください
- AGS環境にアクセスできることを確認してください
ベストプラクティス
-
ホスト型サーバーを使用する: サーバーを独自に実行するのではなく、AccelByteがホストするサーバーに接続してください。インストール、更新、稼働の維持が不要になります。
-
テンプレートから始める: ゼロから設定するのではなく、MCP設定を含むExtendアプリテンプレートから始めてください。
-
コンテキストを提供する: AIアシスタントにコード生成を依頼する際は、より良い結果を得るために関連するソースファイルをコンテキストとして含めてください。
次のステップ
MCPサーバーを設定した後は、以下を確認してください。
-
AI支援を用いたExtendアプリ開発を探る:
-
他の開発ツールについて学ぶ:
-
更新や例についてMCPサーバーのリポジトリを確認する:
MCPサーバーを設定することで、AIによる開発支援を活用してExtendアプリの開発を加速し、コードの品質と正確性を確保できます。