GrowthBook

आधिकारिक

फीचर फ्लैग बनाएं और पढ़ें, प्रयोगों की समीक्षा करें, फ्लैग प्रकार उत्पन्न करें, डॉक्स खोजें, और GrowthBook के फीचर फ्लैगिंग और प्रयोग प्लेटफॉर्म के साथ इंटरैक्ट करें।

GrowthBook MCP के साथ आप क्या कर सकते हैं?

  • बंडल किए गए स्किल्स की सूची बनाएं — अपने असिस्टेंट से GrowthBook एजेंट स्किल्स को growthbook_list_skills के साथ सूचीबद्ध करने के लिए कहें ताकि उपलब्ध वर्कफ़्लो देख सकें।
  • किसी स्किल की पूरी गाइड पढ़ें — किसी विशिष्ट स्किल के लिए पूर्ण markdown वर्कफ़्लो और गार्डरेल प्राप्त करने के लिए growthbook_read_skill का उपयोग करें।
  • GrowthBook API डेटा पढ़ेंgrowthbook_api_read के माध्यम से किसी भी GrowthBook REST एंडपॉइंट पर प्रमाणित GET अनुरोध करें, जैसे प्रोजेक्ट या फीचर्स प्राप्त करना।
  • GrowthBook API में लिखें — POST/PUT/PATCH/DELETE के माध्यम से संसाधन बनाने, अपडेट करने या हटाने के लिए growthbook_api_write का उपयोग करें, सुरक्षा के लिए destructiveHint के साथ।

दस्तावेज़

GrowthBook MCP Thin

GrowthBook के लिए एक हल्का (thin) MCP सर्वर जिसमें चार उपकरण हैं:

उपकरणउद्देश्य
growthbook_list_skillsबंडल किए गए GrowthBook एजेंट कौशल सूचीबद्ध करें (नाम + विवरण)
growthbook_read_skillपूर्ण कौशल मार्कडाउन लौटाएँ (वर्कफ़्लो + सुरक्षा-सीमाएँ)
growthbook_api_readGrowthBook API के लिए प्रमाणित GET पासथ्रू
growthbook_api_writeप्रमाणित POST/PUT/PATCH/DELETE पासथ्रू

क्षमता skills रिपॉज़िटरी में रहती है और बिल्ड समय पर बंडल की जाती है। क्षमता को रीड बनाम राइट API उपकरणों में विभाजित किया गया है (कोई प्रति-एंडपॉइंट फ़ॉर्मेटर नहीं) ताकि क्लाइंट readOnlyHint / destructiveHint का सही ढंग से सम्मान कर सकें।

उपकरणों को growthbook_ से उपसर्गित किया जाता है ताकि जब किसी क्लाइंट में कई MCP सर्वर लोड हों तो वे असंदिग्ध बने रहें।

इंस्टॉल / चलाएँ

npm install
npm run build

अपने MCP क्लाइंट को संकलित एंट्रीपॉइंट पर इंगित करें:

{
  "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"
      }
    }
  }
}

या प्रकाशित पैकेज चलाएँ:

npx @growthbook/mcp

पर्यावरण चर

चरआवश्यकडिफ़ॉल्टउद्देश्य
GB_API_KEYstdio के लिए हाँ; HTTP OAuth के लिए वैकल्पिकGrowthBook API कुंजी या व्यक्तिगत एक्सेस टोकन
GB_API_URLनहींhttps://api.growthbook.ioAPI आधार URL (स्व-होस्टेड) और डिफ़ॉल्ट OAuth AS जारीकर्ता
GB_MCP_TRANSPORTनहींstdiostdio या http
GB_MCP_PORTनहीं3333HTTP सुनने का पोर्ट (जब transport=http हो)
GB_MCP_HOSTनहीं127.0.0.1HTTP बाइंड होस्ट
GB_MCP_URLHTTP के लिए हाँसार्वजनिक MCP आधार URL जो OAuth संसाधन मेटाडेटा में अंकित होता है (सर्वर इसके बिना HTTP मोड में प्रारंभ करने से मना कर देता है)
GB_OAUTH_ISSUERनहींGB_API_URLGrowthBook OAuth AS जारीकर्ता URL
GB_HTTP_HEADER_*नहींअतिरिक्त अनुरोध हेडर (जैसे GB_HTTP_HEADER_CF_ACCESS_TOKEN)
GB_SKILLS_ENABLEDनहींtrueकौशल उपकरणों को अक्षम करने के लिए false / 0 पर सेट करें

HTTP + OAuth मोड

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

क्लाइंट इनसे जुड़ते हैं:

  • http://127.0.0.1:3333/mcp — पूर्ण (कौशल + API रीड/राइट)
  • http://127.0.0.1:3333/mcp/api — केवल-क्षमता (growthbook_api_read + growthbook_api_write)

अप्रमाणित अनुरोधों को 401 प्राप्त होता है जिसमें WWW-Authenticate /.well-known/oauth-protected-resource की ओर इंगित करता है, जो GrowthBook प्राधिकरण सर्वर (Authorization Server) का विज्ञापन करता है।

MCP संभालने से पहले, सर्वर बियरर के साथ GrowthBook REST (GET /api/v1/) की जाँच करता है। उस जाँच से (या बाद में किसी API उपकरण से) 401 प्राप्त होने पर HTTP 401 मिलता है और error="invalid_token" भी, ताकि MCP क्लाइंट रीफ़्रेश कर सके — बजाय "This API key has expired" को उपकरण त्रुटि के रूप में दिखाने के। 403 को स्वीकृत बियरर माना जाता है (अनुमति अस्वीकृत ≠ अमान्य टोकन) ताकि क्लाइंट रीफ़्रेश लूप में न फँसे।

केवल-क्षमता मोड

HTTP (रिमोट के लिए अनुशंसित): क्लाइंट को /mcp के बजाय /mcp/api पर इंगित करें:

{
  "mcpServers": {
    "growthbook": {
      "url": "http://127.0.0.1:3333/mcp/api"
    }
  }
}
पथउपकरण
/mcpgrowthbook_list_skills, growthbook_read_skill, growthbook_api_read, growthbook_api_write (जब तक GB_SKILLS_ENABLED=false न हो)
/mcp/apiकेवल growthbook_api_read, growthbook_api_write

stdio / प्रक्रिया-व्यापी: env सेट करें ताकि कौशल कभी पंजीकृत न हों:

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

जब कौशल अक्षम होते हैं, केवल API रीड/राइट उपकरण पंजीकृत होते हैं। growthbook_list_skills और growthbook_read_skill उजागर नहीं होते।

कौशल कैसे बंडल होते हैं

npm run build   # tsc && bundle-skills

scripts/bundle-skills.mjs विहित कौशल चेकआउट से प्रत्येक skills/*/SKILL.md को server/skills/<name>.md में कॉपी करता है।

स्रोत पथ समाधान:

  1. SKILLS_SRC env चर (कौशल रिपॉज़िटरी रूट का पथ), या
  2. ../skills (सहोदर निर्देशिका)

कौशल रिपॉज़िटरी सत्य का स्रोत बनी रहती है — यह पैकेज कौशल सामग्री को कभी फ़ोर्क नहीं करता।

API उपकरणों के साथ कौशल का उपयोग

बंडल किए गए कौशल अभी भी वर्कफ़्लो को इस प्रकार दिखाते हैं:

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

यह MCP सर्वर gb-call को शेल आउट नहीं करता। GETgrowthbook_api_read और POST/PUT/PATCH/DELETEgrowthbook_api_write को उसी पथ और वैकल्पिक JSON बॉडी स्ट्रिंग के साथ मैप करें। सर्वर निर्देश और growthbook_read_skill आउटपुट में यह ब्रिज नोट शामिल होता है।

उपकरण विवरण

growthbook_api_read / growthbook_api_write

{ "path": "/api/v1/projects" }
{ "method": "POST", "path": "/api/v2/features", "body": "{\"id\":\"my-flag\",...}" }
  • रीड: केवल GET (readOnlyHint: true)
  • राइट: POST | PUT | PATCH | DELETE (destructiveHint: true)
  • 2xx पर कच्चा प्रतिक्रिया निकाय लौटाता है
  • गैर-2xx पर, एक कार्रवाई-योग्य त्रुटि लौटाता है (isError: true) जिसमें प्रमाणीकरण विफलताएँ, स्व-होस्टेड 404 संकेत, और दर सीमाएँ शामिल होती हैं
  • मुक्त-रूप पथ GrowthBook REST API को लक्षित करते हैं

growthbook_list_skills / growthbook_read_skill

केवल तब पंजीकृत होते हैं जब GB_SKILLS_ENABLED अक्षम न हो। growthbook_read_skill पूर्ण SKILL.md सामग्री लौटाता है ताकि एजेंट वर्कफ़्लो चरणों और सुरक्षा-सीमाओं का पालन कर सके।

विकास

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

स्टैंडअलोन HTTP मोड

डिफ़ॉल्ट रूप से सर्वर stdio पर चलता है। इसे स्टैंडअलोन HTTP सर्वर के रूप में चलाने के लिए GB_MCP_TRANSPORT=http सेट करें, जो MCP को /mcp (कौशल + API उपकरण) और /mcp/api (केवल-क्षमता) पर उजागर करता है, OAuth 2.0 संरक्षित-संसाधन सतह के पीछे (RFC 9728 मेटाडेटा + RFC 6750 WWW-Authenticate)।

  • GB_MCP_URL (HTTP मोड में आवश्यक) — सर्वर का सार्वजनिक आधार URL। यह OAuth संसाधन (दर्शक) और संरक्षित-संसाधन मेटाडेटा में अंकित होता है, इसलिए यह कभी भी अनुरोध हेडर से व्युत्पन्न नहीं होता। सर्वर इसके बिना प्रारंभ करने से मना कर देता है।
  • GB_MCP_PORT (डिफ़ॉल्ट 3333) और GB_MCP_HOST (डिफ़ॉल्ट 127.0.0.1)।
  • आने वाले बियरर GrowthBook REST API की जाँच करके सत्यापित किए जाते हैं; अस्वीकृत टोकन को HTTP 401 + WWW-Authenticate मिलता है ताकि क्लाइंट रीफ़्रेश कर सके।

इसे विश्वसनीय नेटवर्क पर या लूपबैक से बाउंड करके चलाएँ। बहु-किरायेदार या सार्वजनिक परिनियोजन के लिए, इसे अपने स्वयं के गेटवे/प्रमाणीकरण से आगे रखें।

रिलीज़

रिलीज़ काटना सोच-समझकर किया जाता है: package.json में संस्करण बढ़ाएँ, फिर मेल खाता v* टैग धकेलें:

git tag v2.0.0
git push origin v2.0.0

वह टैग किया गया कमिट (कट समय पर कौशल के साथ स्थिर) प्रकाशित करता है:

  • @growthbook/mcp npm पर — प्रीरिलीज़ (- वाले संस्करण, जैसे 2.0.0-beta.1) beta dist-tag के अंतर्गत जाते हैं; स्थिर संस्करण latest बन जाते हैं
  • ghcr.io/growthbook/growthbook-mcp पर एक बहु-आर्किटेक्चर (amd64 + arm64) इमेज (:<version>, स्थिर रिलीज़ के लिए :<major>, :<major>.<minor>, और :latest के साथ)
  • MCP रजिस्ट्री में एक प्रविष्टि
  • एक GitHub रिलीज़

npx @growthbook/mcp@<version> से रिलीज़ इंस्टॉल करें या ghcr.io/growthbook/growthbook-mcp:<version> खींचें।