GrowthBook
आधिकारिकफीचर फ्लैग बनाएं और पढ़ें, प्रयोगों की समीक्षा करें, फ्लैग प्रकार उत्पन्न करें, डॉक्स खोजें, और GrowthBook के फीचर फ्लैगिंग और प्रयोग प्लेटफॉर्म के साथ इंटरैक्ट करें।
GrowthBook MCP के साथ आप क्या कर सकते हैं?
-
उपलब्ध स्किल्स की सूची देखें — असिस्टेंट से
growthbook_list_skillsकॉल करने को कहें ताकि GrowthBook वर्कफ़्लो के शीर्ष-स्तरीय एंट्री पॉइंट और उनके विवरण देखे जा सकें। -
स्किल वर्कफ़्लो लोड करें —
growthbook_read_skillका उपयोग करके किसी पूर्ण स्किल का मार्कडाउन प्राप्त करें, जिसमेंfeature-flags/references/flag-createजैसे चाइल्ड वर्कफ़्लो भी शामिल हैं। -
GrowthBook डेटा पढ़ें — असिस्टेंट से
growthbook_api_readको/api/v1/projectsजैसे पाथ के साथ कॉल करवाएं ताकि प्रमाणित GET अनुरोधों के माध्यम से डेटा प्राप्त किया जा सके। -
GrowthBook API में लिखें —
growthbook_api_writeका उपयोग करके संसाधन बनाएं या संशोधित करें, उदाहरण के लिए, नए फ्लैग के लिए JSON बॉडी के साथ/api/v2/featuresपर POST करें। -
रीड/राइट अनुमतियों का सम्मान करें — सर्वर
readOnlyHintऔरdestructiveHintप्रदान करता है ताकि क्लाइंट केवल-पठन बनाम परिवर्तनकारी ऑपरेशनों को सुरक्षित रूप से नियंत्रित कर सकें।
दस्तावेज़
GrowthBook MCP Thin
GrowthBook के लिए एक हल्का MCP सर्वर जिसमें चार उपकरण हैं:
| उपकरण | उद्देश्य |
|---|---|
growthbook_list_skills | शीर्ष-स्तरीय कौशल प्रवेश बिंदुओं की सूची (नाम + विवरण) |
growthbook_read_skill | सूचीबद्ध कौशल या योग्य चाइल्ड वर्कफ़्लो लौटाएँ (feature-flags या feature-flags/references/flag-create) |
growthbook_api_read | GrowthBook 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_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_MCP_KEEP_ALIVE_TIMEOUT_MS | नहीं | 90000 | HTTP मोड में निष्क्रिय कीप-अलाइव टाइमआउट। सामने किसी भी लोड बैलेंसर के निष्क्रिय टाइमआउट से अधिक होना चाहिए, अन्यथा LB उस कनेक्शन को पुनः उपयोग कर सकता है जिसे सर्वर पहले ही बंद कर चुका है और अनुरोध 502 के साथ विफल हो जाता है |
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_api_read+growthbook_api_write)
अप्रमाणित अनुरोधों को 401 प्राप्त होता है जिसमें WWW-Authenticate /.well-known/oauth-protected-resource की ओर इंगित करता है, जो GrowthBook प्राधिकरण सर्वर का विज्ञापन करता है।
MCP को संभालने से पहले, सर्वर बियरर के साथ GrowthBook REST (GET /api/v1/) की जाँच करता है। उस जाँच से (या बाद में किसी API उपकरण से) 401 HTTP 401 उत्पन्न करता है जिसमें error="invalid_token" होता है ताकि MCP क्लाइंट रीफ़्रेश कर सके — बजाय "This API key has expired" को उपकरण त्रुटि के रूप में दिखाने के। 403 को स्वीकृत बियरर के रूप में माना जाता है (अनुमति अस्वीकृत ≠ अमान्य टोकन) ताकि क्लाइंट रीफ़्रेश लूप में न फँसें।
केवल-क्षमता मोड
HTTP (रिमोट के लिए अनुशंसित): क्लाइंट को /mcp/api के बजाय /mcp पर इंगित करें:
{
"mcpServers": {
"growthbook": {
"url": "http://127.0.0.1:3333/mcp/api"
}
}
}
| पथ | उपकरण |
|---|---|
/mcp | growthbook_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>/SKILL.md → server/skills/<skill>/SKILL.md
skills/<skill>/references/<workflow>.md → server/skills/<skill>/references/<workflow>.md
स्रोत पथ समाधान:
SKILLS_SRCenv चर (कौशल रिपॉजिटरी रूट का पथ)agent-skills.local.json—{ "path": "../skills" }, रिपॉजिटरी रूट के सापेक्ष। Gitignored;agent-skills.local.json.exampleकी प्रतिलिपि बनाएँskills-src/— CI और Docker बिल्ड जो वेंडर करते हैं
कोई अंतर्निहित सहोदर लुकअप नहीं है। ../skills उस पथ पर जो कुछ भी होता है उसे हल करता है, जिससे स्थानीय बिल्ड उस कमिट से चुपचाप असहमत हो जाता है जिससे CI बिल्ड होता है।
CI, क्लाउड डिप्लॉय और रिलीज़ सभी agent-skills.lock.json पढ़ते हैं और उस सटीक कौशल कमिट को चेकआउट करते हैं। अपस्ट्रीम कौशल परिवर्तन भेजने के लिए, लॉक फ़ाइल में कमिट अपडेट करें। स्थानीय विकास agent-skills.local.json या SKILLS_SRC के साथ किसी भी चेकआउट पर इंगित कर सकता है।
कौशल रिपॉजिटरी सत्य का स्रोत बनी रहती है — यह पैकेज कौशल सामग्री का फोर्क नहीं बनाए रखता। नए कौशल स्वचालित रूप से प्रवाहित होते हैं, उन्हें छोड़कर जो bundle-skills.mjs में छोटी ब्लॉकलिस्ट में नामित हैं। वर्तमान में केवल gb-setup ब्लॉक किया गया है क्योंकि यह gb-call शेल एडाप्टर को कॉन्फ़िगर करता है न कि GrowthBook को।
प्रति-कौशल scripts/ निर्देशिकाएँ कॉपी नहीं की जाती हैं। सापेक्ष
`references/foo.md` लिंक योग्य
`feature-flags/references/foo` paths so growthbook_read_skill में पुनर्लिखित होते हैं ताकि उन्हें हल किया जा सके।
API उपकरणों के साथ कौशल का उपयोग
बंडल किए गए कौशल अभी भी वर्कफ़्लो दिखाते हैं:
gb-call GET /api/v1/projects
gb-call POST /api/v2/features ./payload.json
यह MCP सर्वर gb-call को शेल आउट नहीं करता। GET → growthbook_api_read और POST/PUT/PATCH/DELETE → growthbook_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_list_skillsशीर्ष-स्तरीय कौशल प्रवेश बिंदु लौटाता है। एक प्रविष्टि में पूर्ण वर्कफ़्लो हो सकता है या चाइल्ड वर्कफ़्लो की ओर मार्ग हो सकता है।growthbook_read_skillएक सूचीबद्ध शीर्ष-स्तरीय नाम या लोड किए गए कौशल द्वारा नामित योग्य चाइल्ड पथ स्वीकार करता है (feature-flags/references/flag-create) और पूर्ण मार्कडाउन लौटाता है (वर्कफ़्लो + गार्डरेल)।
विकास
git clone git@github.com:growthbook/skills.git ../skills
cp agent-skills.local.json.example agent-skills.local.json # edit if not at ../skills
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/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> खींचें।