Shift MCP Query API

ByteBrew Shift MCP is a remote Model Context Protocol (MCP) server that's directly connected to every analytics tool in ByteBrew. Contained within Shift MCP is a domain-grounded contextual engine, trained on proprietary multi-model product embeddings that enriches every interaction with the server. Connect Shift directly within your AI workflow to ask questions in natural language for Shift to query data from your app and web game portfolio.

Overview

tag

The Shift MCP server connects to the ByteBrew suite to enable your AI assistant to retrieve analytics for the apps in your studio. Authenticate once with a Shift API Key to answer questions like "what is the D30 LTV of my apps in US, CA, and UK?" or "show me the journey of users completing my tutorial for the last 2 app versions." and the assistant will call the correct Shift tool, resolve your filters, and return the data.

Server Details

tag

The Shift MCP is a remote MCP server over Streamable HTTP. There is nothing to install or run locally. Point your tool at the server URL below and attach your Shift API Key.

fiber_manual_record
Server URL: https://shift-mcp.bytebrew.io/mcp
fiber_manual_record
Transport: Streamable HTTP (remote)
fiber_manual_record
Authentication: Required. Send your Shift API Key as a Bearer token in the Authorization header.

Authentication

tag

The Shift MCP authenticates every request with a Shift API Key. Generate a key from your Studio Settings, then attach it to your MCP client as a Bearer token. There is no separate token-generation call. The key itself is the credential, and it is scoped to the apps owned by your studio account.

Every request to the server must include an Authorization header. See the expected header format below:

                                


                                Authorization: Bearer YOUR_SHIFT_API_KEY


                                
                            

Create API Key

tag

To create a Shift API Key, navigate to the API Key tab in the Shift Settings and hit the create button.

Delete API Key

tag

To delete a Shift API Key, navigate to the API Key tab in the Shift Settings and hit the delete button next to the key you want to delete.

Claude Desktop

tag

Add the server by editing the claude_desktop_config.json file (Settings → Developer → Edit Config). Claude Desktop connects to remote servers through the mcp-remote bridge, and your Shift API Key is passed via the Authorization header. Place your key in the AUTH_TOKEN environment variable so it is not inlined into the arguments:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://shift-mcp.bytebrew.io/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization:${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Fully quit and restart Claude Desktop, then check Settings → Developer to confirm the bytebrew-shift-mcp-query-api server is connected and its tools are listed.

Claude Code

tag

Add the server with the claude mcp add command using the HTTP transport, passing your key with --header:

claude mcp add --transport http bytebrew-shift-mcp-query-api https://shift-mcp.bytebrew.io/mcp --header "Authorization: Bearer YOUR_SHIFT_API_KEY"

Or add it to a project's .mcp.json file to share it with your team (keep real keys out of shared files, use an environment variable):

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "type": "http",
      "url": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Run /mcp inside Claude Code to confirm the bytebrew-shift-mcp-query-api server is connected.

Cursor

tag

Add the server to ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project root. Cursor uses the url field for remote Streamable HTTP servers and a headers object for authentication:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "url": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Then open Settings → MCP & Integrations and verify bytebrew-shift-mcp-query-api shows a green status with its tools listed.

OpenAI Codex

tag

Add the remote server to ~/.codex/config.toml. Codex connects to Streamable HTTP servers with a url and passes the Shift API Key through http_headers:

[mcp_servers.bytebrew-shift-mcp-query-api]
url = "https://shift-mcp.bytebrew.io/mcp"
http_headers = { "Authorization" = "Bearer YOUR_SHIFT_API_KEY" }

Start a Codex session and run /mcp to confirm the server is connected and its tools are listed.

Google Antigravity

tag

In Antigravity, open Settings → Customizations and click Open MCP Config to edit mcp_config.json. Antigravity uses the serverUrl field for remote servers and a headers object for the Bearer token:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "serverUrl": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Save the file, then open the MCP Servers panel and refresh to load the bytebrew-shift-mcp-query-api tools.

Cursor Agent (CLI)

tag

The cursor-agent CLI automatically discovers the same mcp.json configuration used by the Cursor editor. Add the server to ~/.cursor/mcp.json or your project's .cursor/mcp.json with your key in the headers object:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "url": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

In an interactive cursor-agent session, enable the server with the slash command:

/mcp enable bytebrew-shift-mcp-query-api

Gemini CLI

tag

Add the server to your Gemini CLI settings.json (global at ~/.gemini/settings.json or project-scoped at .gemini/settings.json). Gemini CLI uses the httpUrl field for Streamable HTTP servers and a headers object for authentication:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "httpUrl": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Launch gemini and run the /mcp command to list the discovered server and its tools.

JetBrains AI Assistant

tag

In your JetBrains IDE, go to Settings → Tools → AI Assistant → Model Context Protocol (MCP) and click Add. Choose As JSON and paste the following. AI Assistant connects to remote servers over Streamable HTTP using the url field, with a headers object for the Bearer token:

{
  "mcpServers": {
    "bytebrew-shift-mcp-query-api": {
      "url": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Apply the settings. The server's tools appear in the MCP section once the connection succeeds.

Visual Studio Code

tag

Create a .vscode/mcp.json file in your workspace. VS Code uses the servers root key, requires "type": "http" for remote servers, and accepts a headers object for authentication:

{
  "servers": {
    "bytebrew-shift-mcp-query-api": {
      "type": "http",
      "url": "https://shift-mcp.bytebrew.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SHIFT_API_KEY"
      }
    }
  }
}

Available Tools

tag

Once connected, the Shift MCP exposes the tools below. Your assistant selects the right tool automatically based on your prompt. Tools are split into discovery tools (which resolve app IDs, filter values, custom events, and AB tests) and query tools for mobile and web apps.

Discovery Tools

Tool Description
App List Lists the apps/games available to your account with their platform, app name, and bundle-id / package name. Takes no parameters.
Filter Values Returns the set of valid filter values for an app, grouped by filter type (country, os version, build, device, and, for web, browser / browser version / device type / os name, plus mobile attribution sources). Call this to resolve an exact value before passing it to a query filter. Requires gameId.
Custom Events Returns the custom event names and their sub-parameters for an app. Requires gameId.
AB Tests Returns the AB tests for an app. Each test includes filterKeys in test-id:group format for use in the abtests parameter of any query tool. Requires gameId.

Mobile Query Tools

Tool Description
New User DataNew user cohort data.
SessionsSession counts.
Session LengthSession length data.
PlaytimePlaytime data.
DAUDaily active users (DAU).
RetentionCohort retention curve (Day N / Week N / Month N).
LTVCohort Lifetime Value (LTV) from IAP, ad-watched, and custom revenue events.
Monetization OverviewHigh-level monetization overview (ARPDAU, revenue, ad revenue, IAP revenue, ARPU).
Revenue Analysis BreakdownIAP and Ad revenue metrics together or separately, with dimension breakdowns.
Custom MechanicsThe Mechanics data playground: custom event and segment analysis with formulas.
Event Breakdown DataGranular custom event breakdowns with aggregators and sub-parameter filters.
Target Events RetainedCustom event activity by retained day.
User JourneyMost common user paths between a start and/or end event.
Ads RetainedRetained average ads watched.
Session Length RetainedRetained session length.
Playtime RetainedRetained playtime.
Cumulative Playtime RetainedRetained cumulative playtime.
Purchase RetainedRetention sliced by purchase amount.
Session Amount RetainedRetention sliced by session count.

Web Query Tools

Tool Description
New User DataNew user cohort data.
SessionsSession counts.
Session LengthSession length data.
PlaytimePlaytime data.
DAUDaily active users (DAU).
RetentionCohort retention curve (Day N / Week N / Month N).
Custom MechanicsThe Mechanics data playground for web apps.
Event Breakdown DataGranular custom event breakdowns.
User JourneyMost common user paths between a start and/or end event.

Filters & Parameters

tag

Every query tool takes a date range, and most take the shared filter dimensions below. Filter values that accept lists are passed as comma-separated strings.

Common Parameters

Parameter Description
gameIdRequired. The single Game ID to query. Use the App List tool to resolve it.
startDateStart date, format "YYYY-MM-DD" (e.g. "2021-03-01"). Defaults to 7 days ago if omitted.
endDateEnd date (exclusive), format "YYYY-MM-DD".
countryCountry code(s), comma-separated (e.g. "US,GB,DE"). Omit to include all countries.
abtestsAB test filter key(s) in test-id:group format, comma-separated. Resolve them with the AB Tests tool.
breakdownDimensions to group by, comma-separated. Options: Game, Date, BuildVersion, OSVersion, Country, Device, Platform.

Mobile Filter Dimensions

Parameter Description
buildBuild version(s), comma-separated.
osversionOS version(s), comma-separated.
deviceDevice model(s), comma-separated.
attributionEncoded JSON object mapping a network to its sources, e.g. {"network": "XX", "sources": ["XX ID: (1234)"]}.
acquisitionOne of 'organic' or 'non-organic'.

Web Filter Dimensions

Parameter Description
buildBuild version(s), comma-separated.
osversionOS version(s), comma-separated.
deviceDevice model(s), comma-separated.
browserBrowser name(s), comma-separated (e.g. Edge, Chrome).
browserversionBrowser version(s), comma-separated.
devicetypeDevice type(s), comma-separated (e.g. Tablet, Desktop).
osnameOS name(s), comma-separated (e.g. Windows, Macos).

Retention Scale (retention & retained tools)

Parameter Description
scaleTypeRetention scale (Days, Weeks, or Months). Defaults to Days.
scaledAmountNumber of retention periods, based on the chosen scaleType:
  • Day: 7, 14, 28, 30, 60, 90, 180, 365
  • Week: 4, 8, 16, 24, 32, 46, 52
  • Month: 2, 4, 6, 8, 12, 18
groupByOptional breakdown dimension (e.g. BuildVersion).

Using the Assistant

tag

After connecting the server, prompt your AI assistant with data questions in natural language. The assistant resolves your app and filters using the discovery tools, then calls the right query tool. Use prompts such as:

fiber_manual_record
"Compare D30 LTV for my paid-acquired users against my organic users this quarter, and tell me which build version is monetizing new installs the best."
fiber_manual_record
"Trace the most common paths players take from install to their first in-app purchase, and flag the biggest drop-off step in the tutorial funnel."
fiber_manual_record
"Show new users, retention rate, revenue, ARPDAU, and LTV across my portfolio this month and tell me which titles are outperforming."

Token Usage

tag

Usage of Shift is calculated by tokens. Each request you make using Shift utilizes tokens. The number of tokens consumed by the request varies based on the time the query takes to execute. The more complex the query, the more time/tokens it takes to complete.

Each pricing tier contains a set of tokens included in the monthly subscription. If you surpass the allotted tokens in your plan, you will be charged overage per token over your subscription's plan. For overage pricing, see your relevant plan on the Shift Settings page.

Turn Off Overage

tag

To stop overage token spend, toggle off the Overage Billing setting in your Shift Settings. Enabling this setting will stop your AI assistant from querying Shift after you've reached the monthly token threshold in your plan.

Set Overage Budgets

tag

To control overage spend, you can select the "Set Overage Budget" button to input a max overage spend per API Key.

Manage Usage

tag

You can view and manage your token usage on the ByteBrew by navigating to the Shift page in your Studio Settings. Under the dashboard you can see how many tokens have been used, and manage Shift API Keys.

Manage Subscription

tag

Manage your Shift plan from your Shift Settings. You can upgrade, downgrade, or cancel your subscription at any time.

Upgrade Plan

To upgrade your plan, go to the Shift Settings and hit "Upgrade".

Downgrade Plan

To downgrade your plan, go to the Shift Settings and hit "Downgrade" to your preferred plan.

Cancel Plan

To cancel your plan, go to your Shift Settings and hit "Cancel".


FAQs

tag

Yes. The Shift MCP requires a Shift API Key generated from your Studio Settings (Admin role required). Pass it as a Bearer token in the Authorization header of your MCP client configuration. Requests without a valid, non-revoked key are rejected.

Every request is scoped to the apps owned by the studio account that the Shift API Key belongs to. The server reads aggregated analytics only. It cannot modify your data, dashboard, or account settings.

Confirm the server URL is exactly https://shift-mcp.bytebrew.io/mcp, that you used the correct field for your tool (url, httpUrl, serverUrl, or servers), and that your Authorization header reads Bearer YOUR_SHIFT_API_KEY with the Bearer prefix intact. Restart your tool or refresh its MCP server list to reload the connection.

Any MCP-compatible client that supports a remote Streamable HTTP server with custom headers works. This page provides setup steps for Claude Desktop, Claude Code, Cursor, OpenAI Codex, Google Antigravity, Cursor Agent, Gemini CLI, JetBrains AI Assistant, and Visual Studio Code.

Usage of Shift is calculated by tokens. Every request consumes tokens, and more complex queries take more time and therefore more tokens to complete. Each pricing tier includes a set number of tokens in the monthly subscription. If you surpass your plan's allotted tokens, you are charged overage per token over the plan. For overage pricing, see your relevant plan on the Shift Settings page.

Navigate to the API Key tab in the Shift Settings and hit the create button. You need an Admin role account to generate a key. Name the API Key based on its utilization to help with organization.

Navigate to the API Key tab in the Shift Settings and hit the delete button next to the key you want to delete. Requests using a deleted key are rejected immediately.

Toggle off the Overage Billing setting in your Shift Settings. With overage stopped, your AI assistant will not query Shift once you reach the monthly token threshold in your plan, so you are never charged beyond your subscription.

Yes. Select the "Set Overage Budget" button in your Shift Settings to input a maximum overage spend per API Key, giving you fine-grained control over how much each key can spend beyond your plan.

Overage tokens will be billed at the end of the month. Any tokens used beyond your plan's monthly allotment are totaled and charged at your plan's overage rate when the billing period closes.

All plan changes are made from your Shift Settings. Hit "Upgrade" to move to a higher plan, "Downgrade" to select a lower plan, or "Cancel" to end your subscription. Note that if you have more active API Keys than the maximum allowed in your selected downgrade plan, you will need to downsize your API Key count before you can downgrade.

If you are not being able to connect using the npx tool for your connector settings, make sure Node is installed on your computer.