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_skillsile 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_skillkullanın. - GrowthBook API verilerini oku —
growthbook_api_readile 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_writekullanın; güvenlik içindestructiveHintile.
Dokümantasyon
GrowthBook MCP Thin
GrowthBook için dört araç içeren ince bir MCP sunucusu:
| Araç | Amaç |
|---|---|
growthbook_list_skills | Paketlenmiş GrowthBook aracı becerilerini listeler (ad + açıklama) |
growthbook_read_skill | Beceri markdown'ının tamamını döndürür (iş akışı + güvenlik önlemleri) |
growthbook_api_read | GrowthBook API'sine kimlik doğrulamalı GET geçişi |
growthbook_api_write | Kimlik 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şken | Gerekli | Varsayılan | Amaç |
|---|---|---|---|
GB_API_KEY | stdio için Evet; HTTP OAuth için isteğe bağlı | — | GrowthBook API anahtarı veya kişisel erişim belirteci |
GB_API_URL | Hayır | https://api.growthbook.io | API temel URL'si (kendi kendine barındırılan) ve varsayılan OAuth AS vereni |
GB_MCP_TRANSPORT | Hayır | stdio | stdio veya http |
GB_MCP_PORT | Hayır | 3333 | HTTP dinleme portu (transport=http olduğunda) |
GB_MCP_HOST | Hayır | 127.0.0.1 | HTTP bağlama ana bilgisayarı |
GB_MCP_URL | HTTP için Evet | — | OAuth kaynak meta verilerine damgalanan genel MCP temel URL'si (sunucu onsuz HTTP modunda başlamayı reddeder) |
GB_OAUTH_ISSUER | Hayır | GB_API_URL | GrowthBook OAuth AS veren URL'si |
GB_HTTP_HEADER_* | Hayır | — | Ekstra istek başlıkları (örn. GB_HTTP_HEADER_CF_ACCESS_TOKEN) |
GB_SKILLS_ENABLED | Hayır | true | Beceri 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"
}
}
}
| Yol | Araçlar |
|---|---|
/mcp | growthbook_list_skills, growthbook_read_skill, growthbook_api_read, growthbook_api_write (GB_SKILLS_ENABLED=false değilse) |
/mcp/api | yalnı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:
SKILLS_SRCortam değişkeni (beceri deposu kökünün yolu) veya../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. GET → growthbook_api_read ve POST/PUT/PATCH/DELETE → growthbook_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ılan3333) veGB_MCP_HOST(varsayılan127.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-Authenticatealı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/mcpnpm'e — ön sürümler (-içeren sürümler, örn.2.0.0-beta.1)betadist-etiketi altına gider; kararlı sürümlerlatestoluramd64+arm64çok mimarili bir görüntüghcr.io/growthbook/growthbook-mcpkonumuna (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.