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_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_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 प्राधिकरण सर्वर (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"
}
}
}
| पथ | उपकरण |
|---|---|
/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.md को server/skills/<name>.md में कॉपी करता है।
स्रोत पथ समाधान:
SKILLS_SRCenv चर (कौशल रिपॉज़िटरी रूट का पथ), या../skills(सहोदर निर्देशिका)
कौशल रिपॉज़िटरी सत्य का स्रोत बनी रहती है — यह पैकेज कौशल सामग्री को कभी फ़ोर्क नहीं करता।
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_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/mcpnpm पर — प्रीरिलीज़ (-वाले संस्करण, जैसे2.0.0-beta.1)betadist-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> खींचें।