{"_id":"@abtasty/mcp-server","_rev":"28-a7366d98553e4f0256a253668f261233","name":"@abtasty/mcp-server","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@abtasty/mcp-server","version":"0.1.0","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"author":{"name":"AB Tasty"},"license":"MIT","_id":"@abtasty/mcp-server@0.1.0","maintainers":[{"name":"abtasty-user","email":"devops+npm@abtasty.com"},{"name":"j.u.p.iter","email":"pn79122821224@gmail.com"},{"name":"tcoppin_","email":"tanguy@abtasty.com"},{"name":"jonathangranger","email":"jonathan@abtasty.com"},{"name":"elias-abt","email":"elias@abtasty.com"},{"name":"alexbinet","email":"alexandre.binet@abtasty.com"},{"name":"cquandalle","email":"cyril.quandalle@abtasty.com"},{"name":"benoitdubus","email":"benoit.dubus@abtasty.com"},{"name":"jean-baptiste.agostin","email":"Jean-baptiste.agostin@abtasty.com"},{"name":"simenbjerkeset","email":"simen.bjerkeset@abtasty.com"},{"name":"wallaka","email":"antoine.wallace@abtasty.com"},{"name":"theoletouze","email":"theo.letouze@abtasty.com"},{"name":"pierrevinarnick","email":"pierre.vinarnick@abtasty.com"},{"name":"julien_niedzwiecki","email":"julien.niedzwiecki@abtasty.com"},{"name":"balintfulop","email":"balint.fulop@abtasty.com"},{"name":"bricelof","email":"brice.lof@abtasty.com"},{"name":"romain.guillaume.abtasty.com","email":"romain.guillaume@abtasty.com"},{"name":"merki230","email":"merkitoko@gmail.com"},{"name":"camille.gouaultlamour","email":"camille.gouaultlamour@abtasty.com"},{"name":"enzo.morvan","email":"enzo.morvan@abtasty.com"},{"name":"gnicolas.abtasty","email":"guillaume.nicolas@abtasty.com"},{"name":"alexabt","email":"alexander.hermani@abtasty.com"},{"name":"tiwariamrita","email":"amrita.tiwari@abtasty.com"},{"name":"tastymoca","email":"teo.montlouis-calixte@abtasty.com"},{"name":"mick_mikhail","email":"corey167@gmail.com"},{"name":"pankajpatel_abtasty","email":"pankaj.patel@abtasty.com"},{"name":"mndiaye","email":"mamadou.ndiaye.ext@abtasty.com"},{"name":"stepan-abtasty","email":"stepan.vasnevsky.ext@abtasty.com"},{"name":"jeanszleper-abtasty","email":"jean.szleper@abtasty.com"},{"name":"magomedcharto","email":"magomed.daudov.ext@abtasty.com"},{"name":"anthony-baussard-abtasty","email":"anthony.baussard@abtasty.com"},{"name":"cedric.vimont","email":"cedric.vimont@abtasty.com"},{"name":"tudor.abtasty","email":"tudor.ghetu-bejan@abtasty.com"},{"name":"antoine.witkowski","email":"antoine.witkowski@abtasty.com"},{"name":"aria_v2000","email":"aria.vahidi@abtasty.com"},{"name":"pavel.sprygin.ext","email":"pavel.sprygin.ext@abtasty.com"},{"name":"rlavrov-abtasty","email":"roman.lavrov.ext@abtasty.com"},{"name":"amine.bouchebaba","email":"amine.bouchebaba@abtasty.com"},{"name":"clement.bock.abtasty","email":"clement.bock@abtasty.com"},{"name":"igor.goncharenko","email":"igor.goncharenko@abtasty.com"},{"name":"clementine.carpentier","email":"clementine.carpentier@abtasty.com"},{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},{"name":"abtasty.sebastien","email":"sebastien.niang@abtasty.com"},{"name":"karim.d98","email":"karim.dalaize@abtasty.com"},{"name":"maelaj","email":"mael.ajrouche@abtasty.com"},{"name":"lily_zh","email":"liliia.zhukova@abtasty.com"},{"name":"mnogueron-abtasty","email":"matthieu.nogueron@abtasty.com"},{"name":"ab-henri-petrelli","email":"henri.petrelli@abtasty.com"},{"name":"usernameforme","email":"philippe.henoch@abtasty.com"},{"name":"romanabtasty","email":"roman.surkov.ext@abtasty.com"},{"name":"axelviskovic","email":"axel.viskovic@abtasty.com"},{"name":"a.delprat","email":"antoine.delprat@abtasty.com"},{"name":"calice","email":"calice.lefevre@abtasty.com"},{"name":"isabellegautier","email":"isabelle.gautier@abtasty.com"},{"name":"julesabtasty","email":"jules.gobin@abtasty.com"},{"name":"romainpct_ab","email":"romain.penchenat@abtasty.com"},{"name":"audren","email":"audren.mauplot@abtasty.com"},{"name":"eshwar_abtasty","email":"eshwar.tillaisababady@abtasty.com"},{"name":"victor.duveau","email":"victor.duveau@abtasty.com"},{"name":"stephanec","email":"stephane.chimy@abtasty.com"},{"name":"vidal-abtasty","email":"vidal.nono.chiamegne@abtasty.com"},{"name":"michel.martineau","email":"michel.martineau@abtasty.com"},{"name":"vasily.kuplevich.ext","email":"vasily.kuplevich.ext@abtasty.com"},{"name":"indraabt","email":"indra.tinot.patole@abtasty.com"},{"name":"anya117","email":"anya.kurrimboccus@abtasty.com"},{"name":"ragularatnam","email":"ragularatnam.perinparatnam@abtasty.com"},{"name":"alexandre.fritsch","email":"alexandre.fritsch@abtasty.com"},{"name":"andres.munoz.abtasty","email":"andres.munoz@abtasty.com"},{"name":"hemalambert","email":"hema.lambert@abtasty.com"},{"name":"yannickabtasty","email":"yannick.eyl@abtasty.com"},{"name":"samuel_barubiriza","email":"samuel.barubiriza@abtasty.com"},{"name":"leo.coyere-abt","email":"leo.coyere@abtasty.com"}],"homepage":"https://github.com/flagship-io/mcp-server#readme","bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"dist":{"shasum":"59414239b80ac923a7726c2ead79e061619f6390","tarball":"https://registry.npmjs.org/@abtasty/mcp-server/-/mcp-server-0.1.0.tgz","fileCount":6,"integrity":"sha512-YWc7QJTZHMa6CVRPgzLw4Eu2kmR/pkSJMlI4lIipy3j3Zms74CPDACMUyTzmuvNjlZ64Ty7Z4A6TqBzc0DERkg==","signatures":[{"sig":"MEUCIBsqqyh5ng2g0rka0GA/n6eIdVqLPZzrP9fX6nBI5jVeAiEAwEribXelI4ZnJ060c1Twk9+4QZq8lLi6+Bliy/JpBec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94206},"main":"index.js","type":"module","gitHead":"50a7ca8485ae5c5a5e2f2b3a705b31386a4cc2ab","scripts":{"dev":"npm run build && npm run start","build":"esbuild src/index.ts --bundle --platform=node --format=esm --outfile=build/index.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && chmod 755 build/index.js && cp -r assistant-prompts build/","start":"node ./build/index.js","prebuild":"npm run generate:prompts","publish:npm":"npm publish --access public","prepublishOnly":"npm run build","generate:prompts":"tsx scripts/generate-prompts.ts"},"_npmUser":{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","axios":"^1.12.2","express":"^5.1.0","@flagship.io/js-sdk":"^5.1.6","@modelcontextprotocol/sdk":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.10.1","@types/express":"^5.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.0_1768401783189_0.3741642514438728","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@abtasty/mcp-server","version":"0.1.1","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"author":{"name":"AB Tasty"},"license":"MIT","_id":"@abtasty/mcp-server@0.1.1","maintainers":[{"name":"abtasty-user","email":"devops+npm@abtasty.com"},{"name":"j.u.p.iter","email":"pn79122821224@gmail.com"},{"name":"tcoppin_","email":"tanguy@abtasty.com"},{"name":"jonathangranger","email":"jonathan@abtasty.com"},{"name":"elias-abt","email":"elias@abtasty.com"},{"name":"alexbinet","email":"alexandre.binet@abtasty.com"},{"name":"cquandalle","email":"cyril.quandalle@abtasty.com"},{"name":"benoitdubus","email":"benoit.dubus@abtasty.com"},{"name":"jean-baptiste.agostin","email":"Jean-baptiste.agostin@abtasty.com"},{"name":"simenbjerkeset","email":"simen.bjerkeset@abtasty.com"},{"name":"wallaka","email":"antoine.wallace@abtasty.com"},{"name":"theoletouze","email":"theo.letouze@abtasty.com"},{"name":"pierrevinarnick","email":"pierre.vinarnick@abtasty.com"},{"name":"julien_niedzwiecki","email":"julien.niedzwiecki@abtasty.com"},{"name":"balintfulop","email":"balint.fulop@abtasty.com"},{"name":"bricelof","email":"brice.lof@abtasty.com"},{"name":"romain.guillaume.abtasty.com","email":"romain.guillaume@abtasty.com"},{"name":"merki230","email":"merkitoko@gmail.com"},{"name":"camille.gouaultlamour","email":"camille.gouaultlamour@abtasty.com"},{"name":"enzo.morvan","email":"enzo.morvan@abtasty.com"},{"name":"gnicolas.abtasty","email":"guillaume.nicolas@abtasty.com"},{"name":"alexabt","email":"alexander.hermani@abtasty.com"},{"name":"tiwariamrita","email":"amrita.tiwari@abtasty.com"},{"name":"tastymoca","email":"teo.montlouis-calixte@abtasty.com"},{"name":"mick_mikhail","email":"corey167@gmail.com"},{"name":"pankajpatel_abtasty","email":"pankaj.patel@abtasty.com"},{"name":"mndiaye","email":"mamadou.ndiaye.ext@abtasty.com"},{"name":"stepan-abtasty","email":"stepan.vasnevsky.ext@abtasty.com"},{"name":"jeanszleper-abtasty","email":"jean.szleper@abtasty.com"},{"name":"magomedcharto","email":"magomed.daudov.ext@abtasty.com"},{"name":"anthony-baussard-abtasty","email":"anthony.baussard@abtasty.com"},{"name":"cedric.vimont","email":"cedric.vimont@abtasty.com"},{"name":"tudor.abtasty","email":"tudor.ghetu-bejan@abtasty.com"},{"name":"antoine.witkowski","email":"antoine.witkowski@abtasty.com"},{"name":"aria_v2000","email":"aria.vahidi@abtasty.com"},{"name":"pavel.sprygin.ext","email":"pavel.sprygin.ext@abtasty.com"},{"name":"rlavrov-abtasty","email":"roman.lavrov.ext@abtasty.com"},{"name":"amine.bouchebaba","email":"amine.bouchebaba@abtasty.com"},{"name":"clement.bock.abtasty","email":"clement.bock@abtasty.com"},{"name":"igor.goncharenko","email":"igor.goncharenko@abtasty.com"},{"name":"clementine.carpentier","email":"clementine.carpentier@abtasty.com"},{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},{"name":"abtasty.sebastien","email":"sebastien.niang@abtasty.com"},{"name":"karim.d98","email":"karim.dalaize@abtasty.com"},{"name":"maelaj","email":"mael.ajrouche@abtasty.com"},{"name":"lily_zh","email":"liliia.zhukova@abtasty.com"},{"name":"mnogueron-abtasty","email":"matthieu.nogueron@abtasty.com"},{"name":"ab-henri-petrelli","email":"henri.petrelli@abtasty.com"},{"name":"usernameforme","email":"philippe.henoch@abtasty.com"},{"name":"romanabtasty","email":"roman.surkov.ext@abtasty.com"},{"name":"axelviskovic","email":"axel.viskovic@abtasty.com"},{"name":"a.delprat","email":"antoine.delprat@abtasty.com"},{"name":"calice","email":"calice.lefevre@abtasty.com"},{"name":"isabellegautier","email":"isabelle.gautier@abtasty.com"},{"name":"julesabtasty","email":"jules.gobin@abtasty.com"},{"name":"romainpct_ab","email":"romain.penchenat@abtasty.com"},{"name":"audren","email":"audren.mauplot@abtasty.com"},{"name":"eshwar_abtasty","email":"eshwar.tillaisababady@abtasty.com"},{"name":"victor.duveau","email":"victor.duveau@abtasty.com"},{"name":"stephanec","email":"stephane.chimy@abtasty.com"},{"name":"vidal-abtasty","email":"vidal.nono.chiamegne@abtasty.com"},{"name":"michel.martineau","email":"michel.martineau@abtasty.com"},{"name":"vasily.kuplevich.ext","email":"vasily.kuplevich.ext@abtasty.com"},{"name":"indraabt","email":"indra.tinot.patole@abtasty.com"},{"name":"anya117","email":"anya.kurrimboccus@abtasty.com"},{"name":"ragularatnam","email":"ragularatnam.perinparatnam@abtasty.com"},{"name":"alexandre.fritsch","email":"alexandre.fritsch@abtasty.com"},{"name":"andres.munoz.abtasty","email":"andres.munoz@abtasty.com"},{"name":"hemalambert","email":"hema.lambert@abtasty.com"},{"name":"yannickabtasty","email":"yannick.eyl@abtasty.com"},{"name":"samuel_barubiriza","email":"samuel.barubiriza@abtasty.com"},{"name":"leo.coyere-abt","email":"leo.coyere@abtasty.com"}],"homepage":"https://github.com/flagship-io/mcp-server#readme","bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"bin":{"mcp-server":"build/cli.js"},"dist":{"shasum":"71f1b30354a588db62a00cab07830e64d59f1dc2","tarball":"https://registry.npmjs.org/@abtasty/mcp-server/-/mcp-server-0.1.1.tgz","fileCount":7,"integrity":"sha512-/RiJnei2x9JiIOfVcGpZBMtPnjG09DNGtprBbD5skWMBbIDBzk48c1VPRgc/2yi8urGVtMZJ1ZlhnvtEIf8MRg==","signatures":[{"sig":"MEUCIQDQaLfKWvJ7xPTgfzdnPyKCCOYgzRfFCzZzj5iXYqhStAIgTvCrQN6Ka0R8/C/63HXSkjnIzyqktw7knYKsqvHzb9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151223},"main":"index.js","type":"module","gitHead":"2323c3f6e00a3d53e5c859422b27e77c318f289f","scripts":{"dev":"npm run build && npm run start","build":"esbuild src/index.ts --bundle --platform=node --format=esm --outfile=build/index.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=build/cli.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && chmod 755 build/index.js build/cli.js && cp -r assistant-prompts build/","start":"node ./build/index.js","dev:cli":"npm run build && node npm run start:cli","prebuild":"npm run generate:prompts","start:cli":"node build/cli.js","publish:npm":"npm publish --access public","prepublishOnly":"npm run build","generate:prompts":"tsx scripts/generate-prompts.ts"},"_npmUser":{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"_npmVersion":"10.9.4","description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","axios":"^1.12.2","express":"^5.1.0","@flagship.io/js-sdk":"^5.1.6","@modelcontextprotocol/sdk":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.10.1","@types/express":"^5.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.1_1768408446094_0.35100038765166985","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@abtasty/mcp-server","version":"0.1.2","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"author":{"name":"AB Tasty"},"license":"MIT","_id":"@abtasty/mcp-server@0.1.2","maintainers":[{"name":"abtasty-user","email":"devops+npm@abtasty.com"},{"name":"j.u.p.iter","email":"pn79122821224@gmail.com"},{"name":"tcoppin_","email":"tanguy@abtasty.com"},{"name":"jonathangranger","email":"jonathan@abtasty.com"},{"name":"elias-abt","email":"elias@abtasty.com"},{"name":"alexbinet","email":"alexandre.binet@abtasty.com"},{"name":"cquandalle","email":"cyril.quandalle@abtasty.com"},{"name":"benoitdubus","email":"benoit.dubus@abtasty.com"},{"name":"jean-baptiste.agostin","email":"Jean-baptiste.agostin@abtasty.com"},{"name":"simenbjerkeset","email":"simen.bjerkeset@abtasty.com"},{"name":"wallaka","email":"antoine.wallace@abtasty.com"},{"name":"theoletouze","email":"theo.letouze@abtasty.com"},{"name":"pierrevinarnick","email":"pierre.vinarnick@abtasty.com"},{"name":"julien_niedzwiecki","email":"julien.niedzwiecki@abtasty.com"},{"name":"balintfulop","email":"balint.fulop@abtasty.com"},{"name":"bricelof","email":"brice.lof@abtasty.com"},{"name":"romain.guillaume.abtasty.com","email":"romain.guillaume@abtasty.com"},{"name":"merki230","email":"merkitoko@gmail.com"},{"name":"camille.gouaultlamour","email":"camille.gouaultlamour@abtasty.com"},{"name":"enzo.morvan","email":"enzo.morvan@abtasty.com"},{"name":"gnicolas.abtasty","email":"guillaume.nicolas@abtasty.com"},{"name":"alexabt","email":"alexander.hermani@abtasty.com"},{"name":"tiwariamrita","email":"amrita.tiwari@abtasty.com"},{"name":"tastymoca","email":"teo.montlouis-calixte@abtasty.com"},{"name":"mick_mikhail","email":"corey167@gmail.com"},{"name":"pankajpatel_abtasty","email":"pankaj.patel@abtasty.com"},{"name":"mndiaye","email":"mamadou.ndiaye.ext@abtasty.com"},{"name":"stepan-abtasty","email":"stepan.vasnevsky.ext@abtasty.com"},{"name":"jeanszleper-abtasty","email":"jean.szleper@abtasty.com"},{"name":"magomedcharto","email":"magomed.daudov.ext@abtasty.com"},{"name":"anthony-baussard-abtasty","email":"anthony.baussard@abtasty.com"},{"name":"cedric.vimont","email":"cedric.vimont@abtasty.com"},{"name":"tudor.abtasty","email":"tudor.ghetu-bejan@abtasty.com"},{"name":"antoine.witkowski","email":"antoine.witkowski@abtasty.com"},{"name":"aria_v2000","email":"aria.vahidi@abtasty.com"},{"name":"pavel.sprygin.ext","email":"pavel.sprygin.ext@abtasty.com"},{"name":"rlavrov-abtasty","email":"roman.lavrov.ext@abtasty.com"},{"name":"amine.bouchebaba","email":"amine.bouchebaba@abtasty.com"},{"name":"clement.bock.abtasty","email":"clement.bock@abtasty.com"},{"name":"igor.goncharenko","email":"igor.goncharenko@abtasty.com"},{"name":"clementine.carpentier","email":"clementine.carpentier@abtasty.com"},{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},{"name":"abtasty.sebastien","email":"sebastien.niang@abtasty.com"},{"name":"karim.d98","email":"karim.dalaize@abtasty.com"},{"name":"maelaj","email":"mael.ajrouche@abtasty.com"},{"name":"lily_zh","email":"liliia.zhukova@abtasty.com"},{"name":"mnogueron-abtasty","email":"matthieu.nogueron@abtasty.com"},{"name":"ab-henri-petrelli","email":"henri.petrelli@abtasty.com"},{"name":"usernameforme","email":"philippe.henoch@abtasty.com"},{"name":"romanabtasty","email":"roman.surkov.ext@abtasty.com"},{"name":"axelviskovic","email":"axel.viskovic@abtasty.com"},{"name":"a.delprat","email":"antoine.delprat@abtasty.com"},{"name":"calice","email":"calice.lefevre@abtasty.com"},{"name":"isabellegautier","email":"isabelle.gautier@abtasty.com"},{"name":"julesabtasty","email":"jules.gobin@abtasty.com"},{"name":"romainpct_ab","email":"romain.penchenat@abtasty.com"},{"name":"audren","email":"audren.mauplot@abtasty.com"},{"name":"eshwar_abtasty","email":"eshwar.tillaisababady@abtasty.com"},{"name":"victor.duveau","email":"victor.duveau@abtasty.com"},{"name":"stephanec","email":"stephane.chimy@abtasty.com"},{"name":"vidal-abtasty","email":"vidal.nono.chiamegne@abtasty.com"},{"name":"michel.martineau","email":"michel.martineau@abtasty.com"},{"name":"vasily.kuplevich.ext","email":"vasily.kuplevich.ext@abtasty.com"},{"name":"indraabt","email":"indra.tinot.patole@abtasty.com"},{"name":"anya117","email":"anya.kurrimboccus@abtasty.com"},{"name":"ragularatnam","email":"ragularatnam.perinparatnam@abtasty.com"},{"name":"alexandre.fritsch","email":"alexandre.fritsch@abtasty.com"},{"name":"andres.munoz.abtasty","email":"andres.munoz@abtasty.com"},{"name":"hemalambert","email":"hema.lambert@abtasty.com"},{"name":"yannickabtasty","email":"yannick.eyl@abtasty.com"},{"name":"samuel_barubiriza","email":"samuel.barubiriza@abtasty.com"},{"name":"leo.coyere-abt","email":"leo.coyere@abtasty.com"}],"homepage":"https://github.com/flagship-io/mcp-server#readme","bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"bin":{"mcp-server":"build/cli.js"},"dist":{"shasum":"be075a43f44c6d7ea39f55ab75347253d9ad4bfe","tarball":"https://registry.npmjs.org/@abtasty/mcp-server/-/mcp-server-0.1.2.tgz","fileCount":7,"integrity":"sha512-G4gQp7NNkuiVLd4dzmcgK7Z2oUDjq0e+/AKgOToyOjfWinvrIJRFAHNwYd/L2ZQ+ElMp2aPu06bq1ZFZ8uJYSQ==","signatures":[{"sig":"MEYCIQCKEVq4ZBoyzvC9C7pOZ7dPJG6Qg7gG8+XXq2CVdrDvVQIhAOLHyQm/gkAUQqeuNFo9C9xS9LggBbZlD2Q7x9kwwTsu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151223},"main":"index.js","type":"module","gitHead":"f99d58610a92ec8fb8817b200ffae6eeb90b1170","scripts":{"dev":"npm run build && npm run start","build":"esbuild src/index.ts --bundle --platform=node --format=esm --outfile=build/index.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=build/cli.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && chmod 755 build/index.js build/cli.js && cp -r assistant-prompts build/","start":"node ./build/index.js","dev:cli":"npm run build && node npm run start:cli","prebuild":"npm run generate:prompts","start:cli":"node build/cli.js","publish:npm":"npm publish --access public","prepublishOnly":"npm run build","generate:prompts":"tsx scripts/generate-prompts.ts"},"_npmUser":{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"^3.25.76","axios":"^1.12.2","express":"^5.1.0","@flagship.io/js-sdk":"^5.1.6","@modelcontextprotocol/sdk":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.10.1","@types/express":"^5.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.1.2_1768410833774_0.9586131208219424","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@abtasty/mcp-server","version":"0.2.0","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"author":{"name":"AB Tasty"},"license":"MIT","_id":"@abtasty/mcp-server@0.2.0","maintainers":[{"name":"abtasty-user","email":"devops+npm@abtasty.com"},{"name":"j.u.p.iter","email":"pn79122821224@gmail.com"},{"name":"tcoppin_","email":"tanguy@abtasty.com"},{"name":"jonathangranger","email":"jonathan@abtasty.com"},{"name":"elias-abt","email":"elias@abtasty.com"},{"name":"alexbinet","email":"alexandre.binet@abtasty.com"},{"name":"cquandalle","email":"cyril.quandalle@abtasty.com"},{"name":"benoitdubus","email":"benoit.dubus@abtasty.com"},{"name":"jean-baptiste.agostin","email":"Jean-baptiste.agostin@abtasty.com"},{"name":"simenbjerkeset","email":"simen.bjerkeset@abtasty.com"},{"name":"wallaka","email":"antoine.wallace@abtasty.com"},{"name":"theoletouze","email":"theo.letouze@abtasty.com"},{"name":"pierrevinarnick","email":"pierre.vinarnick@abtasty.com"},{"name":"julien_niedzwiecki","email":"julien.niedzwiecki@abtasty.com"},{"name":"balintfulop","email":"balint.fulop@abtasty.com"},{"name":"bricelof","email":"brice.lof@abtasty.com"},{"name":"romain.guillaume.abtasty.com","email":"romain.guillaume@abtasty.com"},{"name":"merki230","email":"merkitoko@gmail.com"},{"name":"camille.gouaultlamour","email":"camille.gouaultlamour@abtasty.com"},{"name":"enzo.morvan","email":"enzo.morvan@abtasty.com"},{"name":"gnicolas.abtasty","email":"guillaume.nicolas@abtasty.com"},{"name":"alexabt","email":"alexander.hermani@abtasty.com"},{"name":"tiwariamrita","email":"amrita.tiwari@abtasty.com"},{"name":"tastymoca","email":"teo.montlouis-calixte@abtasty.com"},{"name":"mick_mikhail","email":"corey167@gmail.com"},{"name":"pankajpatel_abtasty","email":"pankaj.patel@abtasty.com"},{"name":"mndiaye","email":"mamadou.ndiaye.ext@abtasty.com"},{"name":"stepan-abtasty","email":"stepan.vasnevsky.ext@abtasty.com"},{"name":"jeanszleper-abtasty","email":"jean.szleper@abtasty.com"},{"name":"magomedcharto","email":"magomed.daudov.ext@abtasty.com"},{"name":"anthony-baussard-abtasty","email":"anthony.baussard@abtasty.com"},{"name":"cedric.vimont","email":"cedric.vimont@abtasty.com"},{"name":"tudor.abtasty","email":"tudor.ghetu-bejan@abtasty.com"},{"name":"antoine.witkowski","email":"antoine.witkowski@abtasty.com"},{"name":"aria_v2000","email":"aria.vahidi@abtasty.com"},{"name":"pavel.sprygin.ext","email":"pavel.sprygin.ext@abtasty.com"},{"name":"rlavrov-abtasty","email":"roman.lavrov.ext@abtasty.com"},{"name":"amine.bouchebaba","email":"amine.bouchebaba@abtasty.com"},{"name":"clement.bock.abtasty","email":"clement.bock@abtasty.com"},{"name":"igor.goncharenko","email":"igor.goncharenko@abtasty.com"},{"name":"clementine.carpentier","email":"clementine.carpentier@abtasty.com"},{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},{"name":"abtasty.sebastien","email":"sebastien.niang@abtasty.com"},{"name":"karim.d98","email":"karim.dalaize@abtasty.com"},{"name":"maelaj","email":"mael.ajrouche@abtasty.com"},{"name":"lily_zh","email":"liliia.zhukova@abtasty.com"},{"name":"mnogueron-abtasty","email":"matthieu.nogueron@abtasty.com"},{"name":"ab-henri-petrelli","email":"henri.petrelli@abtasty.com"},{"name":"usernameforme","email":"philippe.henoch@abtasty.com"},{"name":"romanabtasty","email":"roman.surkov.ext@abtasty.com"},{"name":"axelviskovic","email":"axel.viskovic@abtasty.com"},{"name":"a.delprat","email":"antoine.delprat@abtasty.com"},{"name":"calice","email":"calice.lefevre@abtasty.com"},{"name":"isabellegautier","email":"isabelle.gautier@abtasty.com"},{"name":"julesabtasty","email":"jules.gobin@abtasty.com"},{"name":"romainpct_ab","email":"romain.penchenat@abtasty.com"},{"name":"audren","email":"audren.mauplot@abtasty.com"},{"name":"eshwar_abtasty","email":"eshwar.tillaisababady@abtasty.com"},{"name":"victor.duveau","email":"victor.duveau@abtasty.com"},{"name":"stephanec","email":"stephane.chimy@abtasty.com"},{"name":"vidal-abtasty","email":"vidal.nono.chiamegne@abtasty.com"},{"name":"michel.martineau","email":"michel.martineau@abtasty.com"},{"name":"vasily.kuplevich.ext","email":"vasily.kuplevich.ext@abtasty.com"},{"name":"indraabt","email":"indra.tinot.patole@abtasty.com"},{"name":"anya117","email":"anya.kurrimboccus@abtasty.com"},{"name":"ragularatnam","email":"ragularatnam.perinparatnam@abtasty.com"},{"name":"alexandre.fritsch","email":"alexandre.fritsch@abtasty.com"},{"name":"andres.munoz.abtasty","email":"andres.munoz@abtasty.com"},{"name":"hemalambert","email":"hema.lambert@abtasty.com"},{"name":"yannickabtasty","email":"yannick.eyl@abtasty.com"},{"name":"samuel_barubiriza","email":"samuel.barubiriza@abtasty.com"},{"name":"leo.coyere-abt","email":"leo.coyere@abtasty.com"}],"homepage":"https://github.com/flagship-io/mcp-server#readme","bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"bin":{"mcp-server":"build/cli.js"},"dist":{"shasum":"1e556b23c81d6e38a84f950dd9a4b4eb6b3a00d6","tarball":"https://registry.npmjs.org/@abtasty/mcp-server/-/mcp-server-0.2.0.tgz","fileCount":8,"integrity":"sha512-ksRleZI3r/mrX01t6e935/JVAjsEg30n24loH4FfmYi6MYe0PlVxsEcKpuf9nodLoguIqiGHSk/tSgs0uhy/Dg==","signatures":[{"sig":"MEUCIQDckrGqJJnbH8XV3Yo2r9IerCy2vd78Ud8gOoa8RLu+AgIgBENHYyrkpuVmGylO6pMCMyJvJNklMjhdd1fJYEVBJgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227521},"main":"index.js","type":"module","gitHead":"b904c0022dade1a5806c4a7fcf0b5315a3493a3e","scripts":{"dev":"npm run build && npm run start","build":"esbuild src/index.ts --bundle --platform=node --format=esm --outfile=build/index.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=build/cli.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && chmod 755 build/index.js build/cli.js && cp -r assistant-prompts build/","start":"node ./build/index.js","dev:cli":"npm run build && node npm run start:cli","prebuild":"npm run generate:prompts","start:cli":"node build/cli.js","publish:npm":"npm publish --access public","prepublishOnly":"npm run build","generate:prompts":"tsx scripts/generate-prompts.ts"},"_npmUser":{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.25.76","axios":"^1.12.2","express":"^5.1.0","@flagship.io/js-sdk":"^5.1.6","@modelcontextprotocol/sdk":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.10.1","@types/express":"^5.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.2.0_1769351879438_0.20383556735916453","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@abtasty/mcp-server","version":"0.3.0","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"author":{"name":"AB Tasty"},"license":"MIT","_id":"@abtasty/mcp-server@0.3.0","maintainers":[{"name":"abtasty-user","email":"devops+npm@abtasty.com"},{"name":"j.u.p.iter","email":"pn79122821224@gmail.com"},{"name":"tcoppin_","email":"tanguy@abtasty.com"},{"name":"jonathangranger","email":"jonathan@abtasty.com"},{"name":"elias-abt","email":"elias@abtasty.com"},{"name":"alexbinet","email":"alexandre.binet@abtasty.com"},{"name":"cquandalle","email":"cyril.quandalle@abtasty.com"},{"name":"benoitdubus","email":"benoit.dubus@abtasty.com"},{"name":"jean-baptiste.agostin","email":"Jean-baptiste.agostin@abtasty.com"},{"name":"simenbjerkeset","email":"simen.bjerkeset@abtasty.com"},{"name":"wallaka","email":"antoine.wallace@abtasty.com"},{"name":"theoletouze","email":"theo.letouze@abtasty.com"},{"name":"pierrevinarnick","email":"pierre.vinarnick@abtasty.com"},{"name":"julien_niedzwiecki","email":"julien.niedzwiecki@abtasty.com"},{"name":"balintfulop","email":"balint.fulop@abtasty.com"},{"name":"bricelof","email":"brice.lof@abtasty.com"},{"name":"romain.guillaume.abtasty.com","email":"romain.guillaume@abtasty.com"},{"name":"merki230","email":"merkitoko@gmail.com"},{"name":"camille.gouaultlamour","email":"camille.gouaultlamour@abtasty.com"},{"name":"enzo.morvan","email":"enzo.morvan@abtasty.com"},{"name":"gnicolas.abtasty","email":"guillaume.nicolas@abtasty.com"},{"name":"alexabt","email":"alexander.hermani@abtasty.com"},{"name":"tiwariamrita","email":"amrita.tiwari@abtasty.com"},{"name":"chloeadr","email":"chloe.adrian@abtasty.com"},{"name":"tastymoca","email":"teo.montlouis-calixte@abtasty.com"},{"name":"mick_mikhail","email":"corey167@gmail.com"},{"name":"pankajpatel_abtasty","email":"pankaj.patel@abtasty.com"},{"name":"mndiaye","email":"mamadou.ndiaye.ext@abtasty.com"},{"name":"stepan-abtasty","email":"stepan.vasnevsky.ext@abtasty.com"},{"name":"jeanszleper-abtasty","email":"jean.szleper@abtasty.com"},{"name":"magomedcharto","email":"magomed.daudov.ext@abtasty.com"},{"name":"anthony-baussard-abtasty","email":"anthony.baussard@abtasty.com"},{"name":"cedric.vimont","email":"cedric.vimont@abtasty.com"},{"name":"tudor.abtasty","email":"tudor.ghetu-bejan@abtasty.com"},{"name":"antoine.witkowski","email":"antoine.witkowski@abtasty.com"},{"name":"aria_v2000","email":"aria.vahidi@abtasty.com"},{"name":"pavel.sprygin.ext","email":"pavel.sprygin.ext@abtasty.com"},{"name":"rlavrov-abtasty","email":"roman.lavrov.ext@abtasty.com"},{"name":"amine.bouchebaba","email":"amine.bouchebaba@abtasty.com"},{"name":"clement.bock.abtasty","email":"clement.bock@abtasty.com"},{"name":"igor.goncharenko","email":"igor.goncharenko@abtasty.com"},{"name":"clementine.carpentier","email":"clementine.carpentier@abtasty.com"},{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},{"name":"abtasty.sebastien","email":"sebastien.niang@abtasty.com"},{"name":"karim.d98","email":"karim.dalaize@abtasty.com"},{"name":"maelaj","email":"mael.ajrouche@abtasty.com"},{"name":"lily_zh","email":"liliia.zhukova@abtasty.com"},{"name":"mnogueron-abtasty","email":"matthieu.nogueron@abtasty.com"},{"name":"ab-henri-petrelli","email":"henri.petrelli@abtasty.com"},{"name":"usernameforme","email":"philippe.henoch@abtasty.com"},{"name":"romanabtasty","email":"roman.surkov.ext@abtasty.com"},{"name":"axelviskovic","email":"axel.viskovic@abtasty.com"},{"name":"a.delprat","email":"antoine.delprat@abtasty.com"},{"name":"calice","email":"calice.lefevre@abtasty.com"},{"name":"isabellegautier","email":"isabelle.gautier@abtasty.com"},{"name":"julesabtasty","email":"jules.gobin@abtasty.com"},{"name":"romainpct_ab","email":"romain.penchenat@abtasty.com"},{"name":"audren","email":"audren.mauplot@abtasty.com"},{"name":"eshwar_abtasty","email":"eshwar.tillaisababady@abtasty.com"},{"name":"victor.duveau","email":"victor.duveau@abtasty.com"},{"name":"stephanec","email":"stephane.chimy@abtasty.com"},{"name":"vidal-abtasty","email":"vidal.nono.chiamegne@abtasty.com"},{"name":"michel.martineau","email":"michel.martineau@abtasty.com"},{"name":"vasily.kuplevich.ext","email":"vasily.kuplevich.ext@abtasty.com"},{"name":"indraabt","email":"indra.tinot.patole@abtasty.com"},{"name":"anya117","email":"anya.kurrimboccus@abtasty.com"},{"name":"ragularatnam","email":"ragularatnam.perinparatnam@abtasty.com"},{"name":"alexandre.fritsch","email":"alexandre.fritsch@abtasty.com"},{"name":"andres.munoz.abtasty","email":"andres.munoz@abtasty.com"},{"name":"hemalambert","email":"hema.lambert@abtasty.com"},{"name":"yannickabtasty","email":"yannick.eyl@abtasty.com"},{"name":"samuel_barubiriza","email":"samuel.barubiriza@abtasty.com"},{"name":"leo.coyere-abt","email":"leo.coyere@abtasty.com"}],"homepage":"https://github.com/flagship-io/mcp-server#readme","bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"bin":{"mcp-server":"build/cli.js"},"dist":{"shasum":"ea8701c5971840a8ed29b58caf4cfe370de43789","tarball":"https://registry.npmjs.org/@abtasty/mcp-server/-/mcp-server-0.3.0.tgz","fileCount":9,"integrity":"sha512-h+8Rhxwbr6pV8ELlcJnD3/3WdaQMz6Jrjx+kKIg0yDA2Ssxfqhtro4ILX50wYSblD9/Rrt62BzMOVBNbB1cv+g==","signatures":[{"sig":"MEUCIQCIlfblLQPoOHjCplerd8Qr80tMhSs0TgltuzHZ54s+TAIgF3W1w7NGTql0RNNjQvyOMTeTibTzWuCMZM8nbRYiEbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250382},"main":"index.js","type":"module","gitHead":"82f4796de0c21661c3c8d9910da5d620883155a7","scripts":{"dev":"npm run build && npm run start","build":"esbuild src/index.ts --bundle --platform=node --format=esm --outfile=build/index.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=build/cli.js --external:@modelcontextprotocol/sdk --external:axios --external:express --external:@flagship.io/js-sdk --packages=external && chmod 755 build/index.js build/cli.js && cp -r assistant-prompts build/","start":"node ./build/index.js","dev:cli":"npm run build && node npm run start:cli","prebuild":"npm run generate:prompts","start:cli":"node build/cli.js","publish:npm":"npm publish --access public","prepublishOnly":"npm run build","generate:prompts":"tsx scripts/generate-prompts.ts"},"_npmUser":{"name":"chadi-abtasty","email":"chadi.laoulaou@abtasty.com"},"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","directories":{},"_nodeVersion":"20.20.1","dependencies":{"zod":"^3.25.76","axios":"^1.12.2","express":"^5.1.0","@flagship.io/js-sdk":"^5.1.6","@modelcontextprotocol/sdk":"^1.20.1","@abtasty/codebase-analyzer-typescript":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.10.1","@types/express":"^5.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.0_1774448755128_0.7105697842532821","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-14T14:43:03.123Z","modified":"2026-09-14T12:14:33.767Z","0.1.0":"2026-01-14T14:43:03.359Z","0.1.1":"2026-01-14T16:34:06.309Z","0.1.2":"2026-01-14T17:13:53.944Z","0.2.0":"2026-01-25T14:37:59.590Z","0.3.0":"2026-03-25T14:25:55.268Z"},"bugs":{"url":"https://github.com/flagship-io/mcp-server/issues"},"author":{"name":"AB Tasty"},"license":"MIT","homepage":"https://github.com/flagship-io/mcp-server#readme","keywords":["mcp","model-context-protocol","ab-tasty","flagship","feature-flags","experimentation","rollouts","feature-management","typescript","ai-assistant"],"repository":{"url":"git+https://github.com/flagship-io/mcp-server.git","type":"git"},"description":"Model Context Protocol server for AB Tasty Feature Experimentation & Rollouts platform","maintainers":[{"email":"devops+npm@abtasty.com","name":"abtasty-user"},{"email":"pn79122821224@gmail.com","name":"j.u.p.iter"},{"email":"tanguy@abtasty.com","name":"tcoppin_"},{"email":"jonathan@abtasty.com","name":"jonathangranger"},{"email":"alexandre.binet@abtasty.com","name":"alexbinet"},{"email":"aditya.anand@vwo.com","name":"adityanand"},{"email":"anuj.bansal@vwo.com","name":"anujbansal"},{"email":"cyril.quandalle@abtasty.com","name":"cquandalle"},{"email":"benoit.dubus@abtasty.com","name":"benoitdubus"},{"email":"simen.bjerkeset@abtasty.com","name":"simenbjerkeset"},{"email":"pierre.vinarnick@abtasty.com","name":"pierrevinarnick"},{"email":"julien.niedzwiecki@abtasty.com","name":"julien_niedzwiecki"},{"email":"balint.fulop@abtasty.com","name":"balintfulop"},{"email":"merkitoko@gmail.com","name":"merki230"},{"email":"camille.gouaultlamour@abtasty.com","name":"camille.gouaultlamour"},{"email":"guillaume.nicolas@abtasty.com","name":"gnicolas.abtasty"},{"email":"alexander.hermani@abtasty.com","name":"alexabt"},{"email":"amrita.tiwari@abtasty.com","name":"tiwariamrita"},{"email":"chloe.adrian@abtasty.com","name":"chloeadr"},{"email":"teo.montlouis-calixte@abtasty.com","name":"tastymoca"},{"email":"corey167@gmail.com","name":"mick_mikhail"},{"email":"mamadou.ndiaye@abtasty.com","name":"mndiaye"},{"email":"stepan.vasnevsky.ext@abtasty.com","name":"stepan-abtasty"},{"email":"jean.szleper@abtasty.com","name":"jeanszleper-abtasty"},{"email":"magomed.daudov.ext@abtasty.com","name":"magomedcharto"},{"email":"anthony.baussard@abtasty.com","name":"anthony-baussard-abtasty"},{"email":"cedric.vimont@abtasty.com","name":"cedric.vimont"},{"email":"antoine.witkowski@abtasty.com","name":"antoine.witkowski"},{"email":"aria.vahidi@abtasty.com","name":"aria_v2000"},{"email":"pavel.sprygin.ext@abtasty.com","name":"pavel.sprygin.ext"},{"email":"roman.lavrov.ext@abtasty.com","name":"rlavrov-abtasty"},{"email":"amine.bouchebaba@abtasty.com","name":"amine.bouchebaba"},{"email":"clement.bock@abtasty.com","name":"clement.bock.abtasty"},{"email":"igor.goncharenko@abtasty.com","name":"igor.goncharenko"},{"email":"karim.dalaize@abtasty.com","name":"karim.d98"},{"email":"mael.ajrouche@abtasty.com","name":"maelaj"},{"email":"kanishka.singhal@wingify.com","name":"kanishkasinghal"},{"email":"deepak.chaudhary@wingify.com","name":"deepakchaudhary07"},{"email":"infra.abtasty@wingify.com","name":"infraabtasty"},{"email":"liliia.zhukova@abtasty.com","name":"lily_zh"},{"email":"valentin.malemanche@abtasty.com","name":"valentin-malemanche"},{"email":"benoit.allibe@abtasty.com","name":"benoit.allibe"},{"email":"matthieu.nogueron@abtasty.com","name":"mnogueron-abtasty"},{"email":"henri.petrelli@abtasty.com","name":"ab-henri-petrelli"},{"email":"gaetan.postorivo@abtasty.com","name":"gaetan.p"},{"email":"kant.chhim@abtasty.com","name":"kanthann"},{"email":"manish.kumar1@wingify.com","name":"manish144"},{"email":"anmol.kurmi@wingify.com","name":"anmolkurmi"},{"email":"philippe.henoch@abtasty.com","name":"usernameforme"},{"email":"nitish.mittal@wingify.com","name":"nitishmittal_wingify"},{"email":"gaetan+npm@abtasty.com","name":"gaetan-philippot-abt2"},{"email":"apoorv.tiwari@wingify.com","name":"apoorv.tiwari1"},{"email":"roman.surkov.ext@abtasty.com","name":"romanabtasty"},{"email":"axel.viskovic@abtasty.com","name":"axelviskovic"},{"email":"antoine.delprat@abtasty.com","name":"a.delprat"},{"email":"calice.lefevre@abtasty.com","name":"calice"},{"email":"isabelle.gautier@abtasty.com","name":"isabellegautier"},{"email":"audren.mauplot@abtasty.com","name":"audren"},{"email":"eshwar.tillaisababady@abtasty.com","name":"eshwar_abtasty"},{"email":"victor.duveau@abtasty.com","name":"victor.duveau"},{"email":"stephane.chimy@abtasty.com","name":"stephanec"},{"email":"vidal.nono.chiamegne@abtasty.com","name":"vidal-abtasty"},{"email":"vasily.kuplevich.ext@abtasty.com","name":"vasily.kuplevich.ext"},{"email":"anya.kurrimboccus@abtasty.com","name":"anya117"},{"email":"ragularatnam.perinparatnam@abtasty.com","name":"ragularatnam"},{"email":"alexandre.fritsch@abtasty.com","name":"alexandre.fritsch"},{"email":"andres.munoz@abtasty.com","name":"andres.munoz.abtasty"},{"email":"hema.lambert@abtasty.com","name":"hemalambert"},{"email":"yannick.eyl@abtasty.com","name":"yannickabtasty"},{"email":"samuel.barubiriza@abtasty.com","name":"samuel_barubiriza"},{"email":"leo.coyere@abtasty.com","name":"leo.coyere-abt"}],"readme":"# AB Tasty MCP Server\n\nA Model Context Protocol (MCP) server that integrates AB Tasty's Feature Experimentation & Rollouts platform with AI assistants. This server provides tools for feature flag management, campaign retrieval, and guided SDK integration through the MCP protocol.\n\n## Features\n\n### Tools\n\n- **Decision API Integration**: Retrieve campaigns and feature flags for visitors\n  - `decision_api_get_campaigns`: Get all campaigns for a visitor with context\n  - `decision_api_get_campaign`: Get a specific campaign by ID for a visitor\n  - `decision_api_get_flags`: Get all feature flags for a visitor\n  - `decision_api_activate_campaign`: Activate a campaign for a visitor\n\n- **Resource Loader API**: Extract and analyze campaign configurations (v0.2.0+)\n  - `resource_loader_api_load_webexp_resources`: Load Web Experimentation & Personalization resources (use with `we_resource_extractor` prompt)\n  - `resource_loader_api_load_featexp_resources`: Load Feature Experimentation & Rollout resources (use with `fear_resource_extractor` prompt)\n  - _Note: In v0.2.0, the Resource Loader API was split into platform-specific tools for better clarity_\n\n### Prompts\n\n- **Quick Start Guides**: Interactive prompts for AB Tasty SDK installation\n  - Node.js SDK installation guide\n- **Resource Extractors**: AI-powered resource configuration generators\n  - `we_resource_extractor`: Converts natural language campaign briefs into Web Experimentation resource configurations\n  - `fear_resource_extractor`: Converts natural language campaign briefs into Feature Experimentation resource configurations\n  - These prompts generate the JSON needed for the Resource Loader API tools\n\n### Resources\n\n- **Documentation**: Access to AB Tasty Feature Experimentation & Rollout documentation directly through MCP\n\n## Prerequisites\n\n- Node.js 18+\n- npm or yarn\n- AB Tasty credentials:\n  - Environment ID\n  - API Key\n  - (Optional) Account ID and token for Resource Loader features for Web Experimentation\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/flagship-io/mcp-server.git\ncd mcp-server\n```\n\n2. Install dependencies:\n\n```bash\nyarn install\n```\n\n3. Build the project:\n\n```bash\nyarn build\n```\n\n## Usage\n\n### Using with npx (Recommended)\n\nThe easiest way to use the MCP server is through npx without any installation:\n\n```json\n{\n  \"mcpServers\": {\n    \"ABTasty\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@abtasty/mcp-server\",\n        \"--fear-env-id\",\n        \"YOUR_FEAR_ENV_ID\",\n        \"--fear-api-key\",\n        \"YOUR_FEAR_API_KEY\",\n        \"--resource-loader-fear-account-id\",\n        \"YOUR_FEAR_ACCOUNT_ID\",\n        \"--resource-loader-fear-account-environment-id\",\n        \"YOUR_FEAR_ACCOUNT_ENVIRONMENT_ID\",\n        \"--resource-loader-fear-rca-token\",\n        \"YOUR_FEAR_RCA_TOKEN\",\n        \"--resource-loader-we-account-id\",\n        \"YOUR_WE_ACCOUNT_ID\",\n        \"--resource-loader-we-token\",\n        \"YOUR_WE_TOKEN\"\n      ]\n    }\n  }\n}\n```\n\nReplace the placeholder values with your actual credentials:\n\n- `YOUR_FEAR_ENV_ID`: Your AB Tasty Feature Experimentation account environment ID\n- `YOUR_FEAR_API_KEY`: Your AB Tasty Feature Experimentation API key\n- `YOUR_FEAR_ACCOUNT_ID`: Your AB Tasty Feature Experimentation Account ID\n- `YOUR_FEAR_ACCOUNT_ENVIRONMENT_ID`: Your AB Tasty Feature Experimentation account Environment ID\n- `YOUR_FEAR_RCA_TOKEN`: Your AB Tasty Feature Experimentation RCA Token\n- `YOUR_WE_ACCOUNT_ID`: Your AB Tasty Web Experimentation Account ID\n- `YOUR_WE_TOKEN`: Your AB Tasty Web Experimentation token\n\n**Alternative: Environment Variables**\n\nYou can also set credentials via environment variables instead of command-line arguments:\n\n```bash\n# Feature Experimentation & Rollout\nexport FEAR_ENV_ID=\"your_fear_env_id\"\nexport FEAR_API_KEY=\"your_fear_api_key\"\n\n# Resource Loader - Feature Experimentation & Rollout\nexport RESOURCE_LOADER_FEAR_ACCOUNT_ID=\"your_fear_account_id\"\nexport RESOURCE_LOADER_FEAR_ACCOUNT_ENVIRONMENT_ID=\"your_fear_account_environment_id\"\nexport RESOURCE_LOADER_FEAR_RCA_TOKEN=\"your_fear_rca_token\"\n\n# Resource Loader - Web Experimentation & Personalization\nexport RESOURCE_LOADER_WE_ACCOUNT_ID=\"your_we_account_id\"\nexport RESOURCE_LOADER_WE_TOKEN=\"your_we_token\"\n```\n\nThen use a simpler npx command:\n\n```json\n{\n  \"mcpServers\": {\n    \"ABTasty\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@abtasty/mcp-server\"]\n    }\n  }\n}\n```\n\n### Running the HTTP Server\n\nStart the server on the default port (3000):\n\n```bash\nyarn start\n```\n\nOr specify a custom port:\n\n```bash\nPORT=8080 yarn start\n```\n\nThe server will be available at `http://localhost:3000/mcp` (or your custom port).\n\n### Configuration\n\nThe server accepts configuration through HTTP headers for each session:\n\n#### Feature Experimentation & Rollout (FEAR) Headers:\n\n- `x-fear-env-id`: Your AB Tasty Feature Experimentation & Rollout environment ID\n- `x-fear-api-key`: Your AB Tasty Feature Experimentation & Rollout API key\n\n#### Resource Loader Headers (optional):\n\n**For Web Experimentation & Personalization:**\n\n- `x-resource-loader-we-account-id`: Your AB Tasty Web Experimentation account ID\n- `x-resource-loader-we-token`: Your Web Experimentation resource loader authentication token\n\n**For Feature Experimentation & Rollout:**\n\n- `x-resource-loader-fear-account-id`: Your AB Tasty Feature Experimentation & Rollout account ID\n- `x-resource-loader-fear-account-environment-id`: Your AB Tasty Feature Experimentation & Rollout environment ID\n- `x-resource-loader-fear-rca-token`: Your Feature Experimentation & Rollout (Remote Control API) resource loader authentication token\n\n### Connecting with MCP Clients\n\nThe server supports two modes of operation:\n\n#### 1. Stdio Mode (for Claude Desktop and similar clients)\n\nUse the npx command shown above for stdio-based MCP clients like Claude Desktop.\n\n#### 2. HTTP Mode (Streamable HTTP transport)\n\nFor HTTP-based clients, the server uses the Streamable HTTP transport protocol. Configure your MCP client to connect to the server endpoint:\n\n```json\n{\n  \"mcpServers\": {\n    \"ABTasty\": {\n      \"url\": \"http://localhost:3000/mcp\",\n      \"headers\": {\n        \"x-fear-env-id\": \"your_env_id\",\n        \"x-fear-api-key\": \"your_api_key\"\n      }\n    }\n  }\n}\n```\n\n### Example: Using Tools\n\nOnce connected through an MCP client, you can use the available tools:\n\n**Get campaigns for a visitor:**\n\n```typescript\ndecision_api_get_campaigns({\n  visitor_id: \"user123\",\n  context: {\n    age: 25,\n    country: \"US\"\n  },\n  trigger_hit: true\n});\n```\n\n**Get feature flags:**\n\n```typescript\ndecision_api_get_flags({\n  visitor_id: \"user123\",\n  context: {\n    age: 25,\n    country: \"US\"\n  },\n  trigger_hit: false\n});\n```\n\n**Create and load Web Experimentation resources:**\n\nStep 1: Use the `we_resource_extractor` prompt to convert your campaign brief into a resource configuration:\n\n```text\nUser: Create an A/B test on https://example.com/pricing.\nShow a red button for 50% of traffic.\n\nPrompt Output:\n{\n  \"needs_clarification\": false,\n  \"questions\": [],\n  \"resources\": [\n    {\n      \"type\": \"campaign\",\n      \"$_ref\": \"c1\",\n      \"action\": \"create\",\n      \"payload\": {...}\n    }\n  ]\n}\n```\n\nStep 2: Load the resources using the tool:\n\n```typescript\nresource_loader_api_load_webexp_resources({\n  resourceLoaderContent: {\n    \"needs_clarification\": false,\n    \"questions\": [],\n    \"resources\": [...]\n  },\n  dryrun: false,\n});\n```\n\n**Create and load Feature Experimentation resources:**\n\nStep 1: Use the `fear_resource_extractor` prompt to convert your campaign brief:\n\n```text\nUser: Create a feature flag 'new-checkout' for 25% of users\n\nPrompt Output:\n{\n  \"version\": 1,\n  \"needs_clarification\": false,\n  \"questions\": [],\n  \"resources\": [\n    {\n      \"type\": \"project\",\n      \"$_ref\": \"p1\",\n      \"action\": \"create\",\n      \"payload\": {...}\n    },\n    {\n      \"type\": \"campaign\",\n      \"$_ref\": \"c1\",\n      \"action\": \"create\",\n      \"payload\": {...}\n    }\n  ]\n}\n```\n\nStep 2: Load the resources using the tool:\n\n```typescript\nresource_loader_api_load_featexp_resources({\n  resourceLoaderContent: {\n    \"version\": 1,\n    \"needs_clarification\": false,\n    \"questions\": [],\n    \"resources\": [...]\n  },\n  dryrun: false,\n});\n```\n\n## Development\n\n### Project Structure\n\n```\n├── src/\n│   ├── index.ts              # Main HTTP server entry point\n│   ├── cli.ts                # CLI entry point for stdio mode\n│   ├── tools/                # MCP tool implementations\n│   │   ├── decision-api.ts   # Feature flag tools\n│   │   └── resource-loader-api.ts\n│   ├── prompts/              # Interactive prompt definitions\n│   │   ├── quickstart-guide.ts\n│   │   └── resource-loader-prompts.ts\n│   └── resources/            # Resource providers\n│       └── documentation.ts\n├── helpers/                  # Utility functions\n│   ├── abtasty-fear.ts      # AB Tasty Feature Experimentation SDK wrapper\n│   └── resource-loader.ts   # Campaign extraction utilities\n├── types/                   # TypeScript type definitions\n├── assistant-prompts/       # Markdown prompt templates\n└── build/                   # Compiled output\n```\n\n### Development Scripts\n\n```bash\n# Generate prompt files\nyarn generate:prompts\n\n# Build the project\nyarn build\n\n# Build and run\nyarn dev\n```\n\n### Building from Source\n\nThe build process:\n\n1. Generates TypeScript files from markdown prompts\n2. Bundles the application with esbuild\n3. Copies assistant prompt files to the build directory\n\n```bash\nyarn build\n```\n\n## Architecture\n\n### Session Management\n\nThe server maintains isolated sessions for each client connection:\n\n- Each session has its own credentials (provided via headers)\n- Sessions are identified by unique UUIDs\n- Sessions are cleaned up when connections close\n\n### Transport Layer\n\nUses the Streamable HTTP transport from the MCP SDK:\n\n- Supports JSON-RPC 2.0 over HTTP\n- Session-based connection management\n- Automatic session initialization and cleanup\n\n## Security Notes\n\n- Credentials are session-scoped and not shared between sessions\n- Always use HTTPS in production environments\n- Store credentials securely and never commit them to version control\n\n## API Documentation\n\n### Tools\n\n#### `decision_api_get_campaigns`\n\nRetrieves all campaigns for a visitor.\n\n**Parameters:**\n\n- `visitor_id` (string): Unique visitor identifier\n- `context` (object): Key-value pairs for targeting (optional)\n- `trigger_hit` (boolean): Send analytics hit (default: false)\n\n**Returns:** Array of campaigns with variations and modifications\n\n#### `decision_api_get_campaign`\n\nRetrieves a specific campaign by its ID for a visitor.\n\n**Parameters:**\n\n- `visitor_id` (string): Unique visitor identifier\n- `campaign_id` (string): Campaign ID to retrieve\n- `context` (object): Key-value pairs for targeting (optional)\n- `trigger_hit` (boolean): Send analytics hit (default: false)\n\n**Returns:** Campaign with variation and modifications\n\n#### `decision_api_get_flags`\n\nRetrieves all feature flags for a visitor.\n\n**Parameters:**\n\n- `visitor_id` (string): Unique visitor identifier\n- `context` (object): Key-value pairs for targeting (optional)\n- `trigger_hit` (boolean): Send analytics hit (default: false)\n\n**Returns:** Object with flag keys and their values\n\n#### `decision_api_activate_campaign`\n\nActivates a campaign for a visitor.\n\n**Parameters:**\n\n- `visitor_id` (string): Unique visitor identifier\n- `variation_group_id` (string): Variation group ID to activate\n- `variation_id` (string): Variation ID to activate\n\n**Returns:** Activation confirmation\n\n#### `resource_loader_api_load_webexp_resources`\n\nLoads Web Experimentation & Personalization resources via the Resource Loader API.\n\n**Workflow:** Use the `we_resource_extractor` prompt to generate the resourceLoaderContent from a natural language campaign brief, then pass it to this tool.\n\n**Parameters:**\n\n- `resourceLoaderContent` (object): JSON containing resource loader content with `needs_clarification`, `questions`, and `resources` array\n- `dryrun` (boolean): Whether to simulate the request without sending it\n\n**Returns:** Loaded resources results\n\n#### `resource_loader_api_load_featexp_resources`\n\nLoads Feature Experimentation & Rollout resources via the Resource Loader API.\n\n**Workflow:** Use the `fear_resource_extractor` prompt to generate the resourceLoaderContent from a natural language campaign brief, then pass it to this tool.\n\n**Parameters:**\n\n- `resourceLoaderContent` (object): JSON containing resource loader content with `version`, `needs_clarification`, `questions`, and `resources` array\n- `dryrun` (boolean): Whether to simulate the request without sending it\n\n**Returns:** Loaded resources results\n\n## Troubleshooting\n\n### Server won't start\n\n- Check if port 3000 is already in use\n- Verify Node.js version (18+ required)\n- Ensure dependencies are installed: `yarn install`\n\n### \"Invalid credentials\" errors\n\n- Verify your environment ID and API key are correct\n- Check that headers are properly set in your MCP client configuration\n- Ensure credentials have the necessary permissions in AB Tasty\n\n## License\n\n[MIT License](./LICENSE)\n\n## Support\n\nFor issues related to:\n\n- **This MCP server**: Open an issue on GitHub\n- **AB Tasty platform**: Contact [AB Tasty support](https://support.abtasty.com/)\n\n## Resources\n\n- **MCP protocol**: See [Model Context Protocol documentation](https://modelcontextprotocol.io/)\n- **AB Tasty SDK**: See [AB Tasty SDK](https://docs.abtasty.com/server-side/sdks)\n","readmeFilename":"README.md"}