For AI agents: a documentation index is available at /llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
Migrate to Statsig MCP V3
Find the Statsig MCP V3 replacement for each of the 93 V1 tools, and learn what changes in requests and responses.
Statsig MCP V3 replaces the 93 individual tools on the V1 server with 18 default tools and a discovery layer. Statsig recommends V3, but V1 remains supported, so you can migrate when you're ready. Use this page to find the V3 replacement for each V1 tool you use and update your prompts, scripts, and automation.
Prerequisites
- An existing Statsig MCP connection that uses the V1 server URL (
https://api.statsig.com/v1/mcp) - A V3 connection (
https://api.statsig.com/v3/mcp). Follow the manual setup or your client's setup guide.
How the mapping works
Each V1 tool maps to one of two V3 calls.
Direct call: Call the named V3 tool.
- For grouped read tools such as
gate_read, setactionto the listed action and put the V1 argument object underarguments.params. - Create tools take the body in
params["application/json"]. - Update tools require
arguments.paramsandconfirmation. get_context,search,fetch, anddiscover_toolsuse their own schemas.
Discovery call: Rows that start with "Discovery" take two steps:
- Call
discover_toolswithactionset togetand the listed operation ID. - Call the execution tool the response returns (
api_read,api_write, orapi_destructive) with itsoperationHandleand arguments that match the returned schema. Includeconfirmationwhen the schema requires it.
An operationHandle expires, so retrieve a new one when you need it instead of hardcoding it. api_destructive also covers some updates and review actions, not only deletion. Your project permissions and review policies still apply.
Example: read a gate
To replace Get_Gate_Details_by_ID, call gate_read:
{
"action": "get_gate_details_by_id",
"arguments": {
"params": { "path_id": "your_gate_id" }
}
}
Before you migrate
- Check the server's current tool and discovery schemas for required fields and available operations.
- For Parameter Store lookup, update, and delete, use
params.path_idinstead ofparams.path_name. - V3 returns
structuredContentalongside text. Check any response parsing in your automation. - If you keep both versions connected while you test, disable the version you aren't testing to avoid duplicate tools.
The tool mapping covers the default V3 connection. Clients that use expanded tool exposure might also show typed tools for some discovery operations. Refer to the Statsig MCP tool reference.
Tool mapping
Context, search, and discovery
| V1 tool | V3 replacement |
|---|---|
fetch | fetch |
Get_Context | get_context |
Get_Tool_Schema | discover_tools, action get, with the discovered operation ID |
Invoke_Tool | Discovery, then api_read, api_write, or api_destructive, based on the returned lane, handle, and schema |
search | search |
Search_Tools | discover_tools, action list or resolve |
Feature gates
| V1 tool | V3 replacement |
|---|---|
Approve_Gate_Review | Discovery: feature_gates.approve.approve_gate_review with api_destructive |
Cancel_Gate_Review | Discovery: feature_gates.cancel.cancel_gate_review with api_destructive |
Commit_Gate_Review | Discovery: feature_gates.commit.commit_gate_review with api_destructive |
Create_Gate | gate_create, input params |
Create_Gate_Review | Discovery: feature_gates.create.create_gate_review with api_write |
Edit_Gate_Review | Discovery: feature_gates.edit.edit_gate_review with api_destructive |
Get_Gate_Details_by_ID | gate_read, action get_gate_details_by_id |
Get_Gate_Eligible_Reviewers | Discovery: feature_gates.list.get_gate_eligible_reviewers with api_read |
Get_Gate_Results | gate_read, action get_gate_results |
Get_Gate_Review_by_ID | Discovery: feature_gates.get.get_gate_review_by_id with api_read |
Get_Gate_Version_History | gate_read, action get_gate_version_history |
Get_List_of_Gate_Reviews | Discovery: feature_gates.list.get_list_of_gate_reviews with api_read |
Get_List_of_Gates | gate_read, action get_list_of_gates |
Reject_Gate_Review | Discovery: feature_gates.reject.reject_gate_review with api_destructive |
Start_Gate_Code_Cleanup | Discovery: feature_gates.start_cleanup.start_gate_code_cleanup with api_destructive |
Update_Gate_Entirely | gate_update, input arguments and confirmation |
Experiments
| V1 tool | V3 replacement |
|---|---|
Approve_Experiment_Review | Discovery: experiments.approve.approve_experiment_review with api_destructive |
Cancel_Experiment_Review | Discovery: experiments.cancel.cancel_experiment_review with api_destructive |
Commit_Experiment_Review | Discovery: experiments.commit.commit_experiment_review with api_destructive |
Create_Experiment | experiment_create, input params |
Create_Experiment_Review | Discovery: experiments.create.create_experiment_review with api_write |
Delete_Experiment | Discovery: experiments.delete.delete_experiment with api_destructive |
Edit_Experiment_Review | Discovery: experiments.edit.edit_experiment_review with api_destructive |
Get_Experiment_Details_by_ID | experiment_read, action get_experiment_details_by_id |
Get_Experiment_Eligible_Reviewers | Discovery: experiments.list.get_experiment_eligible_reviewers with api_read |
Get_Experiment_Metric_Dimension_Results | experiment_read, action get_experiment_metric_dimension_results |
Get_Experiment_Overall_Results | experiment_read, action get_experiment_overall_results |
Get_Experiment_Review_by_ID | Discovery: experiments.get.get_experiment_review_by_id with api_read |
Get_Experiment_Version_History | experiment_read, action get_experiment_version_history |
Get_List_of_Experiment_Reviews | Discovery: experiments.list.get_list_of_experiment_reviews with api_read |
Get_List_of_Experiments | experiment_read, action get_list_of_experiments |
GetExperimentSummaryCharts | experiment_read, action get_experiment_summary_charts |
Reject_Experiment_Review | Discovery: experiments.reject.reject_experiment_review with api_destructive |
Start_Experiment_Code_Cleanup | Discovery: experiments.start_cleanup.start_experiment_code_cleanup with api_destructive |
Update_Experiment_Entirely | experiment_update, input arguments and confirmation |
Dynamic configs
| V1 tool | V3 replacement |
|---|---|
Approve_Dynamic_Config_Review | Discovery: dynamic_configs.approve.approve_dynamic_config_review with api_destructive |
Cancel_Dynamic_Config_Review | Discovery: dynamic_configs.cancel.cancel_dynamic_config_review with api_destructive |
Commit_Dynamic_Config_Review | Discovery: dynamic_configs.commit.commit_dynamic_config_review with api_destructive |
Create_Dynamic_Config | dynamic_config_create, input params |
Create_Dynamic_Config_Review | Discovery: dynamic_configs.create.create_dynamic_config_review with api_write |
Edit_Dynamic_Config_Review | Discovery: dynamic_configs.edit.edit_dynamic_config_review with api_destructive |
Get_Dynamic_Config_Details_by_ID | dynamic_config_read, action get_dynamic_config_details_by_id |
Get_Dynamic_Config_Eligible_Reviewers | Discovery: dynamic_configs.list.get_dynamic_config_eligible_reviewers with api_read |
Get_Dynamic_Config_Review_by_ID | Discovery: dynamic_configs.get.get_dynamic_config_review_by_id with api_read |
Get_Dynamic_Config_Version_History | dynamic_config_read, action get_dynamic_config_version_history |
Get_List_of_Dynamic_Config_Reviews | Discovery: dynamic_configs.list.get_list_of_dynamic_config_reviews with api_read |
Get_List_of_Dynamic_Configs | dynamic_config_read, action get_list_of_dynamic_configs |
Reject_Dynamic_Config_Review | Discovery: dynamic_configs.reject.reject_dynamic_config_review with api_destructive |
Update_Dynamic_Config_Entirely | dynamic_config_update, input arguments and confirmation |
Autotunes
| V1 tool | V3 replacement |
|---|---|
Approve_Autotune_Review | Discovery: autotunes.approve.approve_autotune_review with api_destructive |
Cancel_Autotune_Review | Discovery: autotunes.cancel.cancel_autotune_review with api_destructive |
Commit_Autotune_Review | Discovery: autotunes.commit.commit_autotune_review with api_destructive |
Create_Autotune | Discovery: autotunes.create.create_autotune with api_destructive |
Create_Autotune_Review | Discovery: autotunes.create.create_autotune_review with api_write |
Edit_Autotune_Review | Discovery: autotunes.edit.edit_autotune_review with api_destructive |
Get_Autotune_Eligible_Reviewers | Discovery: autotunes.list.get_autotune_eligible_reviewers with api_read |
Get_Autotune_Review_by_ID | Discovery: autotunes.get.get_autotune_review_by_id with api_read |
Get_List_of_Autotune_Reviews | Discovery: autotunes.list.get_list_of_autotune_reviews with api_read |
Reject_Autotune_Review | Discovery: autotunes.reject.reject_autotune_review with api_destructive |
Layers
| V1 tool | V3 replacement |
|---|---|
Create_Layer | Discovery: layers.create.create_layer with api_write |
Get_Layer_Details_by_ID | Discovery: layers.get.get_layer_details_by_id with api_read |
Get_Layer_Experiments | Discovery: layers.list.get_layer_experiments with api_read |
Get_Layer_Overrides | Discovery: layers.list.get_layer_overrides with api_read |
Get_List_of_Layers | Discovery: layers.list.get_list_of_layers with api_read |
Update_Layer_Entirely | Discovery: layers.update.update_layer_entirely with api_destructive |
Metrics and logs
| V1 tool | V3 replacement |
|---|---|
Cluster_Log_Patterns | Discovery: logs.analyze.cluster_log_patterns with api_read |
Get_Audit_Logs | log_read, action get_audit_logs |
Get_List_of_Metric_Sources | metric_read, action get_list_of_metric_sources |
Get_List_of_Metrics | metric_read, action get_list_of_metrics |
Get_Metric_Definition_by_ID | metric_read, action get_metric_definition_by_id |
Query_Logs_Explorer | log_read, action query_logs_explorer |
Parameter stores
| V1 tool | V3 replacement |
|---|---|
Create_Param_Store | Discovery: param_stores.create.create_param_store with api_write |
Delete_Param_Store | Discovery: param_stores.delete.delete_param_store with api_destructive |
Get_List_of_Param_Stores | Discovery: param_stores.list.get_list_of_param_stores with api_read |
Get_Param_Store_Details_by_Id | Discovery: param_stores.get.get_param_store_details_by_id with api_read |
Update_Param_Store | Discovery: param_stores.update.update_param_store with api_destructive |
Prompts
| V1 tool | V3 replacement |
|---|---|
Create_Prompt | Discovery: prompts.create.create_prompt with api_write |
Create_Prompt_Version | Discovery: prompts.create.create_prompt_version with api_write |
Get_List_of_Prompts | Discovery: prompts.list.get_list_of_prompts with api_read |
Get_Prompt_Details_by_ID | Discovery: prompts.get.get_prompt_details_by_id with api_read |
Start_Prompt_Version_Evals | Discovery: prompts.analyze.start_prompt_version_evals with api_write |
Update_Prompt | Discovery: prompts.update.update_prompt with api_write |
Segments and tags
| V1 tool | V3 replacement |
|---|---|
Create_Segment | Discovery: segments.create.create_segment with api_write |
Get_List_of_Segments | Discovery: segments.list.get_list_of_segments with api_read |
Get_List_of_Tags | Discovery: tags.list.get_list_of_tags with api_read |
Get_Segment_by_ID | Discovery: segments.get.get_segment_by_id with api_read |
Update_Segment | Discovery: segments.update.update_segment with api_destructive |
Was this helpful?