Token导航 LogoToken导航TokenDH.com
Statsig MCP Server logo
数据服务stdio官方级别未说明来源级核验

Statsig MCP Server

MCP Server

Statsig MCP服务器是一个用于管理功能标记、实验和动态配置的服务,适用于AI助手与Statsig控制台API的交互。

工具数

27

提示词数

0

GitHub Stars

0

资源数

0
Python数据分析API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

GeLi2001

提供方

GeLi2001

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

Statsig MCP服务器

模型上下文协议服务器 统计 功能标志和实验平台。

该MCP服务器使人工智能助手能够与Statsig的Console API进行交互,以实现全面的功能管理和实验平台管理。

特性

  • 🚩 功能门管理:创建、读取、更新和删除要素门
  • ⚙️ 动态配置管理:动态配置的完整CRUD操作
  • 🧪 实验管理:创建、读取、更新和删除实验
  • 👥 细分市场管理:创建和管理用户细分
  • 📊 指标访问:查看和分析平台指标
  • 📈 审计日志:跟踪更改并访问审计跟踪
  • 🎯 目标应用程序:管理目标应用程序
  • 🔑 API密钥管理:列出并管理API密钥
  • 👤 团队管理:列出团队用户并通过电子邮件获取用户详细信息
  • 📋 事件查询:列出项目中可用的事件类型

安装

使用紫外线(推荐)

# Clone the repository
git clone https://github.com/GeLi2001/statsig-mcp.git
cd statsig-mcp

# Install dependencies with uv
uv sync

# Install with dev dependencies
uv sync --extra dev

使用pip

# Install from source
pip install -e .

# Or install with dev dependencies
pip install -e ".[dev]"

快速开始

1.获取控制台API密钥

  1. 首选 Statsig控制台
  2. 导航至 项目设置按键和环境
  3. 复制您的 控制台API密钥 (不是客户端或服务器密钥)

2.运行服务器

紫外线(推荐):

# Using command-line arguments (MCP best practice)
uv run -m statsig_mcp --api-key "console-xxx"

# With additional options
uv run -m statsig_mcp \
  --api-key "console-xxx" \
  --environment "production" \
  --api-timeout 5000 \
  --debug

# Or with environment variables
STATSIG_CONSOLE_API_KEY="console-xxx" uv run -m statsig_mcp

使用Python:

# Using flags (recommended)
python -m statsig_mcp --api-key "console-xxx"

# Or environment variables
export STATSIG_CONSOLE_API_KEY="console-xxx"
python -m statsig_mcp

3.配置选项

服务器同时支持这两种功能 命令行参数 (建议用于MCP)和 环境变量:

命令行参数(MCP最佳实践)

uv run -m statsig_mcp --help
参数类型默认值描述
--api-keystringNoneStatsig Console API密钥(必需)
--environmentstring开发环境层
--api-timeoutint3000API超时(以毫秒为单位)
--disable-loggingflagfalse禁用Statsig的事件日志记录
--debugflagfalse启用调试日志记录

环境变量(回退)

变量描述
STATSIG_CONSOLE_API_KEYStatsig控制台API密钥
STATSIG_ENVIRONMENT环境层
STATSIG_API_TIMEOUTAPI超时(以毫秒为单位)
STATSIG_DISABLE_LOGGING禁用日志记录(真/假)
STATSIG_DEBUG启用调试模式(真/假)

4.MCP客户端配置

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "statsig": {
      "command": "uv",
      "args": [
        "run",
        "-m",
        "statsig_mcp",
        "--api-key",
        "console-xxx",
        "--environment",
        "production"
      ]
    }
  }
}

带有环境变量的替代方案

{
  "mcpServers": {
    "statsig": {
      "command": "uv",
      "args": ["run", "-m", "statsig_mcp"],
      "env": {
        "STATSIG_CONSOLE_API_KEY": "console-xxx",
        "STATSIG_ENVIRONMENT": "production"
      }
    }
  }
}

5.使用MCP检查员进行测试

# Test your server with the MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run statsig-mcp --api-key console-xxx

可用工具

服务器提供了27个控制台API工具,这些工具按资源类型组织:

功能门管理

  • list_gates:列出所有特征门
  • get_gate:获取特定功能门的详细信息
  • create_gate:创建新特征门
  • update_gate:更新现有要素门
  • delete_gate:删除特征门

实验管理

  • list_experiments:列出所有实验
  • get_experiment:获取特定实验的详细信息
  • create_experiment:创建新实验
  • update_experiment:更新现有实验
  • delete_experiment:删除实验

动态配置管理

  • list_dynamic_configs:列出所有动态配置
  • get_dynamic_config:获取特定动态配置的详细信息
  • create_dynamic_config:创建新的动态配置
  • update_dynamic_config:更新现有的动态配置
  • delete_dynamic_config:删除动态配置

细分市场管理

  • list_segments:列出所有分段
  • get_segment:获取特定细分市场的详细信息
  • create_segment:创建新分段

分析和监控

  • list_metrics:列出所有指标
  • get_metric:获取特定指标的详细信息
  • list_audit_logs:列出具有可选日期筛选的审核日志

平台管理

  • list_target_apps:列出所有目标应用程序
  • get_target_app:获取特定目标应用程序的详细信息
  • list_api_keys:列出所有API密钥

团队与活动

  • list_team_users:列出所有团队成员
  • get_user_by_email:通过电子邮件获取团队成员信息
  • query_events:查询事件类型和详细信息

示例用法

创建要素门

{
  "name": "new_checkout_flow",
  "description": "Enable new checkout flow for users",
  "is_enabled": true
}

**Parameters:**

- `user_id` (string): User identifier
- `experiment_name` (string): Name of the experiment
- `user_email` (string, optional): User email
- `user_country` (string, optional): User country code
- `custom_attributes` (object, optional): Custom user attributes

#### 4. `get_layer`

Get layer parameter values for a user.

**Parameters:**

- `user_id` (string): User identifier
- `layer_name` (string): Name of the layer
- `user_email` (string, optional): User email
- `user_country` (string, optional): User country code
- `custom_attributes` (object, optional): Custom user attributes

#### 5. `log_event`

Log a custom event directly to Statsig.

**Parameters:**

- `user_id` (string): User identifier
- `event_name` (string): Name of the event
- `value` (string|number, optional): Event value
- `metadata` (object, optional): Event metadata
- `user_email` (string, optional): User email
- `user_country` (string, optional): User country code
- `custom_attributes` (object, optional): Custom user attributes

### Project Management

#### 6. `query_events`

List all event types configured in your Statsig project.

**Parameters:** None

**Returns:** List of event names and their configurations.

#### 7. `get_user_by_email`

Get team member information by email address.

**Parameters:**

- `email` (string): Email address of the team member

#### 8. `list_team_users`

List all team members in your Statsig project.

**Parameters:** None

**Returns:** List of team members with their roles and permissions.

## Example MCP Client Usage

from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client

Create server parameters with flags (recommended)

server_params = StdioServerParameters( command="uv", args=[ "run", "-m", "statsig_mcp", "--api-key", "console-xxx", "--environment", "production", "--debug" ] )

async def main(): async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: await session.initialize()

# Check a feature gate result = await session.call_tool( "check_feature_gate", arguments={ "user_id": "user123", "gate_name": "new_feature", "custom_attributes": {"plan": "premium"} } ) print(f"Feature gate result: {result}")

# Get dynamic config config = await session.call_tool( "get_dynamic_config", arguments={ "user_id": "user123", "config_name": "ui_config" } ) print(f"Config: {config}")

# Log an event await session.call_tool( "log_event", arguments={ "user_id": "user123", "event_name": "button_click", "metadata": {"button": "checkout"} } )

# List available events events = await session.call_tool("query_events") print(f"Available events: {events}")

# Get team member info user_info = await session.call_tool( "get_user_by_email", arguments={"email": "teammate@company.com"} ) print(f"Team member: {user_info}")


## 发展

### 设置开发环境

#### 使用紫外线(推荐):

Clone and setup

git clone https://github.com/GeLi2001/statsig-mcp.git cd statsig-mcp

Install all dependencies including dev tools

uv sync --extra dev

Run tests

uv run pytest

Format code

uv run black .

Type checking

uv run mypy .

Linting

uv run ruff check .


#### 使用pip:

Install in development mode with dev dependencies

pip install -e ".[dev]"

Run tests

pytest

Format code

black .

Type checking

mypy .


### 运行命令

随着 `uv`,您可以在虚拟环境中运行任何命令:

Run the server with flags

uv run -m statsig_mcp --api-key "console-xxx" --debug

Run tests with verbose output

uv run pytest -v

Run validation script

uv run python validate.py

Format and lint

uv run black . uv run ruff check --fix .


### 项目结构

statsig_mcp/ ├── __init__.py ├── __main__.py # Module entry point ├── server.py # Main MCP server implementation ├── console_client.py # Statsig Console API client └── types.py # Type definitions

tests/ # Test suite ├── test_server.py

examples/ # Usage examples ├── client_example.py

pyproject.toml # Project configuration uv.lock # Locked dependencies (uv) .venv/ # Virtual environment (uv managed)


## 建筑

此MCP服务器使用具有三个Statsig API的混合方法:

1. **控制台API** (`https://statsigapi.net/console/v1/*`)-用于项目管理(团队用户、事件类型)
1. **HTTP API** (`https://api.statsig.com/v1/*`)-用于实时特征检查(门、配置、实验、层)
1. **事件API** (`https://events.statsigapi.net/v1/*`)-用于直接事件记录

这种方法提供了功能和性能的最佳平衡,允许管理操作和实时功能评估。

## 安全说明

- 永远不要在客户端代码中暴露Statsig Console API密钥
- 为API键使用命令行参数或环境变量
- 控制台API密钥提供对Statsig项目的完全访问
- 考虑为不同的环境使用单独的API密钥
- 控制台API密钥与客户端密钥和服务器密钥不同

## 需求

- Python 3.10+
- uv(推荐)或pip用于包装管理

## 故障排除

### 常见问题

1. **“找不到API密钥”错误**:确保 `--api-key` 提供或 `STATSIG_CONSOLE_API_KEY` 已设置
1. **网络超时**:增加超时时间 `--api-timeout 5000`
1. **未找到特征门**:验证Statsig控制台中是否存在门名称
1. **Python版本错误**:此软件包需要Python 3.10+(MCP要求)
1. **API密钥类型错误**:请确保使用的是Console API密钥,而不是客户端或服务器密钥

### 调试模式

启用调试日志以进行故障排除:

With command-line flag (recommended)

uv run -m statsig_mcp --api-key "console-xxx" --debug

With environment variable

STATSIG_DEBUG=true uv run -m statsig_mcp --api-key "console-xxx"


### 帮助

获取命令行选项的帮助:

uv run -m statsig_mcp --help


## 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

## 贡献

1. 复刻仓库
1. 创建要素分支
1. 进行更改
1. 如果适用,添加测试
1. 运行测试和梳理: `uv run pytest && uv run ruff check`
1. 提交拉取请求

## 资源

- [Statsig文档](https://docs.statsig.com)
- [Statsig控制台API](https://docs.statsig.com/console-api/all-endpoints-generated)
- [模型上下文协议](https://github.com/modelcontextprotocol/python-sdk)
- [紫外线文件](https://docs.astral.sh/uv/)

目录标签

目录标签

Python数据分析API集成功能标记本地部署实验管理动态配置API管理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

27

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP