https://github.com/accelbyte/ags-extend-sdk-mcp-server
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively
https://github.com/accelbyte/ags-extend-sdk-mcp-server
Last synced: about 1 month ago
JSON representation
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively
- Host: GitHub
- URL: https://github.com/accelbyte/ags-extend-sdk-mcp-server
- Owner: AccelByte
- Created: 2025-10-21T09:47:20.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2026-05-26T08:49:16.000Z (about 1 month ago)
- Last Synced: 2026-05-26T10:28:07.467Z (about 1 month ago)
- Language: TypeScript
- Homepage:
- Size: 6.19 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# AGS Extend SDK MCP Server
A Model Context Protocol (MCP) server that gives AI assistants (VS Code Copilot, Cursor, Claude, Gemini, Antigravity) the AccelByte Extend SDK as additional context — so they can answer questions about the SDK and generate correct Extend SDK code.
## What It Does
- **Search** Extend SDK symbols (functions and models) by name, tags, or description (fuzzy matching)
- **Describe** specific symbols — parameters, fields, imports, examples, return types, required permissions
- **Scaffold** a new Extend app from a template repository via the `create-extend-app` prompt
It serves SDK reference for **four languages — C#, Go, Java, and Python**. You pick the language per connection through the URL path (see [Choose your language](#step-1-choose-your-language-and-get-your-url)).
AccelByte hosts the Extend SDK MCP Server for you — **you don't need to install or run anything locally**. Just point your AI assistant at the hosted MCP URL for your language. There's **no sign-in**: the server only exposes read-only SDK reference data. Prefer to run it yourself? See [Running Locally & Self-Hosting](docs/LOCAL.md).
---
## Quick Install
Paste this into your AI coding assistant — it will fetch the install guide, ask you a couple of questions, and configure everything for you:
```
Install the AGS Extend SDK MCP server for me. Fetch and follow the instructions at
https://raw.githubusercontent.com/AccelByte/ags-extend-sdk-mcp-server/refs/heads/master/INSTALL.md
```
Works in **VS Code Copilot**, **Cursor**, **Claude Code**, **Antigravity**, and **Gemini CLI**.
> **Claude Desktop users:** The simplest path is **Settings → Connectors → Add custom connector** (Name: `extend-sdk`, URL: your MCP URL) — no AI installer needed. See [Claude Desktop](#claude-desktop) below.
>
> If you want to use the Quick Install prompt above, switch to the **Code** tab first (Chat and Cowork can't edit your config file).
>
> 
Prefer to do it yourself? See [Manual Install](#manual-install) below.
---
## Manual Install
### Step 1: Choose your language and get your URL
The MCP URL is the hosted server's base URL followed by `/extend-mcp/{language}`:
```
https:///extend-mcp/{language}
```
| Language | URL path |
|---|---|
| C# | `/extend-mcp/csharp` |
| Go | `/extend-mcp/go` |
| Java | `/extend-mcp/java` |
| Python | `/extend-mcp/python` |
- `` is the host of your organization's deployment — ask your AccelByte administrator if you're not sure.
- One hosted instance serves every language. To switch language later, just change the trailing path segment (e.g. `/extend-mcp/python` → `/extend-mcp/go`). Requesting an unknown language returns HTTP `400`.
- The base path (`/extend-mcp`) with no language serves the server's configured default language.
> **No hosted instance?** You can run the server yourself with Docker — see [Running Locally & Self-Hosting](docs/LOCAL.md).
### Step 2: Configure your client
The server uses **Streamable HTTP** transport. Clients that support HTTP transport connect to the URL directly. Clients that only support **stdio** transport use [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) as a bridge.
> **Need `mcp-remote`?** It runs via `npx`, so you need **Node.js 18+ with `npx` available** — verify with `npx --version`. No global install required.
Substitute your URL from Step 1 wherever you see `` below.
#### Visual Studio Code (Copilot)
`.vscode/mcp.json` in your workspace (or user `settings.json`):
```json
{
"servers": {
"extend-sdk": {
"type": "http",
"url": ""
}
}
}
```
If your client can't reach an HTTP server, swap to: `{ "command": "npx", "args": ["-y", "mcp-remote", ""] }`.
See the [VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/customization/mcp-servers).
#### Cursor
`.cursor/mcp.json` in your workspace (or user settings):
```json
{
"mcpServers": {
"extend-sdk": {
"type": "http",
"url": ""
}
}
}
```
If your client can't reach an HTTP server, swap to: `{ "command": "npx", "args": ["-y", "mcp-remote", ""] }`.
See the [Cursor MCP documentation](https://cursor.com/docs/context/mcp#using-mcpjson).
#### Claude Code
```bash
claude mcp add --transport http extend-sdk
```
Fallback (stdio-only environments): `claude mcp add extend-sdk -- npx -y mcp-remote `.
See the [Claude Code MCP documentation](https://code.claude.com/docs/en/mcp#installing-mcp-servers).
#### Antigravity
`mcp_config.json` in your project root:
```json
{
"mcpServers": {
"extend-sdk": {
"type": "http",
"url": ""
}
}
}
```
If your client can't reach an HTTP server, swap to: `{ "command": "npx", "args": ["-y", "mcp-remote", ""] }`.
See the [Antigravity MCP documentation](https://antigravity.google/docs/mcp#connecting-custom-mcp-servers).
#### Gemini CLI
```bash
gemini mcp add --transport http extend-sdk
```
Fallback (stdio-only environments): `gemini mcp add extend-sdk -- npx -y mcp-remote `.
See the [Gemini CLI MCP documentation](https://geminicli.com/docs/tools/mcp-server/#configure-the-mcp-server-in-settingsjson).
#### Claude Desktop
**Option A — Custom Connector (recommended)**
1. Open **Settings → Connectors → Add custom connector** (under the "Customize" area).
2. Fill in **Name**: `extend-sdk` and **Remote MCP server URL**: your `` from Step 1.
3. Save.
> **Don't see "Add custom connector"?** Some Team and Enterprise plans disable custom connectors via workspace policy. If the option is missing or greyed out, use Option B.
**Option B — `mcp-remote` config file (fallback)**
Edit `claude_desktop_config.json`:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"extend-sdk": {
"command": "npx",
"args": ["-y", "mcp-remote", ""]
}
}
}
```
Restart Claude Desktop after saving.
---
## Using the Tools
Once connected, your assistant has access to these tools. In your assistant's chat, try the example prompts below — give permission to run the tools when requested.
### `search-symbols`
Search Extend SDK symbols by name, tags, or description, with fuzzy matching. Returns a paginated list of summaries.
> *"Search for symbols related to user"* · *"Find symbols for inventory"*
### `describe-symbols`
Get full details for specific symbols by ID — fields, parameters, imports, example usage, return type, and required permissions.
> *"Describe the `AdminCreateUser@iam` and `User@iam` symbols"*
### `create-extend-app`
A prompt template that clones an Extend app template repository and opens it (in a Dev Container when available) so you can start from a working sample.
> Invoke the `create-extend-app` prompt and follow the scenario / template / language completions.
> [!TIP]
> When coding with this MCP server, start from an Extend SDK getting-started sample or an Extend app template instead of a blank project, and add relevant source files as context for better results.
---
## Running it yourself
Prefer to run the server locally (stdio) or host the HTTP server yourself? See **[Running Locally & Self-Hosting](docs/LOCAL.md)** for Docker usage, environment variables, HTTP endpoints, developing from source, and releasing the image.
---
## Troubleshooting
### Tool calls fail / the server returns `400`
Check the language in your URL path. It must be one of `csharp`, `go`, `java`, or `python` (e.g. `/extend-mcp/go`). An unknown language returns HTTP `400`.
### Client can't connect to the HTTP URL
Some clients only support stdio transport. Switch that client to the `mcp-remote` bridge config shown in [Step 2](#step-2-configure-your-client). It needs Node.js 18+ with `npx` available (`npx --version`).
### "Connection refused" or the host is unreachable
Confirm the `` and full URL are correct (ask your AccelByte administrator), and that your network can reach it.
---
## Documentation
- [Installation Guide](INSTALL.md) — followed by the Quick Install prompt; readable on its own
- [Running Locally & Self-Hosting](docs/LOCAL.md) — Docker, environment variables, HTTP endpoints, development, and releasing the image
## Contributions
This repository is published as-is. For bug reports and questions, please open an issue.