GrowthBook
आधिकारिकफीचर फ्लैग बनाएं और पढ़ें, प्रयोगों की समीक्षा करें, फ्लैग प्रकार उत्पन्न करें, डॉक्स खोजें, और GrowthBook के फीचर फ्लैगिंग और प्रयोग प्लेटफॉर्म के साथ इंटरैक्ट करें।
GrowthBook MCP के साथ आप क्या कर सकते हैं?
- बंडल किए गए कौशल सूचीबद्ध करें — सहायक से
growthbook_list_skillsचलाने के लिए कहें ताकि उपलब्ध GrowthBook एजेंट कौशल और उनके विवरण देखे जा सकें। - कौशल विवरण पढ़ें — किसी विशिष्ट कौशल के लिए पूर्ण मार्कडाउन वर्कफ़्लो और सुरक्षा नियम प्राप्त करने हेतु
growthbook_read_skillका उपयोग करें। - GrowthBook API कॉल करें — प्रमाणित REST ऑपरेशन जैसे प्रोजेक्ट लाना या फीचर बनाना करने के लिए
growthbook_call_apiको एक विधि, पथ और वैकल्पिक JSON बॉडी के साथ आमंत्रित करें। - परिवर्तनकारी क्रियाओं की पुष्टि करें — सहायक
growthbook_call_apiके माध्यम से POST, PUT, PATCH, या DELETE अनुरोध निष्पादित करने से पहले उपयोगकर्ता की पुष्टि मांगेगा, जब तक कि पहले से अन्यथा निर्देशित न किया गया हो।
दस्तावेज़
GrowthBook MCP Thin
GrowthBook के लिए तीन टूल्स वाला एक थिन MCP सर्वर:
| टूल | उद्देश्य |
|---|---|
growthbook_list_skills | बंडल किए गए GrowthBook एजेंट स्किल्स की सूची (नाम + विवरण) |
growthbook_read_skill | पूर्ण स्किल मार्कडाउन लौटाएं (वर्कफ़्लो + गार्डरेल्स) |
growthbook_call_api | GrowthBook API के लिए प्रमाणित REST पासथ्रू |
क्षमता skills रिपो में रहती है और बिल्ड समय पर बंडल की जाती है। क्षमता एक सामान्य growthbook_call_api टूल है — कोई प्रति-एंडपॉइंट फ़ॉर्मेटर नहीं। टूल विवरण एजेंटों से कहता है कि वे उपयोगकर्ता के साथ म्यूटेटिंग विधियों (POST/PUT/PATCH/DELETE) की पुष्टि करें जब तक कि पहले से निर्देश न दिया गया हो।
टूल्स को growthbook_ से प्रीफ़िक्स किया जाता है ताकि जब क्लाइंट में कई MCP सर्वर लोड हों तो वे स्पष्ट रहें — एक एजेंट को कभी भी growthbook_call_api को सामान्य API कॉलर समझने की गलती नहीं करनी चाहिए।
इंस्टॉल / चलाएं
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_KEY | stdio के लिए हाँ; HTTP OAuth के लिए वैकल्पिक | — | GrowthBook API कुंजी या व्यक्तिगत एक्सेस टोकन |
GB_API_URL | नहीं | https://api.growthbook.io | API आधार URL (सेल्फ-होस्टेड) और डिफ़ॉल्ट OAuth AS जारीकर्ता |
GB_MCP_TRANSPORT | नहीं | stdio | stdio या http |
GB_MCP_PORT | नहीं | 3333 | HTTP सुनने का पोर्ट (जब transport=http) |
GB_MCP_HOST | नहीं | 127.0.0.1 | HTTP बाइंड होस्ट |
GB_MCP_URL | HTTP के लिए हाँ | — | सार्वजनिक MCP आधार URL OAuth संसाधन मेटाडेटा में अंकित (सर्वर इसके बिना HTTP मोड में शुरू करने से मना करता है) |
GB_OAUTH_ISSUER | नहीं | GB_API_URL | GrowthBook 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_call_api)
अप्रमाणित अनुरोधों को 401 प्राप्त होता है जिसमें WWW-Authenticate /.well-known/oauth-protected-resource की ओर इंगित करता है, जो GrowthBook प्राधिकरण सर्वर का विज्ञापन करता है।
MCP को संभालने से पहले, सर्वर बियरर के साथ GrowthBook REST (GET /api/v1/) की जांच करता है। उस जांच से (या बाद में growthbook_call_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"
}
}
}
| पथ | टूल्स |
|---|---|
/mcp | growthbook_list_skills, growthbook_read_skill, growthbook_call_api (जब तक GB_SKILLS_ENABLED=false न हो) |
/mcp/api | केवल growthbook_call_api |
stdio / प्रक्रिया-व्यापी: env सेट करें ताकि स्किल्स कभी पंजीकृत न हों:
"env": {
"GB_API_KEY": "...",
"GB_SKILLS_ENABLED": "false"
}
जब स्किल्स अक्षम हों, केवल growthbook_call_api पंजीकृत होता है। growthbook_list_skills और growthbook_read_skill उजागर नहीं होते।
स्किल्स कैसे बंडल होती हैं
npm run build # tsc && bundle-skills
scripts/bundle-skills.mjs प्रामाणिक स्किल्स चेकआउट से हर skills/*/SKILL.md को server/skills/<name>.md में कॉपी करता है।
स्रोत पथ समाधान:
SKILLS_SRCenv चर (स्किल्स रिप रूट का पथ), या../skills(सहोदर निर्देशिका)
स्किल्स रिप सत्य का स्रोत बनी रहती है — यह पैकेज स्किल सामग्री को कभी फ़ोर्क नहीं करता।
growthbook_call_api के साथ स्किल्स का उपयोग
बंडल स्किल्स अभी भी वर्कफ़्लो दिखाती हैं:
gb-call GET /api/v1/projects
gb-call POST /api/v2/features ./payload.json
यह MCP सर्वर gb-call को शेल आउट नहीं करता। जब कोई स्किल वह पैटर्न दिखाती है, तो उसी विधि, पथ और वैकल्पिक JSON बॉडी स्ट्रिंग के साथ growthbook_call_api टूल को कॉल करें। सर्वर निर्देश और growthbook_read_skill आउटपुट में यह ब्रिज नोट शामिल है।
टूल्स विवरण
growthbook_call_api
{ "method": "GET", "path": "/api/v1/projects" }
{ "method": "POST", "path": "/api/v2/features", "body": "{\"id\":\"my-flag\",...}" }
- विधियाँ:
GET|POST|PUT|PATCH|DELETE - 2xx पर कच्चा प्रतिक्रिया बॉडी लौटाता है
- गैर-2xx पर, एक कार्रवाई योग्य त्रुटि लौटाता है (
isError: true) जिसमें प्रमाणीकरण विफलताएं, सेल्फ-होस्टेड 404 संकेत और दर सीमाएं शामिल हैं - टूल विवरण + सर्वर निर्देश एजेंट को बताते हैं कि POST/PUT/PATCH/DELETE की उपयोगकर्ता के साथ पुष्टि करें जब तक कि पहले से निर्देश न दिया गया हो (नरम मार्गदर्शन, कठोर गेट नहीं)
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 (स्किल्स + growthbook_call_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/mcpnpm पर — प्रीरिलीज़ (-वाले संस्करण, जैसे2.0.0-beta.1)betaडिस्ट-टैग के तहत जाते हैं; स्थिर संस्करणlatestबन जाते हैं- एक मल्टी-आर्क (
amd64+arm64) छविghcr.io/growthbook/growthbook-mcpपर (:<version>, साथ ही स्थिर रिलीज़ के लिए:<major>,:<major>.<minor>, और:latest) - MCP रजिस्ट्री में एक प्रविष्टि
- एक GitHub रिलीज़
npx @growthbook/mcp@<version> के साथ रिलीज़ इंस्टॉल करें या ghcr.io/growthbook/growthbook-mcp:<version> खींचें।