
List Statsig audit log entries, optionally filtered by action type, tags, date/time range, and sorted by a given field. Use for reviewing recent changes to gates, configs, experiments, and other resources.
Get information about the Statsig company/organization associated with the current API key.
Get information about the current Statsig project associated with the API key.
List Statsig dynamic configs with optional filtering by target app, team, or tags. Use listtargetapps/listteams/listtags to find valid filter values.
Get full details for a Statsig dynamic config by ID, including rules and default value. Use listdynamicconfigs to find valid IDs.
Create a Statsig dynamic config. Requires a unique name. Use listtargetapps/listtags/listteams/listunitid_types to find valid targetApps/tags/teamID/idType values to include.
Partially update a Statsig dynamic config's name, description, rules, default value, tags, target apps, or team. Use listdynamicconfigs to find valid IDs.
Permanently delete a Statsig dynamic config by ID. This cannot be undone. Use listdynamicconfigs to find valid IDs.
Enable a Statsig dynamic config so its rules are evaluated. Use listdynamicconfigs to find valid IDs.
Disable a Statsig dynamic config so it always returns its default value. Use listdynamicconfigs to find valid IDs.
Archive a Statsig dynamic config, removing it from active use. Use listdynamicconfigs to find valid IDs.
List the environments configured for this Statsig project (e.g. development, staging, production). Use this to find valid environment names for gate overrides and key configuration.
List Statsig experiments with optional filtering by status, target app, team, or tags. Returns a lean field set (id, name, status, hypothesis) by default; pass fields to widen. Use listtargetapps/listteams/listtags to find valid filter values.
Get full details for a Statsig experiment by ID, including groups and metrics. Use list_experiments to find valid IDs.
Create a Statsig experiment. Requires a unique name. Use listmetrics/listtargetapps/listtags/listteams/listunitidtypes to find valid primaryMetrics/secondaryMetrics/targetApps/tags/teamID/idType values.
Partially update a Statsig experiment's name, description, hypothesis, groups, metrics, tags, or team. Use list_experiments to find valid IDs.
Permanently delete a Statsig experiment by ID. This cannot be undone. Use list_experiments to find valid IDs.
List Statsig feature gates with optional filtering by unit ID type, target app, team, tags, gate type, or creator. Use listtargetapps/listteams/listtags to find valid filter values.
Get full details for a Statsig feature gate by ID, including targeting rules and status. Use list_gates to find valid gate IDs.
Create a Statsig feature gate. Requires a unique name. Use listtargetapps/listtags/listteams/listunitid_types to find valid targetApps/tags/teamID/idType values to include.
Partially update a Statsig feature gate's name, description, rules, tags, target apps, or team. Use list_gates to find valid gate IDs.
Permanently delete a Statsig feature gate by ID. This cannot be undone. Use list_gates to find valid gate IDs.
Enable a Statsig feature gate so its rules are evaluated. Use list_gates to find valid gate IDs.
Disable a Statsig feature gate so it always evaluates to false. Use list_gates to find valid gate IDs.
Archive a Statsig feature gate, removing it from active use. Use list_gates to find valid gate IDs.
Get the per-environment ID overrides configured for a Statsig feature gate. Use list_gates to find valid gate IDs.
Add per-environment ID overrides to a Statsig feature gate (e.g. force a specific user ID to pass or fail in staging). Existing overrides on the gate are preserved; the entries supplied here are added alongside them. Use list_gates to find valid gate IDs.
List Statsig holdouts (groups of users excluded from experimentation) with optional tag filtering. Use list_tags to find valid tag names.
Get full details for a Statsig holdout by ID. Use list_holdouts to find valid IDs.
Create a Statsig holdout. Requires a unique name. Use listunitidtypes/listteams to find valid idType/teamID values.
Partially update a Statsig holdout's description. Use list_holdouts to find valid IDs.
Permanently delete a Statsig holdout by ID. This cannot be undone. Use list_holdouts to find valid IDs.
List Statsig Console/Server/Client API keys with optional filtering by target app or environment. Use listtargetapps to find valid target app IDs. By default the secret key value is masked (e.g. console-ab12) to avoid exposing live credentials in bulk. Set reveal_secret=true only if you need the full usable secret value — treat that response as sensitive credential material.
Get details for a Statsig API key by its key value. Use listkeys with revealsecret=true to find a usable key value — the masked value list_keys returns by default (e.g. console-ab12) will not resolve here. Returns the full, usable secret value — treat the response as sensitive credential material.
Create a new Statsig API key. Requires a description and type (SERVER, CLIENT, CONSOLE, SCIM, or ORG). Use listtargetapps to find valid targetAppID values.
Deactivate a Statsig API key so it can no longer authenticate requests. Use listkeys with revealsecret=true to find a usable key value — the masked value list_keys returns by default (e.g. console-ab12) will not resolve here. Response echoes back the full secret key value — treat it as sensitive credential material.
List Statsig layers (containers that group mutually-exclusive experiments).
Get full details for a Statsig layer by ID. Use list_layers to find valid IDs.
Create a Statsig layer. Requires a unique name and idType. Use listunitidtypes/listtarget_apps to find valid idType/targetApps values.
Partially update a Statsig layer's description or target apps. Use list_layers to find valid IDs.
Permanently delete a Statsig layer by ID. This cannot be undone. Use list_layers to find valid IDs.
List Statsig metrics with optional tag filtering. Use listtags to find valid tag names. Use this, not getmetric, to browse or find metric names/IDs for experiments.
Get the full definition for a Statsig metric by ID. Use list_metrics to find valid IDs.
Create a Statsig metric. Requires a unique name, type ('ratio', 'mean', 'eventcountcustom', 'eventuser', 'funnel', 'composite', 'compositesum', 'sum', 'userwarehouse', 'percentile', or 'latestvalue'), and unitTypes. Also requires metricEvents for event-based types. Use listunitidtypes/listtags/list_teams to find valid unitTypes/tags/teamID values.
Update a Statsig metric's description, directionality, tags, or team. Use list_metrics to find valid IDs.
Permanently delete a Statsig metric by ID. This cannot be undone. Use list_metrics to find valid IDs.
List Statsig segments (reusable named user groups referenced by gates, configs, and experiments).
Get full details for a Statsig segment by ID. Use list_segments to find valid IDs.
Create a Statsig segment. Requires a unique name and type ('idlist' or 'rulebased'). Use listunitidtypes/listtags/list_teams to find valid idType/tags/teamID values.
Permanently delete a Statsig segment by ID. This cannot be undone. Use list_segments to find valid IDs.
List the IDs currently in a static (idlist-type) Statsig segment. Use listsegments to find valid IDs.
Add IDs to a static (idlist-type) Statsig segment (max 100000 per call). Returns the segment's first page of IDs post-add (up to 100) plus the true total in count/pageinfo; use listsegmentids with a page number to see the rest for segments over 100 IDs. Use list_segments to find valid IDs.
List Statsig tags. Use this to find valid tag names/IDs to reference when creating or filtering gates, dynamic configs, experiments, holdouts, and metrics.
Get details for a Statsig tag by its name. Use list_tags to find valid tag names.
Create a Statsig tag. Requires a unique name and description.
List Statsig target apps. Use this to find valid target app IDs to reference when creating or filtering gates, dynamic configs, experiments, layers, and keys. The id field may be null per Statsig's schema — fall back to name (always present) if so. Target Apps is an Enterprise-only Statsig feature — this returns an empty list on Developer/Pro plans.
Get details for a Statsig target app by name. Use listtargetapps to find valid names. Target Apps is an Enterprise-only Statsig feature.
Create a Statsig target app. Requires a unique name and description. Target Apps is an Enterprise-only Statsig feature — this fails on Developer/Pro plans.
List Statsig unit ID types (e.g. userID, stableID). Use this to find valid idType values to reference when creating gates, dynamic configs, experiments, layers, holdouts, and segments.
Get details for a Statsig unit ID type by name. Use listunitid_types to find valid names.
Create a Statsig unit ID type. Requires a unique name (e.g. 'userID', 'orgID').
List members of this Statsig project.
Get details for a Statsig project member by user ID. Use list_users to find valid IDs.
List teams configured in this Statsig project. Use this to find valid team names to reference when creating or filtering gates, dynamic configs, experiments, holdouts, and segments. Teams is an Enterprise-only Statsig feature — this fails on Developer/Pro plans.
Get details for a Statsig team by name. Use list_teams to find valid team names. Teams is an Enterprise-only Statsig feature.
Validate Statsig Console API key by fetching company info. Returns success status and the connected company's name.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}It's an MCP server that lets your agents access data and functionality from Statsig via tools. Your agents can invoke these tools to check a feature gate's rollout status, create or update an experiment, pull event metrics, and review a dynamic config.
Statsig offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
The use cases naturally depend on the agent you've built, but here are a few common ones:
Here are some of the most commonly used tools:
list_feature_gates: returns every feature gate in a project along with its current rollout status. Useful for agents that need to audit which gates are live before making rollout changesget_feature_gate: returns the configuration and targeting rules for a single feature gate. Use this when an agent needs to check a specific gate's rollout percentage or targeting conditions before acting on itupdate_feature_gate: changes a feature gate's rollout percentage, targeting rules, or enabled status. Call this when an agent is automating a gradual rollout or rolling back a flag during an incidentlist_experiments: returns active and completed experiments in a project. Good for workflows that need to check which experiments are running before summarizing resultsget_experiment_results: returns the metrics, variants, and statistical significance for a given experiment. Helpful when an agent needs to summarize a test's outcome for stakeholderslist_dynamic_configs: returns the dynamic configs in a project along with their current values. Useful for agents that need to check a config's current state before recommending or making a changeA few things set it apart from a self-hosted or DIY Statsig MCP setup:
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Statsig and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Statsig data directly. The first time you use a Statsig tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Statsig MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Yes, Merge for Workforce lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, Codex, and other MCP-compatible AI tools to Statsig without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Merge and gets individual credentials tied to their identity. A product manager can ask their AI to check a feature gate's rollout percentage, pull an experiment's results, or review which users are in a target audience, all within IT-defined permissions.
IT also provisions access by role or group via SCIM. A product manager, for example, might get Statsig access to check feature gate rollout status, Amplitude access to pull usage trends, and Notion access to document experiment findings, while a growth engineer gets Statsig access to create and update experiments, GitHub access to review flag implementation code, and Slack access to post rollout updates.
Every tool call an employee's AI makes to Statsig is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now