Skip to Content
FeaturesMCP Server

MCP Server

Gamebeast runs an MCP  server, so AI coding agents — Cursor, Claude Code, Claude Desktop, and anything else that speaks MCP — can read your analytics, configurations, experiments, deeplinks, and community sentiment directly.

It is read-only. Nothing the agent does through MCP can change your configurations, experiments, or data.

Connect

Add one entry per project to your client’s MCP config. In Cursor that’s ~/.cursor/mcp.json; in Claude Desktop it’s claude_desktop_config.json.

{ "mcpServers": { "gamebeast-my-game-production": { "url": "https://api.gamebeast.gg/mcp", "headers": { "Authorization": "Bearer gb_pat_your_token_here", "project-id": "123", "environment": "production" } } } }

The dashboard writes this for you: go to Settings → Access Tokens, create a personal access token, pick a project and environment, and copy the generated config.

You need a personal access token (gb_pat_…). SDK keys and server keys are rejected — MCP acts as you, so every call is checked against both the token’s permissions and your own current access.

One entry per project

An MCP connection is pinned to a single project and environment. To work across several, add a separate entry for each and give it a distinct name:

{ "mcpServers": { "gamebeast-my-game-production": { "url": "https://api.gamebeast.gg/mcp", "headers": { "Authorization": "Bearer gb_pat_your_token_here", "project-id": "123", "environment": "production" } }, "gamebeast-my-game-development": { "url": "https://api.gamebeast.gg/mcp", "headers": { "Authorization": "Bearer gb_pat_your_token_here", "project-id": "123", "environment": "development" } }, "gamebeast-other-game": { "url": "https://api.gamebeast.gg/mcp", "headers": { "Authorization": "Bearer gb_pat_your_token_here", "project-id": "456", "environment": "production" } } } }

One token can back every entry. A personal access token can be scoped to as many projects and organizations as you have access to, so you rarely need more than one — the separate entries exist so the agent knows which project it’s working in, not because each needs its own credential.

The server name is what your agent sees, so make it say which project and environment it points at. gamebeast-my-game-production is useful; gamebeast twice over is not.

Why pinned entries

Pinning is worth the extra config lines:

  • The agent can’t act on the wrong project. A pinned connection doesn’t accept a project argument at all, so there is no way for the model to pass the wrong id.
  • Fewer tokens and fewer mistakes. The agent doesn’t have to discover projects or decide which to use before doing what you asked.
  • Your permissions are checked once, up front. A pinned connection validates your access when it connects, rather than on every individual call.

Environment names

The environment header takes a name, not a number — production or development by default. Copy the exact name from the dashboard: open the environment switcher in the top bar, hover an environment, and use Copy environment name.

studio is accepted as a synonym for development, and names are matched loosely (case and surrounding punctuation are ignored), so Production and production both work.

Without pins

You can leave the headers off entirely:

{ "mcpServers": { "gamebeast": { "url": "https://api.gamebeast.gg/mcp", "headers": { "Authorization": "Bearer gb_pat_your_token_here" } } } }

The connection then spans everything the token can reach, and the agent calls list_projects to discover project ids and environment names before each request. This is convenient for exploration but means the agent chooses the project — prefer pinned entries for real work.

Two narrower options exist for automation:

HeaderEffect
project-idPins the connection to one project
environmentPins the environment by name
organization-idLimits the projects the agent can see to one organization, without pinning a project

Each is also accepted as a query parameter (?project_id=123&environment=production), for clients that only let you edit a URL. A header wins over a query parameter when both are set. The query form is accepted on the MCP endpoint only — elsewhere in the API these are headers.

If you pin an environment the project doesn’t define, the connection is refused with a message naming it, rather than quietly falling back to letting the agent choose.

What the agent can do

Tools cover analytics (saved queries, ad-hoc insights, funnels, cohorts), configurations, experiments, deeplinks, heatmaps, and community sentiment.

Experiments are covered by two pairs of tools, because Gamebeast has two experiment systems. list_experiments_v2 / get_experiment_v2 read the current one; list_experiments / get_experiment read the legacy one. Ask for whichever your project uses — if you’re not sure, try the _v2 tools first and they’ll tell you if that system isn’t enabled for your project. Experiment ids are not interchangeable between the two.

You only see the tools you can use. The tool list is filtered by your token’s permissions intersected with your own access to the project, so an agent is never offered something it will be refused. If a tool you expected is missing, check the token’s permissions in Settings → Access Tokens and your role on that project.

Permissions and safety

Every MCP call is checked twice:

  1. The token’s permissions — what you granted when you created it.
  2. Your live access — your current role and project grants, re-checked on every request.

The effect is that a token can never do more than you can, and it stops working the moment your access does. If you’re removed from a project or your role narrows, tokens you created lose that access immediately — no revocation needed.

Scope tokens narrowly. A token for an analytics agent needs analytics read access and nothing else.

Troubleshooting

404 Not Found — the MCP server isn’t enabled for your organization yet. Contact support.

401 Unauthorized — the token is wrong, expired, or not a personal access token. Tokens start with gb_pat_, and the header must be Authorization: Bearer gb_pat_….

403 Forbidden on a project — either the token isn’t scoped to that project, or you no longer have access to it. Check both in Settings → Access Tokens.

403 Forbidden on an environment — the token wasn’t granted that environment, or the name is wrong for that project. Copy the name from the dashboard’s environment switcher.

A tool is missing — the token or your role lacks the permission it requires. See Permissions and safety.