# How to connect Statsig MCP to Claude Cowork

```json
{
  "title": "How to connect Statsig MCP to Claude Cowork",
  "toolkit": "Statsig MCP",
  "toolkit_slug": "statsig_mcp",
  "framework": "Claude Cowork",
  "framework_slug": "claude-cowork",
  "url": "https://composio.dev/toolkits/statsig_mcp/framework/claude-cowork",
  "markdown_url": "https://composio.dev/toolkits/statsig_mcp/framework/claude-cowork.md",
  "updated_at": "2026-09-07T05:33:34.406Z"
}
```

## Introduction

Cowork is Anthropic's AI agent for knowledge work. Think of it as Claude Code for everything else. It works autonomously with your computer, local files, and applications to accomplish complex tasks.
This guide walks you through the easiest and most secure way to connect your Statsig account to Cowork via Composio Connect, enabling it to list all active experiments for project, create a feature gate named beta, roll out layer to 10 percent, and more such actions on your behalf without compromising your account security.

## Also integrate Statsig MCP with

- [ChatGPT Work](https://composio.dev/toolkits/statsig_mcp/framework/chatgpt)
- [Hermes](https://composio.dev/toolkits/statsig_mcp/framework/hermes-agent)

## Connect Statsig MCP to Claude Cowork

### Connecting Statsig to Claude Cowork
1. Open Customize
In Claude Desktop, click Customize in the left sidebar, then select Connectors and click the + icon at the top.
2. Add the Composio MCP server
Click Add custom connector and paste in the Composio MCP server URL:

```bash
https://connect.composio.dev/mcp
```

## What is Claude Cowork?

Claude Cowork is Anthropic's agent for general knowledge work. It can use your computer, files, and connected applications to complete longer-running tasks across your work tools.
With Composio Connect, Cowork can securely access apps like Statsig through MCP without you sharing account credentials directly with the agent.

## What is the Statsig MCP server, and what's possible with it?

The Statsig MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Statsig account. It provides structured and secure access so your agent can perform Statsig operations on your behalf.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `STATSIG_MCP_APPROVE_AUTOTUNE_REVIEW` | Approve autotune review | Approve an in-flight review of an autotune experiment. Approval does NOT apply the change to the live autotune — call Commit_Autotune_Review afterward to apply it. The acting user must be an eligible reviewer (see Get_Autotune_Eligible_Reviewers), have approve-reviews permission, and cannot approve their own review. Requires a key owned by a user. path_id = the autotune's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_APPROVE_DYNAMIC_CONFIG_REVIEW` | Approve dynamic config review | Approve an in-flight review of a dynamic config. Approval does NOT apply the change to the live config — call Commit_Dynamic_Config_Review afterward to apply it. The acting user must be an eligible reviewer (see Get_Dynamic_Config_Eligible_Reviewers), have approve-reviews permission, and cannot approve their own review. Requires a key owned by a user. path_id = the dynamic config's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_APPROVE_EXPERIMENT_REVIEW` | Approve experiment review | Approve an in-flight review of an experiment (A/B test). Approval does NOT apply the change to the live experiment — call Commit_Experiment_Review afterward to apply it. The acting user must be an eligible reviewer (see Get_Experiment_Eligible_Reviewers), have approve-reviews permission, and cannot approve their own review. Requires a key owned by a user. path_id = the experiment's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_APPROVE_GATE_REVIEW` | Approve gate review | Approve an in-flight review of a gate (feature flag). Approval does NOT apply the change to the live gate — call Commit_Gate_Review afterward to apply it. The acting user must be an eligible reviewer (see Get_Gate_Eligible_Reviewers), have approve-reviews permission, and cannot approve their own review. Requires a key owned by a user. path_id = the gate's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CANCEL_AUTOTUNE_REVIEW` | Cancel autotune review | Cancel (withdraw) an in-flight review of an autotune experiment. This permanently withdraws the proposed change; it does NOT modify the live autotune. Only mutable reviews (pending or accepted) can be cancelled. Requires a key owned by a user. path_id = the autotune's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CANCEL_DYNAMIC_CONFIG_REVIEW` | Cancel dynamic config review | Cancel (withdraw) an in-flight review of a dynamic config. This permanently withdraws the proposed change; it does NOT modify the live config. Only mutable reviews (pending or accepted) can be cancelled. Requires a key owned by a user. path_id = the dynamic config's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CANCEL_EXPERIMENT_REVIEW` | Cancel experiment review | Cancel (withdraw) an in-flight review of an experiment (A/B test). This permanently withdraws the proposed change; it does NOT modify the live experiment. Only mutable reviews (pending or accepted) can be cancelled. Requires a key owned by a user. path_id = the experiment's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CANCEL_GATE_REVIEW` | Cancel gate review | Cancel (withdraw) an in-flight review of a gate (feature flag). This permanently withdraws the proposed change; it does NOT modify the live gate. Only mutable reviews (pending or accepted) can be cancelled. Requires a key owned by a user. path_id = the gate's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CLUSTER_LOG_PATTERNS` | Cluster log patterns | Cluster similar log lines into templates (same as `statsig-query log-patterns`). Use after `Query_Logs_Explorer` when raw lines are too noisy. Pass a Logs Explorer filter (e.g. `service:scrapi AND tier:latest AND level:error`) — do not wrap in `#logs{ }`. Statsig/OpenAI internal organizations only (mirrors CAPI `@OpenAIAndStatsigOrgOnly`). Optional: `field` (default clusters on log message field), `limit`, time window (`start_ts`/`end_ts` in ms). |
| `STATSIG_MCP_COMMIT_AUTOTUNE_REVIEW` | Commit autotune review | Commit a review of an autotune experiment, APPLYING its proposed change to the live autotune. This is the step that actually mutates the autotune (e.g. starting it, resetting/reallocating, making a decision, or deleting it). Normally called after a different reviewer has approved the review. SELF-APPROVAL: an author cannot Approve_Autotune_Review on their own review — instead, to self-approve, the author commits their own still-pending review directly with this tool. Self-commit succeeds only when the acting user holds the "skip_config_review" permission; this tool bypasses precommit webhooks, so the acting user also needs "bypass_precommit_webhook", otherwise this returns 403. Requires a key owned by a user. path_id = the autotune's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_COMMIT_DYNAMIC_CONFIG_REVIEW` | Commit dynamic config review | Commit a review of a dynamic config, APPLYING its proposed change to the live config. This is the step that actually mutates the config (e.g. updating rules/default_value, enabling/disabling, archiving, or deleting). Normally called after a different reviewer has approved the review. SELF-APPROVAL: an author cannot Approve_Dynamic_Config_Review on their own review — instead, to self-approve, the author commits their own still-pending review directly with this tool (this is the intended self-approval path). Self-commit succeeds only when the dynamic config permits self-approval and the acting user holds the "skip_config_review" permission. This tool bypasses precommit webhooks, so the acting user also needs "bypass_precommit_webhook"; otherwise this returns 403. Requires a key owned by a user. path_id = the dynamic config's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_COMMIT_EXPERIMENT_REVIEW` | Commit experiment review | Commit a review of an experiment (A/B test), APPLYING its proposed change to the live experiment. This is the step that actually mutates the experiment (e.g. starting / stopping it, shipping a decision, rolling out a group, or updating settings). Normally called after a different reviewer has approved the review. SELF-APPROVAL: an author cannot Approve_Experiment_Review on their own review — instead, to self-approve, the author commits their own still-pending review directly with this tool (this is the intended self-approval path). Self-commit succeeds only when the experiment's layer permits self-approval and the acting user holds the "skip_config_review" permission. This tool bypasses precommit webhooks, so the acting user also needs "bypass_precommit_webhook"; otherwise this returns 403. Requires a key owned by a user. path_id = the experiment's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_COMMIT_GATE_REVIEW` | Commit gate review | Commit a review of a gate (feature flag), APPLYING its proposed change to the live gate. This is the step that actually mutates the gate (e.g. updating rules, enabling/disabling, archiving, or deleting). Normally called after a different reviewer has approved the review. SELF-APPROVAL: an author cannot Approve_Gate_Review on their own review — instead, to self-approve, the author commits their own still-pending review directly with this tool (this is the intended self-approval path). Self-commit succeeds only when the gate permits self-approval and the acting user holds the "skip_config_review" permission. This tool bypasses precommit webhooks, so the acting user also needs "bypass_precommit_webhook"; otherwise this returns 403. Requires a key owned by a user. path_id = the gate's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_CREATE_AUTOTUNE` | Create autotune | Create an Autotune (multi-armed bandit) experiment that automatically shifts traffic toward the best-performing variant. Specify the variants (arms), the successEvent to optimize for, and the explorationWindow / attributionWindow / winnerThreshold parameters. Set isContextual=true to create a contextual multi-armed bandit (CMAB) that picks an arm per user-context; otherwise a standard MAB is created. Creating an Autotune begins reallocating live SDK traffic across the variants — review the variants and rollout settings before calling. |
| `STATSIG_MCP_CREATE_AUTOTUNE_REVIEW` | Create autotune review | Open a review proposing a change to an autotune experiment. The change is NOT applied to the live autotune yet — it must be approved (Approve_Autotune_Review) and then committed (Commit_Autotune_Review). Set `type` to the kind of change and supply only the fields that type needs: start (optional start_date) / scheduled_start (start_time) / scheduled_start_edit (new_time) / reallocate — the autotune "reset" (optional reason) / make_decision (winning_group_id) / delete / disable_reviews_locally. Requires a key owned by a user. path_id = the autotune's ID. |
| `STATSIG_MCP_CREATE_DYNAMIC_CONFIG` | Create dynamic config | Create a new Dynamic Config (static, targetable JSON object) in the Statsig console, including targeting rules, its ID (how we'll refer to it in-code) and its IDtype, which it'll randomize users on. CRITICAL CONSTRAINTS: - the return value for each variant must be set with returnValueJson5. - Always include DefaultValue field in the POST request |
| `STATSIG_MCP_CREATE_DYNAMIC_CONFIG_REVIEW` | Create dynamic config review | Open a review proposing a change to a dynamic config. The change is NOT applied to the live config yet — it must be approved (Approve_Dynamic_Config_Review) and then committed (Commit_Dynamic_Config_Review). Provide a description, an optional set of requested reviewers (use Get_Dynamic_Config_Eligible_Reviewers to find valid IDs), and a `change` carrying exactly one change slot: the content bundle (`rules` and/or `default_value`, which may coexist), one verb field (e.g. is_enabled, is_archived, delete), `restore`, or one metadata field. Requires a key owned by a user (review actions are attributed to the key owner). path_id = the dynamic config's name/ID. |
| `STATSIG_MCP_CREATE_EXPERIMENT` | Create experiment | Create an experiment, including its ID (which is how we refer to it in-code), its groups (test/control, and return values) and the ID type it should randomize users on. For metrics, omit direction and hypothesizedValue unless the user explicitly asks for one-sided testing or one-sample testing. Metric direction enables one-sided testing; hypothesizedValue enables one-sample testing against a fixed baseline. |
| `STATSIG_MCP_CREATE_EXPERIMENT_REVIEW` | Create experiment review | Open a review proposing a change to an experiment (A/B test). The change is NOT applied to the live experiment yet — it must be approved (Approve_Experiment_Review) and then committed (Commit_Experiment_Review). Set `type` to the kind of change (start / stop / pause / restart / abandon / archive / delete / make_decision / rollout / schedule_rollout / reallocate / change_enabled_groups / unarchive / update_owners / update_team / update_settings / update_overrides / update_target_applications / update_allowed_reviewers / update_default_impact_multiplier / scheduled_start / scheduled_start_edit / disable_reviews_locally) and supply only the fields that type needs (e.g. make_decision → winning_group_id; rollout → group_id + rollout_percentage; update_owners → owners; update_settings → settings). Requires a key owned by a user. path_id = the experiment's ID. |
| `STATSIG_MCP_CREATE_GATE` | Create gate | Create a new gate (feature flag), including its rules (who should pass it) its ID (how we'll refer to it in-code) and its IDtype, which it'll randomize users on. |
| `STATSIG_MCP_CREATE_GATE_REVIEW` | Create gate review | Open a review proposing a change to a gate (feature flag). The change is NOT applied to the live gate yet — it must be approved (Approve_Gate_Review) and then committed (Commit_Gate_Review). Provide a description, an optional set of requested reviewers (use Get_Gate_Eligible_Reviewers to find valid IDs), and a `change` carrying EXACTLY ONE proposed operation (e.g. rules, is_enabled, is_archived, delete). Requires a key owned by a user (review actions are attributed to the key owner). path_id = the gate's name/ID. |
| `STATSIG_MCP_CREATE_LAYER` | Create layer | Create a new layer, including its name, ID type, and optional target apps or team ownership. |
| `STATSIG_MCP_CREATE_PARAM_STORE` | Create param store | Create a new Param Store (a reusable, named collection of typed parameters) in this Statsig project. Provide a name (the in-code identifier), a displayName, and a description. The store is created empty — add parameters afterward with Update_Param_Store. Optionally set targetAppIDs, tags, and team. |
| `STATSIG_MCP_CREATE_SEGMENT` | Create segment | Create a new segment, including its name, type, optional ID, ID type, and rules for rule-based segments. |
| `STATSIG_MCP_DELETE_EXPERIMENT` | Delete experiment | Delete an experiment (A/B test) by ID. Destructive and irreversible — confirm the ID before calling. On a team that requires reviews, prefer proposing the deletion through review (Create_Experiment_Review with type "delete" → approve → commit) instead of deleting directly. Requires a key owned by a user. path_id = the experiment's ID. |
| `STATSIG_MCP_DELETE_PARAM_STORE` | Delete param store | Delete a Param Store by name. Destructive and irreversible — it removes a store that SDKs may be reading. Confirm the name before calling. |
| `STATSIG_MCP_EDIT_AUTOTUNE_REVIEW` | Edit autotune review | Edit an in-flight autotune review's metadata — description and/or requested reviewers. Supply any subset; an omitted field keeps the review's current value, and an empty body is rejected. Autotune reviews have no editable "content" (to change the proposed change, cancel and recreate). The review must still be mutable (pending or accepted). Requires a key owned by a user. path_id = the autotune's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_EDIT_DYNAMIC_CONFIG_REVIEW` | Edit dynamic config review | Edit an in-flight dynamic config review's metadata (description, requested reviewers) and/or its proposed `change`. Supply any subset; an empty body is rejected. The review must still be mutable (pending or accepted); content (`change`) can only be edited while pending and cannot change the review's type. Requires a key owned by a user. path_id = the dynamic config's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_EDIT_EXPERIMENT_REVIEW` | Edit experiment review | Edit an in-flight experiment (A/B test) review's metadata — description and/or requested reviewers. Supply any subset; an omitted field keeps the review's current value, and an empty body is rejected. Experiment reviews have no editable "content" (to change the proposed change, cancel and recreate). The review must still be mutable (pending or accepted). Requires a key owned by a user. path_id = the experiment's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_EDIT_GATE_REVIEW` | Edit gate review | Edit an in-flight gate (feature flag) review's metadata (description, requested reviewers) and/or its proposed `change`. Supply any subset; an empty body is rejected. The review must still be mutable (pending or accepted); content (`change`) can only be edited while pending and cannot change the review's type. Requires a key owned by a user. path_id = the gate's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_FETCH` | Fetch | Fetch the full document for a search result id. Use the id returned by search. |
| `STATSIG_MCP_GET_AUDIT_LOGS` | Get audit logs | List audit logs for this Statsig project. Supports filtering by id, sorting, tags, date range, and pagination. |
| `STATSIG_MCP_GET_AUTOTUNE_ELIGIBLE_REVIEWERS` | Get autotune eligible reviewers | List the users and reviewer groups eligible to approve/reject a review of this autotune experiment. Use this to pick valid reviewer_ids / reviewer_group_ids when creating or editing an autotune review. The response carries everyone_eligible (true when anyone may review), users (the flattened, deduped set of eligible individuals), and groups (each with its member user_ids). Note: project admins can always review and are NOT enumerated here. path_id = the autotune's ID. |
| `STATSIG_MCP_GET_AUTOTUNE_REVIEW_BY_ID` | Get autotune review by id | Get a single review for an autotune experiment by its review ID, including its status, proposed change type, author, and requested reviewers. A review is a proposed change that goes through an approve → commit lifecycle before it is applied. path_id = the autotune's ID; path_reviewID = the review ID (from Get_List_of_Autotune_Reviews or Create_Autotune_Review). |
| `STATSIG_MCP_GET_DYNAMIC_CONFIG_DETAILS_BY_ID` | Get dynamic config details by id | Get the details (including rules, return values, and more) for a Dynamic Config (static, targetable JSON) in the Statsig console. |
| `STATSIG_MCP_GET_DYNAMIC_CONFIG_ELIGIBLE_REVIEWERS` | Get dynamic config eligible reviewers | List the users and reviewer groups eligible to approve/reject a review of this dynamic config. Use this to pick valid reviewer_ids / reviewer_group_ids when creating or editing a dynamic config review. The response carries everyone_eligible (true when anyone may review), users (the flattened, deduped set of eligible individuals), and groups (each with its member user_ids). Note: project admins can always review and are NOT enumerated here. path_id = the dynamic config's name/ID. |
| `STATSIG_MCP_GET_DYNAMIC_CONFIG_REVIEW_BY_ID` | Get dynamic config review by id | Get a single review for a dynamic config by its review ID, including its status, proposed change, author, and requested reviewers. A review is a proposed change to the dynamic config that goes through an approve → commit lifecycle before it is applied. path_id = the dynamic config's name/ID; path_reviewID = the review ID (from Get_List_of_Dynamic_Config_Reviews or Create_Dynamic_Config_Review). |
| `STATSIG_MCP_GET_DYNAMIC_CONFIG_VERSION_HISTORY` | Get dynamic config version history | List historical versions of a Dynamic Config (static, targetable JSON object) to reconstruct a timeline of how it changed — rules, return values, defaults, and metadata across edits. Useful for debugging when dynamic config behavior changed and what changed it. |
| `STATSIG_MCP_GET_EXPERIMENT_DETAILS_BY_ID` | Get experiment details by id | Get details including parameters (return values), groups, status & more of an experiment in Statsig. Use query_fields to return only specific top-level fields and keep the response small. |
| `STATSIG_MCP_GET_EXPERIMENT_ELIGIBLE_REVIEWERS` | Get experiment eligible reviewers | List the users and reviewer groups eligible to approve/reject a review of this experiment (A/B test). Use this to pick valid reviewer_ids / reviewer_group_ids when creating or editing an experiment review. The response carries everyone_eligible (true when anyone may review), users (the flattened, deduped set of eligible individuals), and groups (each with its member user_ids). Note: project admins can always review and are NOT enumerated here. path_id = the experiment's ID. |
| `STATSIG_MCP_GET_EXPERIMENT_METRIC_DIMENSION_RESULTS` | Get experiment metric dimension results | Get topline and dimensional breakdown results for one specific experiment metric. Use this when you already know the metric ID and need that metric broken down by dimensions. Do not use this tool for an experiment-wide summary across all pulse metrics; use Get_Experiment_Overall_Results instead. |
| `STATSIG_MCP_GET_EXPERIMENT_OVERALL_RESULTS` | Get experiment overall results | Get overall pulse results for an experiment across all pulse metrics. Use this when you need the experiment-wide topline view or a cross-metric summary. Do not use this tool when you need the dimensional breakdown for one specific metric; use Get_Experiment_Metric_Dimension_Results instead. |
| `STATSIG_MCP_GET_EXPERIMENT_REVIEW_BY_ID` | Get experiment review by id | Get a single review for an experiment (A/B test) by its review ID, including its status, proposed change type, author, and requested reviewers. A review is a proposed change that goes through an approve → commit lifecycle before it is applied. path_id = the experiment's ID; path_reviewID = the review ID (from Get_List_of_Experiment_Reviews or Create_Experiment_Review). |
| `STATSIG_MCP_GET_EXPERIMENT_SUMMARY_CHARTS` | Getexperimentsummarycharts | Get Experiment Summary charts and underlying data. |
| `STATSIG_MCP_GET_EXPERIMENT_VERSION_HISTORY` | Get experiment version history | List historical versions of an experiment (AB Test) to reconstruct a timeline of how it changed — groups, allocation, status, parameters, and metadata across edits. Useful for debugging when experiment behavior changed and what changed it. |
| `STATSIG_MCP_GET_GATE_DETAILS_BY_ID` | Get gate details by id | Get all details about a gate (feature flag) like its rules, idType, and more, from the Statsig Console. To judge whether a feature is actually live for a user, check status and isEnabled BEFORE reasoning about rules: when isEnabled is false the rules are NOT evaluated and every user receives the same blanket value — status "Launched" means all users pass (gate returns true) and status "Disabled" means all users fail (gate returns false). The rules apply only when isEnabled is true (status "In Progress"), where a user passes only if they match a passing rule. status "Archived" means the gate is retired. |
| `STATSIG_MCP_GET_GATE_ELIGIBLE_REVIEWERS` | Get gate eligible reviewers | List the users and reviewer groups eligible to approve/reject a review of this gate (feature flag). Use this to pick valid reviewer_ids / reviewer_group_ids when creating or editing a gate review. The response carries everyone_eligible (true when anyone may review), users (the flattened, deduped set of eligible individuals), and groups (each with its member user_ids). Note: project admins can always review and are NOT enumerated here. path_id = the gate's name/ID. |
| `STATSIG_MCP_GET_GATE_RESULTS` | Get gate results | Get the metric results for a given gate and rule in the gate |
| `STATSIG_MCP_GET_GATE_REVIEW_BY_ID` | Get gate review by id | Get a single review for a gate (feature flag) by its review ID, including its status, proposed change, author, and requested reviewers. A review is a proposed change to the gate that goes through an approve → commit lifecycle before it is applied. path_id = the gate's name/ID; path_reviewID = the review ID (from Get_List_of_Gate_Reviews or Create_Gate_Review). |
| `STATSIG_MCP_GET_GATE_VERSION_HISTORY` | Get gate version history | List historical versions of a gate (feature flag) to reconstruct a timeline of how it changed — rules, IDtype, enabled state, and metadata across edits. Useful for debugging when gate behavior changed and what changed it. |
| `STATSIG_MCP_GET_LAYER_DETAILS_BY_ID` | Get layer details by id | Get all details about a layer, including its parameters and metadata, from the Statsig Console. |
| `STATSIG_MCP_GET_LAYER_EXPERIMENTS` | Get layer experiments | List the experiments in a layer, including each experiment's allocation and groups within the layer. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LAYER_OVERRIDES` | Get layer overrides | Get the conditional and ID overrides configured for a layer in the Statsig Console. |
| `STATSIG_MCP_GET_LIST_OF_AUTOTUNE_REVIEWS` | Get list of autotune reviews | List the reviews for an autotune experiment, newest first. A review is a proposed change to the autotune (start / reallocate / make_decision / delete, etc.) that goes through an approve → commit lifecycle before it is applied to the live autotune. Defaults to a small page (the active/most-recent review is the usual interest); pass query_limit / query_page to page further back through history. Use path_id = the autotune's ID. |
| `STATSIG_MCP_GET_LIST_OF_DYNAMIC_CONFIG_REVIEWS` | Get list of dynamic config reviews | List the reviews for a dynamic config, newest first. A review is a proposed change to the dynamic config (rules, default_value, enabled state, archive, delete, etc.) that goes through an approve → commit lifecycle before it is applied to the live config. Defaults to a small page (the active/most-recent review is the usual interest); pass query_limit / query_page to page further back through history. Use path_id = the dynamic config's name/ID. |
| `STATSIG_MCP_GET_LIST_OF_DYNAMIC_CONFIGS` | Get list of dynamic configs | List all Dynamic Configs (static, targetable JSON objects) in this Statsig project. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_EXPERIMENT_REVIEWS` | Get list of experiment reviews | List the reviews for an experiment (A/B test), newest first. A review is a proposed change to the experiment (start / stop / make_decision / rollout / settings, etc.) that goes through an approve → commit lifecycle before it is applied to the live experiment. Defaults to a small page (the active/most-recent review is the usual interest); pass query_limit / query_page to page further back through history. Use path_id = the experiment's ID. |
| `STATSIG_MCP_GET_LIST_OF_EXPERIMENTS` | Get list of experiments | List all experiments (AB Tests) in this Statsig project. Supports filtering by status, tags, creator, team (query_teamID), and created date range (query_createdStartDate / query_createdEndDate as YYYY-MM-DD). To fetch several specific experiments at once, pass query_ids (a batch read) instead of calling Get_Experiment_Details_by_ID repeatedly, and use query_fields to return only the fields you need and keep the response small. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_GATE_REVIEWS` | Get list of gate reviews | List the reviews for a gate (feature flag), newest first. A review is a proposed change to the gate (rules, enabled state, archive, delete, etc.) that goes through an approve → commit lifecycle before it is applied to the live gate. Defaults to a small page (the active/most-recent review is the usual interest); pass query_limit / query_page to page further back through history. Use path_id = the gate's name/ID. |
| `STATSIG_MCP_GET_LIST_OF_GATES` | Get list of gates | List all gates (feature flags) in this Statsig project. Live state for each gate is determined by status and isEnabled, not just rules: when isEnabled is false the rules are NOT evaluated — status "Launched" means every user passes (true) and status "Disabled" means every user fails (false); rules apply only when isEnabled is true (status "In Progress"). The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_LAYERS` | Get list of layers | List all layers in this Statsig project. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_METRICS` | Get list of metrics | List all metrics in this Statsig project. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_METRIC_SOURCES` | Get list of metric sources | List all metric sources in this Statsig project. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_PARAM_STORES` | Get list of param stores | List param stores in this Statsig project. The API enforces a maximum query_limit of 100. If query_limit is not provided, default to 100 (or fewer) and never exceed 100. |
| `STATSIG_MCP_GET_LIST_OF_SEGMENTS` | Get list of segments | List all segments in this Statsig project. |
| `STATSIG_MCP_GET_LIST_OF_TAGS` | Get list of tags | List all tags in this Statsig project, returning each tag's id and name. Use this to resolve a tag name/text (e.g. "oslo-tier-0", "checkout") to its tag id, then pass those ids to the query_tags filter on tools like Get_List_of_Metrics — those filters expect tag ids, not tag names. |
| `STATSIG_MCP_GET_METRIC_DEFINITION_BY_ID` | Get metric definition by id | Get the full definition for a metric in Statsig, including its type, source, and configuration details. |
| `STATSIG_MCP_GET_PARAM_STORE_DETAILS_BY_ID` | Get param store details by id | Get a param store by name, including its description, typed parameters, and metadata. |
| `STATSIG_MCP_GET_SEGMENT_BY_ID` | Get segment by id | Get all details about a segment in the Statsig Console. |
| `STATSIG_MCP_GET_TOOL_SCHEMA` | Get tool schema | Get the full input schema, description, and annotations for any Statsig MCP tool by name — including tools not shown in the default tool list (find them with Search_Tools). After fetching the schema, execute the tool with Invoke_Tool. |
| `STATSIG_MCP_INVOKE_TOOL` | Invoke tool | Execute any Statsig MCP tool by name with arguments — including tools not shown in the default tool list. Find tools with Search_Tools, get their exact input schema with Get_Tool_Schema, then execute them here. The target tool's own permissions apply (e.g. read-only orgs cannot invoke write tools). |
| `STATSIG_MCP_QUERY_LOGS_EXPLORER` | Query logs explorer | Fetch log lines from Statsig Logs Explorer (MCP equivalent of `statsig-query logs`). Uses the same filter syntax as the console filter bar and CLI `--filter` (e.g. `service:scrapi AND tier:latest AND level:error`). Do not wrap filters in `#logs{ }`. Set `source` to `logs` (default), `events`, or `spans`. Supports time window (`start_ts`/`end_ts` in ms), `columns`, `limit`, and cursor pagination via `after`. For noisy results, follow up with `Cluster_Log_Patterns`. |
| `STATSIG_MCP_REJECT_AUTOTUNE_REVIEW` | Reject autotune review | Reject an in-flight review of an autotune experiment. Rejection is terminal — the proposed change is not applied and the review cannot be reopened (create a new review to retry). A `reason` is required. The acting user must be an eligible reviewer (see Get_Autotune_Eligible_Reviewers) and cannot reject their own review. Requires a key owned by a user. path_id = the autotune's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_REJECT_DYNAMIC_CONFIG_REVIEW` | Reject dynamic config review | Reject an in-flight review of a dynamic config. Rejection is terminal — the proposed change is not applied and the review cannot be reopened (create a new review to retry). A `reason` is required. The acting user must be an eligible reviewer (see Get_Dynamic_Config_Eligible_Reviewers) and cannot reject their own review. Requires a key owned by a user. path_id = the dynamic config's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_REJECT_EXPERIMENT_REVIEW` | Reject experiment review | Reject an in-flight review of an experiment (A/B test). Rejection is terminal — the proposed change is not applied and the review cannot be reopened (create a new review to retry). A `reason` is required. The acting user must be an eligible reviewer (see Get_Experiment_Eligible_Reviewers) and cannot reject their own review. Requires a key owned by a user. path_id = the experiment's ID; path_reviewID = the review ID. |
| `STATSIG_MCP_REJECT_GATE_REVIEW` | Reject gate review | Reject an in-flight review of a gate (feature flag). Rejection is terminal — the proposed change is not applied and the review cannot be reopened (create a new review to retry). A `reason` is required. The acting user must be an eligible reviewer (see Get_Gate_Eligible_Reviewers) and cannot reject their own review. Requires a key owned by a user. path_id = the gate's name/ID; path_reviewID = the review ID. |
| `STATSIG_MCP_SEARCH` | Search | Search the Statsig MCP data source and return relevant results. Use the fetch tool to retrieve full documents. |
| `STATSIG_MCP_SEARCH_TOOLS` | Search tools | Search the full catalog of Statsig MCP tools by keyword. More tools exist than are listed by default — reviews (create/approve/reject/commit), autotunes, param stores, segments, layers, deletes, code cleanup, and more. Fetch a found tool's schema with Get_Tool_Schema, then execute it with Invoke_Tool. |
| `STATSIG_MCP_START_EXPERIMENT_CODE_CLEANUP` | Start experiment code cleanup | Start code cleanup for a stale experiment by name, which creates a PR to remove the experiment from your codebase. |
| `STATSIG_MCP_START_GATE_CODE_CLEANUP` | Start gate code cleanup | Start code cleanup for a gate by name, which creates a PR to remove the gate from your codebase. |
| `STATSIG_MCP_UPDATE_DYNAMIC_CONFIG_ENTIRELY` | Update dynamic config entirely | Fully update a dynamic config, replacing everything the dynamic config currently has on the Statsig console with the data included in this POST request. Use the GET option to gather the attributes of the dynamic config, edit them, then use this tool. CRITICAL CONSTRAINTS: - the return value for each variant must be set with returnValueJson5. - Always include DefaultValue field in the POST request |
| `STATSIG_MCP_UPDATE_EXPERIMENT_ENTIRELY` | Update experiment entirely | Fully update an experiment, replacing everything the experiment currently has on the Statsig console with the data included in this POST request. Use the GET option to gather the attributes of the experiment, edit them, then use this Tool. For metrics, omit direction and hypothesizedValue unless the user explicitly asks for one-sided testing or one-sample testing. Metric direction enables one-sided testing; hypothesizedValue enables one-sample testing against a fixed baseline. |
| `STATSIG_MCP_UPDATE_GATE_ENTIRELY` | Update gate entirely | Fully update a gate, replacing everything the gate currently has on the Statsig console with the data included in this POST request. Use the GET option to gather the attributes of the gate, edit them, then use this tool. |
| `STATSIG_MCP_UPDATE_LAYER_ENTIRELY` | Update layer entirely | Fully update a layer, replacing everything the layer currently has on the Statsig console with the data included in this POST request. Use the GET option to gather the attributes of the layer, edit them, then use this tool. |
| `STATSIG_MCP_UPDATE_PARAM_STORE` | Update param store | Update an existing Param Store by name. Set its description and/or its parameters. Each parameter is typed (string/boolean/number/object/array) and is either a static value or a reference to a gate, layer, dynamic config, or experiment. Note: the parameters field replaces the store's full parameter list, so include every parameter you want to keep. This modifies a live store that SDKs read. |
| `STATSIG_MCP_UPDATE_SEGMENT` | Update segment | Update a Statsig segment using the appropriate segment endpoint. Supports rule-based rule updates and add operations for ID list / user store ID list segments via params.query_operation. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Statsig MCP server connects Claude Cowork to your Statsig account through Composio. Once connected, Cowork can use the available Statsig tools and triggers to complete tasks on your behalf.

## Complete Code

None listed.

## How to build Statsig MCP Agent with another framework

- [ChatGPT Work](https://composio.dev/toolkits/statsig_mcp/framework/chatgpt)
- [Hermes](https://composio.dev/toolkits/statsig_mcp/framework/hermes-agent)

## Related Toolkits

- [Firecrawl](https://composio.dev/toolkits/firecrawl) - Firecrawl automates large-scale web crawling and data extraction. It helps organizations efficiently gather, index, and analyze content from online sources.
- [Tavily](https://composio.dev/toolkits/tavily) - Tavily offers powerful search and data retrieval from documents, databases, and the web. It helps teams locate and filter information instantly, saving hours on research.
- [Exa](https://composio.dev/toolkits/exa) - Exa is a data extraction and search platform for gathering and analyzing information from websites, APIs, or databases. It helps teams quickly surface insights and automate data-driven workflows.
- [Serpapi](https://composio.dev/toolkits/serpapi) - SerpApi is a real-time API for structured search engine results. It lets you automate SERP data collection, parsing, and analysis for SEO and research.
- [Peopledatalabs](https://composio.dev/toolkits/peopledatalabs) - Peopledatalabs delivers B2B data enrichment and identity resolution APIs. Supercharge your apps with accurate, up-to-date business and contact data.
- [Snowflake](https://composio.dev/toolkits/snowflake) - Snowflake is a cloud data warehouse built for elastic scaling, secure data sharing, and fast SQL analytics across major clouds.
- [Posthog](https://composio.dev/toolkits/posthog) - PostHog is an open-source analytics platform for tracking user interactions and product metrics. It helps teams refine features, analyze funnels, and reduce churn with actionable insights.
- [Ahrefs MCP](https://composio.dev/toolkits/ahrefs_mcp) - Ahrefs MCP is Ahrefs' hosted MCP server for SEO data and insights. Use it to access backlinks, organic metrics, keyword research, and competitor analysis.
- [Amplitude](https://composio.dev/toolkits/amplitude) - Amplitude is a digital analytics platform for product and behavioral data insights. It helps teams analyze user journeys and make data-driven decisions quickly.
- [Audioscrape MCP](https://composio.dev/toolkits/audioscrape_mcp) - Audioscrape MCP lets agents search and retrieve speaker-attributed audio, transcripts, entities, and citations from public and workspace content. Use it to surface searchable, speaker-labeled audio and rich metadata for research, meetings, and content discovery.
- [Baremetrics](https://composio.dev/toolkits/baremetrics) - Baremetrics is a subscription analytics platform for recurring-revenue businesses. It helps teams track MRR, churn, customers, and revenue trends in one place.
- [Bing Webmaster Tools](https://composio.dev/toolkits/bing_webmaster_tools) - Bing Webmaster Tools is Microsoft's search console for site performance, crawling, indexing, URL submission, and verified site management. It helps site owners understand Bing Search visibility and fix issues that affect organic traffic.
- [Bread & Butter](https://composio.dev/toolkits/bread_butter) - Bread & Butter is a lead-intelligence and identity platform for website visitor tracking, user profiles, attribution, authentication, and conversion workflows. It helps teams understand who is visiting, where leads come from, and how users convert.
- [Bright Data MCP](https://composio.dev/toolkits/brightdata_mcp) - Bright Data MCP is an AI-powered web scraping and data collection platform. Instantly access public web data in real time with advanced scraping tools.
- [Browseai](https://composio.dev/toolkits/browseai) - Browseai is a web automation and data extraction platform that turns any website into an API. It's perfect for monitoring websites and retrieving structured data without manual scraping.
- [BSC Designer](https://composio.dev/toolkits/bsc_designer) - BSC Designer is a strategy execution platform for balanced scorecards, KPIs, dashboards, and strategy maps. It helps teams turn goals into measurable performance plans they can track over time.
- [Chameleon](https://composio.dev/toolkits/chameleon) - Chameleon is a product adoption platform for building in-app experiences, managing customer data, and analyzing user engagement. It helps teams improve onboarding, feature discovery, and product adoption with targeted user experiences.
- [Chartly](https://composio.dev/toolkits/chartly) - Chartly renders Chart.js configurations as PNG or SVG images and creates permanent chart URLs for sharing and embedding. Share and embed charts easily with stable image URLs and downloadable vector graphics.
- [ChartMogul](https://composio.dev/toolkits/chartmogul) - ChartMogul is a subscription analytics and revenue data platform. It helps teams monitor MRR, churn, customer segments, and billing metrics.
- [ClickHouse](https://composio.dev/toolkits/clickhouse) - ClickHouse is an open-source, column-oriented database for real-time analytics and big data processing using SQL. Its lightning-fast query performance makes it ideal for handling large datasets and delivering instant insights.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Statsig MCP?

With a standalone Statsig MCP server, the agents and LLMs can only access a fixed set of Statsig tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Statsig and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Claude Cowork?

Yes, you can. Claude Cowork fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Statsig tools.

### Can I manage the permissions and scopes for Statsig while using Tool Router?

Yes, absolutely. You can configure which Statsig scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Statsig data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
