GrowthBook

resmi

Özellik bayrakları oluşturup okuyun, deneyleri inceleyin, bayrak türleri oluşturun, dokümanları arayın ve GrowthBook'un özellik bayraklama ve deney platformuyla etkileşime geçin.

GrowthBook MCP ile neler yapabilirsiniz?

  • Paketlenmiş becerileri listele — Asistanınızdan GrowthBook ajan becerilerini growthbook_list_skills ile numaralandırmasını isteyin; mevcut iş akışlarını görmek için.
  • Bir becerinin tam kılavuzunu oku — Belirli bir beceri için tam markdown iş akışını ve güvenlik kurallarını almak üzere growthbook_read_skill kullanın.
  • GrowthBook API verilerini okugrowthbook_api_read ile herhangi bir GrowthBook REST uç noktasına kimliği doğrulanmış GET istekleri gerçekleştirin; örneğin projeleri veya özellikleri getirin.
  • GrowthBook API'ye yaz — Kaynakları oluşturmak, güncellemek veya silmek için POST/PUT/PATCH/DELETE ile growthbook_api_write kullanın; güvenlik için destructiveHint ile.

Dokümantasyon

GrowthBook MCP Thin

GrowthBook için dört araç içeren ince bir MCP sunucusu:

AraçAmaç
growthbook_list_skillsPaketlenmiş GrowthBook aracı becerilerini listeler (ad + açıklama)
growthbook_read_skillBeceri markdown'ının tamamını döndürür (iş akışı + güvenlik önlemleri)
growthbook_api_readGrowthBook API'sine kimlik doğrulamalı GET geçişi
growthbook_api_writeKimlik doğrulamalı POST/PUT/PATCH/DELETE geçişi

Yeterlilik, skills deposunda yaşar ve derleme zamanında paketlenir. Yetenek, okuma ve yazma API araçları olarak ikiye ayrılır (uç nokta başına biçimlendirici yok), böylece istemciler readOnlyHint / destructiveHint değerlerini doğru şekilde onurlandırabilir.

Araçlar growthbook_ ile öneklenir, böylece bir istemcide birden fazla MCP sunucusu yüklüyken bile belirsizlik oluşmaz.

Kurulum / çalıştırma

npm install
npm run build

MCP istemcinizi derlenmiş giriş noktasına yönlendirin:

{
  "mcpServers": {
    "growthbook": {
      "command": "node",
      "args": ["/absolute/path/to/growthbook-mcp/server/index.js"],
      "env": {
        "GB_API_KEY": "your_api_key_or_pat",
        "GB_API_URL": "https://api.growthbook.io"
      }
    }
  }
}

Veya yayınlanmış paketi çalıştırın:

npx @growthbook/mcp

Ortam değişkenleri

DeğişkenGerekliVarsayılanAmaç
GB_API_KEYstdio için Evet; HTTP OAuth için isteğe bağlıGrowthBook API anahtarı veya kişisel erişim belirteci
GB_API_URLHayırhttps://api.growthbook.ioAPI temel URL'si (kendi kendine barındırılan) ve varsayılan OAuth AS vereni
GB_MCP_TRANSPORTHayırstdiostdio veya http
GB_MCP_PORTHayır3333HTTP dinleme portu (transport=http olduğunda)
GB_MCP_HOSTHayır127.0.0.1HTTP bağlama ana bilgisayarı
GB_MCP_URLHTTP için EvetOAuth kaynak meta verilerine damgalanan genel MCP temel URL'si (sunucu onsuz HTTP modunda başlamayı reddeder)
GB_OAUTH_ISSUERHayırGB_API_URLGrowthBook OAuth AS veren URL'si
GB_HTTP_HEADER_*HayırEkstra istek başlıkları (örn. GB_HTTP_HEADER_CF_ACCESS_TOKEN)
GB_SKILLS_ENABLEDHayırtrueBeceri araçlarını devre dışı bırakmak için false / 0 olarak ayarlayın

HTTP + OAuth modu

OAUTH_AS_ENABLED=1  # on the GrowthBook API
GB_MCP_TRANSPORT=http GB_API_URL=http://localhost:3100 GB_MCP_PORT=3333 npm start

İstemciler şuraya bağlanır:

  • http://127.0.0.1:3333/mcp — tam (beceriler + API okuma/yazma)
  • http://127.0.0.1:3333/mcp/api — yalnızca yetenek (growthbook_api_read + growthbook_api_write)

Kimliği doğrulanmamış istekler, /.well-known/oauth-protected-resource adresini gösteren WWW-Authenticate ile 401 alır; bu adres GrowthBook Authorization Server'ı tanıtır.

MCP'yi işlemeden önce sunucu, GrowthBook REST (GET /api/v1/) uç noktasını taşıyıcı belirteçle yoklar. Bu yoklamadan (veya daha sonra bir API aracından) gelen 401, "This API key has expired" öğesini araç hatası olarak göstermek yerine MCP istemcisinin yenileyebilmesi için error="invalid_token" ile HTTP 401 döndürür. Bir 403, kabul edilen bir taşıyıcı olarak değerlendirilir (izin reddi ≠ geçersiz belirteç), böylece istemciler yenileme döngüsüne zorlanmaz.

Yalnızca yetenek modu

HTTP (uzak erişim için önerilir): istemciyi /mcp yerine /mcp/api adresine yönlendirin:

{
  "mcpServers": {
    "growthbook": {
      "url": "http://127.0.0.1:3333/mcp/api"
    }
  }
}
YolAraçlar
/mcpgrowthbook_list_skills, growthbook_read_skill, growthbook_api_read, growthbook_api_write (GB_SKILLS_ENABLED=false değilse)
/mcp/apiyalnızca growthbook_api_read, growthbook_api_write

stdio / süreç genelinde: becerilerin asla kaydedilmemesi için ortamı ayarlayın:

"env": {
  "GB_API_KEY": "...",
  "GB_SKILLS_ENABLED": "false"
}

Beceriler devre dışı bırakıldığında yalnızca API okuma/yazma araçları kaydedilir. growthbook_list_skills ve growthbook_read_skill kullanıma sunulmaz.

Beceriler nasıl paketlenir

npm run build   # tsc && bundle-skills

scripts/bundle-skills.mjs, standart beceri kontrolündeki her skills/*/SKILL.md öğesini server/skills/<name>.md konumuna kopyalar.

Kaynak yol çözümlemesi:

  1. SKILLS_SRC ortam değişkeni (beceri deposu kökünün yolu) veya
  2. ../skills (kardeş dizin)

Beceri deposu gerçeğin kaynağı olmaya devam eder — bu paket beceri içeriğini asla çatallaştırmaz.

Becerileri API araçlarıyla kullanma

Paketlenmiş beceriler iş akışlarını hâlâ şu şekilde gösterir:

gb-call GET /api/v1/projects
gb-call POST /api/v2/features ./payload.json

Bu MCP sunucusu gb-call öğesine kabuk çağrısı yapmaz. GETgrowthbook_api_read ve POST/PUT/PATCH/DELETEgrowthbook_api_write eşlemesini aynı yol ve isteğe bağlı JSON gövde dizesiyle yapın. Sunucu talimatları ve growthbook_read_skill çıktısı bu köprü notunu içerir.

Araç ayrıntıları

growthbook_api_read / growthbook_api_write

{ "path": "/api/v1/projects" }
{ "method": "POST", "path": "/api/v2/features", "body": "{\"id\":\"my-flag\",...}" }
  • Okuma: yalnızca GET (readOnlyHint: true)
  • Yazma: POST | PUT | PATCH | DELETE (destructiveHint: true)
  • 2xx durumunda ham yanıt gövdesini döndürür
  • 2xx dışı durumlarda, kimlik doğrulama hatalarını, kendi kendine barındırılan 404 ipuçlarını ve hız sınırlarını kapsayan eyleme dönüştürülebilir bir hata (isError: true) döndürür
  • Serbest biçimli yollar GrowthBook REST API hedefler

growthbook_list_skills / growthbook_read_skill

Yalnızca GB_SKILLS_ENABLED devre dışı bırakılmadığında kaydedilir. growthbook_read_skill, aracının iş akışı adımlarını ve güvenlik önlemlerini takip edebilmesi için tam SKILL.md içeriğini döndürür.

Geliştirme

# Requires a sibling checkout at ../skills (or SKILLS_SRC)
npm install
npm run build
npm start

Bağımsız HTTP modu

Varsayılan olarak sunucu stdio üzerinden çalışır. Sunucuyu, MCP'yi /mcp (beceriler + API araçları) ve /mcp/api (yalnızca yetenek) konumlarında, bir OAuth 2.0 korumalı kaynak yüzeyinin (RFC 9728 meta verileri + RFC 6750 WWW-Authenticate) arkasında sunan bağımsız bir HTTP sunucusu olarak çalıştırmak için GB_MCP_TRANSPORT=http değerini ayarlayın.

  • GB_MCP_URL (HTTP modunda gereklidir) — sunucunun genel temel URL'si. OAuth kaynağına (hedef kitle) ve korumalı kaynak meta verilerine damgalanır, bu nedenle istek başlıklarından asla türetilmez. Sunucu onsuz başlamayı reddeder.
  • GB_MCP_PORT (varsayılan 3333) ve GB_MCP_HOST (varsayılan 127.0.0.1).
  • Gelen taşıyıcı belirteçler GrowthBook REST API'si yoklanarak doğrulanır; reddedilen bir belirteç, istemcinin yenileyebilmesi için HTTP 401 + WWW-Authenticate alır.

Güvenilir bir ağda veya geri döngüye bağlı olarak çalıştırın. Çok kiracılı veya genel bir dağıtım için kendi ağ geçidinizi/kimlik doğrulamanızı önüne koyun.

Sürümler

Sürüm çıkarmak kasıtlı bir işlemdir: package.json içindeki sürümü yükseltin, ardından eşleşen bir v* etiketi gönderin:

git tag v2.0.0
git push origin v2.0.0

Bu etiketli commit (beceriler kesim zamanında dondurulmuş halde) şunları yayınlar:

  • @growthbook/mcp npm'e — ön sürümler (- içeren sürümler, örn. 2.0.0-beta.1) beta dist-etiketi altına gider; kararlı sürümler latest olur
  • amd64 + arm64 çok mimarili bir görüntü ghcr.io/growthbook/growthbook-mcp konumuna (kararlı sürümler için :<version>, ayrıca :<major>, :<major>.<minor> ve :latest)
  • MCP kayıt defterinde bir giriş
  • Bir GitHub Sürümü

Bir sürümü npx @growthbook/mcp@<version> ile yükleyin veya ghcr.io/growthbook/growthbook-mcp:<version> çekin.