Skip to content
game-kb

MCP server

game-kb gives an agent six tools over this API: list_games, search_entities, get_entity, get_fact, patch_history and describe_fields. Every value comes back with its unit, qualifier, tier, patch window, source URL and verbatim evidence, and every result ends with the game’s attribution line.

https://kb.play-ascend.com/mcp

No install, no build: point your client’s HTTP MCP transport at that URL with your key in the x-api-key header. Get a key in the console. A request over this endpoint counts against your key’s limits like any other request. Send x-api-key, not Authorization: Bearer — a bearer-only client works, but falls under the lower keyless rate limit instead of your key’s own.

Claude Code

claude mcp add --transport http game-kb https://kb.play-ascend.com/mcp --header "x-api-key: kb_free_…"

Cursor

{
  "mcpServers": {
    "game-kb": {
      "url": "https://kb.play-ascend.com/mcp",
      "headers": { "x-api-key": "kb_free_…" }
    }
  }
}

~/.cursor/mcp.json, or .cursor/mcp.json in a project.

VS Code

{
  "servers": {
    "game-kb": {
      "type": "http",
      "url": "https://kb.play-ascend.com/mcp",
      "headers": { "x-api-key": "kb_free_…" }
    }
  }
}

.vscode/mcp.json in a project, or MCP: Open User Configuration.

Windsurf

{
  "mcpServers": {
    "game-kb": {
      "serverUrl": "https://kb.play-ascend.com/mcp",
      "headers": { "x-api-key": "kb_free_…" }
    }
  }
}

Claude Desktop

Claude Desktop doesn’t speak HTTP MCP directly yet; bridge it with mcp-remote:

{
  "mcpServers": {
    "game-kb": {
      "command": "npx",
      "args": ["mcp-remote", "https://kb.play-ascend.com/mcp", "--header", "x-api-key:${KB_API_KEY}"],
      "env": { "KB_API_KEY": "kb_free_…" }
    }
  }
}

claude_desktop_config.json. mcp-remote needs a header value with no space after the colon — see its own README if this stops working.

Any other client: point its HTTP or “remote” MCP transport at the URL above with x-api-key: kb_free_… as a header — check your client’s own docs for its exact config syntax if it isn’t one of the above.

From source (stdio)

@play-ascend/knowledge-mcp runs on your machine instead, reading with your own key over stdio. Not yet published to npm — there is no npx @play-ascend/knowledge-mcp yet, build it from source. Every client config below points at the same local build.

Build it

git clone https://github.com/Play-Ascend/game-kb.git
cd game-kb/packages/mcp
npm install
npm run build

This produces dist/index.js, run with node and KB_API_KEY set. Replace kb_free_… below with your key and /path/to/game-kb with where you cloned it.

Claude Code

claude mcp add game-kb --env KB_API_KEY=kb_free_… -- node /path/to/game-kb/packages/mcp/dist/index.js

Claude Desktop, Cursor

{
  "mcpServers": {
    "game-kb": {
      "command": "node",
      "args": ["/path/to/game-kb/packages/mcp/dist/index.js"],
      "env": { "KB_API_KEY": "kb_free_…" }
    }
  }
}

Claude Desktop reads claude_desktop_config.json. Cursor reads ~/.cursor/mcp.json, or .cursor/mcp.json in a project.

Codex

[mcp_servers.game-kb]
command = "node"
args = ["/path/to/game-kb/packages/mcp/dist/index.js"]
env = { KB_API_KEY = "kb_free_…" }

~/.codex/config.toml.

Pro keys and the NonCommercial games

Overwatch 2, PUBG and Destiny 2 are served to free keys only. A Pro key on them gets an error telling the agent to use the free key. Both keys live in the same account.