[{"data":1,"prerenderedAt":1969},["ShallowReactive",2],{"tutorial-install-bruin/install-cli":3,"content-query-r6srMgXKHt":396,"content-query-FCg2M3XPFV":681},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":13,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":18,"author":25,"body":29,"_type":390,"_id":391,"_source":392,"_file":393,"_stem":394,"_extension":395},"/tutorials/install-bruin/install-cli","install-bruin",false,"","Install the CLI","Install the Bruin CLI on macOS, Linux, or Windows and verify it's working.","2026-04-15",2,"Tutorial",[14],"Bruin CLI","Beginner",1,true,[19,22],{"label":20,"url":21},"Bruin CLI documentation","https://getbruin.com/docs/bruin/overview.html",{"label":23,"url":24},"CLI installation reference","https://getbruin.com/docs/bruin/getting-started/introduction/installation.html",{"name":26,"role":27,"image":28},"Bruin Team","Bruin Data","/bruin-logo-2025.svg",{"type":30,"children":31,"toc":379},"root",[32,41,47,53,58,64,71,76,121,148,161,192,206,212,240,275,281,286,306,334,362,368,373],{"type":33,"tag":34,"props":35,"children":37},"element","h2",{"id":36},"what-youll-do",[38],{"type":39,"value":40},"text","What you'll do",{"type":33,"tag":42,"props":43,"children":44},"p",{},[45],{"type":39,"value":46},"Install the Bruin CLI on your machine and verify it's ready to use.",{"type":33,"tag":34,"props":48,"children":50},{"id":49},"why-this-step-matters",[51],{"type":39,"value":52},"Why this step matters",{"type":33,"tag":42,"props":54,"children":55},{},[56],{"type":39,"value":57},"The Bruin CLI is the core tool for creating projects, running pipelines, managing connections, and querying data. Everything else in Bruin builds on it.",{"type":33,"tag":34,"props":59,"children":61},{"id":60},"instructions",[62],{"type":39,"value":63},"Instructions",{"type":33,"tag":65,"props":66,"children":68},"h3",{"id":67},"_1-install-the-cli",[69],{"type":39,"value":70},"1) Install the CLI",{"type":33,"tag":42,"props":72,"children":73},{},[74],{"type":39,"value":75},"Run this command in your terminal:",{"type":33,"tag":77,"props":78,"children":82},"pre",{"className":79,"code":80,"language":81,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","curl -LsSf https://getbruin.com/install/cli | sh\n","bash",[83],{"type":33,"tag":84,"props":85,"children":86},"code",{"__ignoreMap":7},[87],{"type":33,"tag":88,"props":89,"children":91},"span",{"class":90,"line":16},"line",[92,98,104,110,116],{"type":33,"tag":88,"props":93,"children":95},{"style":94},"--shiki-default:#B392F0",[96],{"type":39,"value":97},"curl",{"type":33,"tag":88,"props":99,"children":101},{"style":100},"--shiki-default:#79B8FF",[102],{"type":39,"value":103}," -LsSf",{"type":33,"tag":88,"props":105,"children":107},{"style":106},"--shiki-default:#9ECBFF",[108],{"type":39,"value":109}," https://getbruin.com/install/cli",{"type":33,"tag":88,"props":111,"children":113},{"style":112},"--shiki-default:#F97583",[114],{"type":39,"value":115}," |",{"type":33,"tag":88,"props":117,"children":118},{"style":94},[119],{"type":39,"value":120}," sh\n",{"type":33,"tag":42,"props":122,"children":123},{},[124,126,132,134,139,141,146],{"type":39,"value":125},"This works on ",{"type":33,"tag":127,"props":128,"children":129},"strong",{},[130],{"type":39,"value":131},"macOS",{"type":39,"value":133},", ",{"type":33,"tag":127,"props":135,"children":136},{},[137],{"type":39,"value":138},"Linux",{"type":39,"value":140},", and ",{"type":33,"tag":127,"props":142,"children":143},{},[144],{"type":39,"value":145},"Windows",{"type":39,"value":147}," (via Git Bash or WSL).",{"type":33,"tag":42,"props":149,"children":150},{},[151,153,159],{"type":39,"value":152},"If you prefer ",{"type":33,"tag":84,"props":154,"children":156},{"className":155},[],[157],{"type":39,"value":158},"wget",{"type":39,"value":160},":",{"type":33,"tag":77,"props":162,"children":164},{"className":79,"code":163,"language":81,"meta":7,"style":7},"wget -qO- https://getbruin.com/install/cli | sh\n",[165],{"type":33,"tag":84,"props":166,"children":167},{"__ignoreMap":7},[168],{"type":33,"tag":88,"props":169,"children":170},{"class":90,"line":16},[171,175,180,184,188],{"type":33,"tag":88,"props":172,"children":173},{"style":94},[174],{"type":39,"value":158},{"type":33,"tag":88,"props":176,"children":177},{"style":100},[178],{"type":39,"value":179}," -qO-",{"type":33,"tag":88,"props":181,"children":182},{"style":106},[183],{"type":39,"value":109},{"type":33,"tag":88,"props":185,"children":186},{"style":112},[187],{"type":39,"value":115},{"type":33,"tag":88,"props":189,"children":190},{"style":94},[191],{"type":39,"value":120},{"type":33,"tag":193,"props":194,"children":195},"note",{},[196],{"type":33,"tag":42,"props":197,"children":198},{},[199,204],{"type":33,"tag":127,"props":200,"children":201},{},[202],{"type":39,"value":203},"Windows users:",{"type":39,"value":205}," Make sure to run the command in Git Bash or WSL, not PowerShell or Command Prompt.",{"type":33,"tag":65,"props":207,"children":209},{"id":208},"_2-fix-permission-issues-if-needed",[210],{"type":39,"value":211},"2) Fix permission issues (if needed)",{"type":33,"tag":42,"props":213,"children":214},{},[215,217,223,225,231,233,239],{"type":39,"value":216},"If you see a ",{"type":33,"tag":84,"props":218,"children":220},{"className":219},[],[221],{"type":39,"value":222},"Permission Denied",{"type":39,"value":224}," error, your user doesn't have write access to ",{"type":33,"tag":84,"props":226,"children":228},{"className":227},[],[229],{"type":39,"value":230},"~/.local/bin",{"type":39,"value":232},". Run with ",{"type":33,"tag":84,"props":234,"children":236},{"className":235},[],[237],{"type":39,"value":238},"sudo",{"type":39,"value":160},{"type":33,"tag":77,"props":241,"children":243},{"className":79,"code":242,"language":81,"meta":7,"style":7},"curl -LsSf https://getbruin.com/install/cli | sudo sh\n",[244],{"type":33,"tag":84,"props":245,"children":246},{"__ignoreMap":7},[247],{"type":33,"tag":88,"props":248,"children":249},{"class":90,"line":16},[250,254,258,262,266,271],{"type":33,"tag":88,"props":251,"children":252},{"style":94},[253],{"type":39,"value":97},{"type":33,"tag":88,"props":255,"children":256},{"style":100},[257],{"type":39,"value":103},{"type":33,"tag":88,"props":259,"children":260},{"style":106},[261],{"type":39,"value":109},{"type":33,"tag":88,"props":263,"children":264},{"style":112},[265],{"type":39,"value":115},{"type":33,"tag":88,"props":267,"children":268},{"style":94},[269],{"type":39,"value":270}," sudo",{"type":33,"tag":88,"props":272,"children":273},{"style":106},[274],{"type":39,"value":120},{"type":33,"tag":65,"props":276,"children":278},{"id":277},"_3-verify-the-installation",[279],{"type":39,"value":280},"3) Verify the installation",{"type":33,"tag":42,"props":282,"children":283},{},[284],{"type":39,"value":285},"Check that Bruin is installed and accessible:",{"type":33,"tag":77,"props":287,"children":289},{"className":79,"code":288,"language":81,"meta":7,"style":7},"bruin version\n",[290],{"type":33,"tag":84,"props":291,"children":292},{"__ignoreMap":7},[293],{"type":33,"tag":88,"props":294,"children":295},{"class":90,"line":16},[296,301],{"type":33,"tag":88,"props":297,"children":298},{"style":94},[299],{"type":39,"value":300},"bruin",{"type":33,"tag":88,"props":302,"children":303},{"style":106},[304],{"type":39,"value":305}," version\n",{"type":33,"tag":42,"props":307,"children":308},{},[309,311,317,319,324,326,332],{"type":39,"value":310},"You should see a version number printed. If you get ",{"type":33,"tag":84,"props":312,"children":314},{"className":313},[],[315],{"type":39,"value":316},"command not found",{"type":39,"value":318},", make sure ",{"type":33,"tag":84,"props":320,"children":322},{"className":321},[],[323],{"type":39,"value":230},{"type":39,"value":325}," is in your ",{"type":33,"tag":84,"props":327,"children":329},{"className":328},[],[330],{"type":39,"value":331},"PATH",{"type":39,"value":333},".",{"type":33,"tag":193,"props":335,"children":336},{},[337],{"type":33,"tag":42,"props":338,"children":339},{},[340,345,347,353,355,360],{"type":33,"tag":127,"props":341,"children":342},{},[343],{"type":39,"value":344},"Homebrew users:",{"type":39,"value":346}," The Homebrew installation method is deprecated. If you previously installed Bruin via Homebrew, uninstall it first with ",{"type":33,"tag":84,"props":348,"children":350},{"className":349},[],[351],{"type":39,"value":352},"brew uninstall bruin",{"type":39,"value":354},", then use the ",{"type":33,"tag":84,"props":356,"children":358},{"className":357},[],[359],{"type":39,"value":97},{"type":39,"value":361}," command above.",{"type":33,"tag":34,"props":363,"children":365},{"id":364},"what-just-happened",[366],{"type":39,"value":367},"What just happened",{"type":33,"tag":42,"props":369,"children":370},{},[371],{"type":39,"value":372},"You installed the Bruin CLI. It's now available in your terminal for creating projects, running pipelines, and managing connections. Next, you'll install the VS Code extension for a visual development experience.",{"type":33,"tag":374,"props":375,"children":376},"style",{},[377],{"type":39,"value":378},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":11,"depth":11,"links":380},[381,382,383,389],{"id":36,"depth":11,"text":40},{"id":49,"depth":11,"text":52},{"id":60,"depth":11,"text":63,"children":384},[385,387,388],{"id":67,"depth":386,"text":70},3,{"id":208,"depth":386,"text":211},{"id":277,"depth":386,"text":280},{"id":364,"depth":11,"text":367},"markdown","content:tutorials:install-bruin:install-cli.md","content","tutorials/install-bruin/install-cli.md","tutorials/install-bruin/install-cli","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":397,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":398,"author":401,"body":402,"_type":390,"_id":391,"_source":392,"_file":393,"_stem":394,"_extension":395},[14],[399,400],{"label":20,"url":21},{"label":23,"url":24},{"name":26,"role":27,"image":28},{"type":30,"children":403,"toc":671},[404,408,412,416,420,424,428,432,461,480,490,519,530,534,556,589,593,597,614,636,659,663,667],{"type":33,"tag":34,"props":405,"children":406},{"id":36},[407],{"type":39,"value":40},{"type":33,"tag":42,"props":409,"children":410},{},[411],{"type":39,"value":46},{"type":33,"tag":34,"props":413,"children":414},{"id":49},[415],{"type":39,"value":52},{"type":33,"tag":42,"props":417,"children":418},{},[419],{"type":39,"value":57},{"type":33,"tag":34,"props":421,"children":422},{"id":60},[423],{"type":39,"value":63},{"type":33,"tag":65,"props":425,"children":426},{"id":67},[427],{"type":39,"value":70},{"type":33,"tag":42,"props":429,"children":430},{},[431],{"type":39,"value":75},{"type":33,"tag":77,"props":433,"children":434},{"className":79,"code":80,"language":81,"meta":7,"style":7},[435],{"type":33,"tag":84,"props":436,"children":437},{"__ignoreMap":7},[438],{"type":33,"tag":88,"props":439,"children":440},{"class":90,"line":16},[441,445,449,453,457],{"type":33,"tag":88,"props":442,"children":443},{"style":94},[444],{"type":39,"value":97},{"type":33,"tag":88,"props":446,"children":447},{"style":100},[448],{"type":39,"value":103},{"type":33,"tag":88,"props":450,"children":451},{"style":106},[452],{"type":39,"value":109},{"type":33,"tag":88,"props":454,"children":455},{"style":112},[456],{"type":39,"value":115},{"type":33,"tag":88,"props":458,"children":459},{"style":94},[460],{"type":39,"value":120},{"type":33,"tag":42,"props":462,"children":463},{},[464,465,469,470,474,475,479],{"type":39,"value":125},{"type":33,"tag":127,"props":466,"children":467},{},[468],{"type":39,"value":131},{"type":39,"value":133},{"type":33,"tag":127,"props":471,"children":472},{},[473],{"type":39,"value":138},{"type":39,"value":140},{"type":33,"tag":127,"props":476,"children":477},{},[478],{"type":39,"value":145},{"type":39,"value":147},{"type":33,"tag":42,"props":481,"children":482},{},[483,484,489],{"type":39,"value":152},{"type":33,"tag":84,"props":485,"children":487},{"className":486},[],[488],{"type":39,"value":158},{"type":39,"value":160},{"type":33,"tag":77,"props":491,"children":492},{"className":79,"code":163,"language":81,"meta":7,"style":7},[493],{"type":33,"tag":84,"props":494,"children":495},{"__ignoreMap":7},[496],{"type":33,"tag":88,"props":497,"children":498},{"class":90,"line":16},[499,503,507,511,515],{"type":33,"tag":88,"props":500,"children":501},{"style":94},[502],{"type":39,"value":158},{"type":33,"tag":88,"props":504,"children":505},{"style":100},[506],{"type":39,"value":179},{"type":33,"tag":88,"props":508,"children":509},{"style":106},[510],{"type":39,"value":109},{"type":33,"tag":88,"props":512,"children":513},{"style":112},[514],{"type":39,"value":115},{"type":33,"tag":88,"props":516,"children":517},{"style":94},[518],{"type":39,"value":120},{"type":33,"tag":193,"props":520,"children":521},{},[522],{"type":33,"tag":42,"props":523,"children":524},{},[525,529],{"type":33,"tag":127,"props":526,"children":527},{},[528],{"type":39,"value":203},{"type":39,"value":205},{"type":33,"tag":65,"props":531,"children":532},{"id":208},[533],{"type":39,"value":211},{"type":33,"tag":42,"props":535,"children":536},{},[537,538,543,544,549,550,555],{"type":39,"value":216},{"type":33,"tag":84,"props":539,"children":541},{"className":540},[],[542],{"type":39,"value":222},{"type":39,"value":224},{"type":33,"tag":84,"props":545,"children":547},{"className":546},[],[548],{"type":39,"value":230},{"type":39,"value":232},{"type":33,"tag":84,"props":551,"children":553},{"className":552},[],[554],{"type":39,"value":238},{"type":39,"value":160},{"type":33,"tag":77,"props":557,"children":558},{"className":79,"code":242,"language":81,"meta":7,"style":7},[559],{"type":33,"tag":84,"props":560,"children":561},{"__ignoreMap":7},[562],{"type":33,"tag":88,"props":563,"children":564},{"class":90,"line":16},[565,569,573,577,581,585],{"type":33,"tag":88,"props":566,"children":567},{"style":94},[568],{"type":39,"value":97},{"type":33,"tag":88,"props":570,"children":571},{"style":100},[572],{"type":39,"value":103},{"type":33,"tag":88,"props":574,"children":575},{"style":106},[576],{"type":39,"value":109},{"type":33,"tag":88,"props":578,"children":579},{"style":112},[580],{"type":39,"value":115},{"type":33,"tag":88,"props":582,"children":583},{"style":94},[584],{"type":39,"value":270},{"type":33,"tag":88,"props":586,"children":587},{"style":106},[588],{"type":39,"value":120},{"type":33,"tag":65,"props":590,"children":591},{"id":277},[592],{"type":39,"value":280},{"type":33,"tag":42,"props":594,"children":595},{},[596],{"type":39,"value":285},{"type":33,"tag":77,"props":598,"children":599},{"className":79,"code":288,"language":81,"meta":7,"style":7},[600],{"type":33,"tag":84,"props":601,"children":602},{"__ignoreMap":7},[603],{"type":33,"tag":88,"props":604,"children":605},{"class":90,"line":16},[606,610],{"type":33,"tag":88,"props":607,"children":608},{"style":94},[609],{"type":39,"value":300},{"type":33,"tag":88,"props":611,"children":612},{"style":106},[613],{"type":39,"value":305},{"type":33,"tag":42,"props":615,"children":616},{},[617,618,623,624,629,630,635],{"type":39,"value":310},{"type":33,"tag":84,"props":619,"children":621},{"className":620},[],[622],{"type":39,"value":316},{"type":39,"value":318},{"type":33,"tag":84,"props":625,"children":627},{"className":626},[],[628],{"type":39,"value":230},{"type":39,"value":325},{"type":33,"tag":84,"props":631,"children":633},{"className":632},[],[634],{"type":39,"value":331},{"type":39,"value":333},{"type":33,"tag":193,"props":637,"children":638},{},[639],{"type":33,"tag":42,"props":640,"children":641},{},[642,646,647,652,653,658],{"type":33,"tag":127,"props":643,"children":644},{},[645],{"type":39,"value":344},{"type":39,"value":346},{"type":33,"tag":84,"props":648,"children":650},{"className":649},[],[651],{"type":39,"value":352},{"type":39,"value":354},{"type":33,"tag":84,"props":654,"children":656},{"className":655},[],[657],{"type":39,"value":97},{"type":39,"value":361},{"type":33,"tag":34,"props":660,"children":661},{"id":364},[662],{"type":39,"value":367},{"type":33,"tag":42,"props":664,"children":665},{},[666],{"type":39,"value":372},{"type":33,"tag":374,"props":668,"children":669},{},[670],{"type":39,"value":378},{"title":7,"searchDepth":11,"depth":11,"links":672},[673,674,675,680],{"id":36,"depth":11,"text":40},{"id":49,"depth":11,"text":52},{"id":60,"depth":11,"text":63,"children":676},[677,678,679],{"id":67,"depth":386,"text":70},{"id":208,"depth":386,"text":211},{"id":277,"depth":386,"text":280},{"id":364,"depth":11,"text":367},[682,967,1394],{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":683,"difficulty":15,"module":5,"step":16,"subSteps":17,"learnMore":684,"author":687,"body":688,"_type":390,"_id":391,"_source":392,"_file":393,"_stem":394,"_extension":395},[14],[685,686],{"label":20,"url":21},{"label":23,"url":24},{"name":26,"role":27,"image":28},{"type":30,"children":689,"toc":957},[690,694,698,702,706,710,714,718,747,766,776,805,816,820,842,875,879,883,900,922,945,949,953],{"type":33,"tag":34,"props":691,"children":692},{"id":36},[693],{"type":39,"value":40},{"type":33,"tag":42,"props":695,"children":696},{},[697],{"type":39,"value":46},{"type":33,"tag":34,"props":699,"children":700},{"id":49},[701],{"type":39,"value":52},{"type":33,"tag":42,"props":703,"children":704},{},[705],{"type":39,"value":57},{"type":33,"tag":34,"props":707,"children":708},{"id":60},[709],{"type":39,"value":63},{"type":33,"tag":65,"props":711,"children":712},{"id":67},[713],{"type":39,"value":70},{"type":33,"tag":42,"props":715,"children":716},{},[717],{"type":39,"value":75},{"type":33,"tag":77,"props":719,"children":720},{"className":79,"code":80,"language":81,"meta":7,"style":7},[721],{"type":33,"tag":84,"props":722,"children":723},{"__ignoreMap":7},[724],{"type":33,"tag":88,"props":725,"children":726},{"class":90,"line":16},[727,731,735,739,743],{"type":33,"tag":88,"props":728,"children":729},{"style":94},[730],{"type":39,"value":97},{"type":33,"tag":88,"props":732,"children":733},{"style":100},[734],{"type":39,"value":103},{"type":33,"tag":88,"props":736,"children":737},{"style":106},[738],{"type":39,"value":109},{"type":33,"tag":88,"props":740,"children":741},{"style":112},[742],{"type":39,"value":115},{"type":33,"tag":88,"props":744,"children":745},{"style":94},[746],{"type":39,"value":120},{"type":33,"tag":42,"props":748,"children":749},{},[750,751,755,756,760,761,765],{"type":39,"value":125},{"type":33,"tag":127,"props":752,"children":753},{},[754],{"type":39,"value":131},{"type":39,"value":133},{"type":33,"tag":127,"props":757,"children":758},{},[759],{"type":39,"value":138},{"type":39,"value":140},{"type":33,"tag":127,"props":762,"children":763},{},[764],{"type":39,"value":145},{"type":39,"value":147},{"type":33,"tag":42,"props":767,"children":768},{},[769,770,775],{"type":39,"value":152},{"type":33,"tag":84,"props":771,"children":773},{"className":772},[],[774],{"type":39,"value":158},{"type":39,"value":160},{"type":33,"tag":77,"props":777,"children":778},{"className":79,"code":163,"language":81,"meta":7,"style":7},[779],{"type":33,"tag":84,"props":780,"children":781},{"__ignoreMap":7},[782],{"type":33,"tag":88,"props":783,"children":784},{"class":90,"line":16},[785,789,793,797,801],{"type":33,"tag":88,"props":786,"children":787},{"style":94},[788],{"type":39,"value":158},{"type":33,"tag":88,"props":790,"children":791},{"style":100},[792],{"type":39,"value":179},{"type":33,"tag":88,"props":794,"children":795},{"style":106},[796],{"type":39,"value":109},{"type":33,"tag":88,"props":798,"children":799},{"style":112},[800],{"type":39,"value":115},{"type":33,"tag":88,"props":802,"children":803},{"style":94},[804],{"type":39,"value":120},{"type":33,"tag":193,"props":806,"children":807},{},[808],{"type":33,"tag":42,"props":809,"children":810},{},[811,815],{"type":33,"tag":127,"props":812,"children":813},{},[814],{"type":39,"value":203},{"type":39,"value":205},{"type":33,"tag":65,"props":817,"children":818},{"id":208},[819],{"type":39,"value":211},{"type":33,"tag":42,"props":821,"children":822},{},[823,824,829,830,835,836,841],{"type":39,"value":216},{"type":33,"tag":84,"props":825,"children":827},{"className":826},[],[828],{"type":39,"value":222},{"type":39,"value":224},{"type":33,"tag":84,"props":831,"children":833},{"className":832},[],[834],{"type":39,"value":230},{"type":39,"value":232},{"type":33,"tag":84,"props":837,"children":839},{"className":838},[],[840],{"type":39,"value":238},{"type":39,"value":160},{"type":33,"tag":77,"props":843,"children":844},{"className":79,"code":242,"language":81,"meta":7,"style":7},[845],{"type":33,"tag":84,"props":846,"children":847},{"__ignoreMap":7},[848],{"type":33,"tag":88,"props":849,"children":850},{"class":90,"line":16},[851,855,859,863,867,871],{"type":33,"tag":88,"props":852,"children":853},{"style":94},[854],{"type":39,"value":97},{"type":33,"tag":88,"props":856,"children":857},{"style":100},[858],{"type":39,"value":103},{"type":33,"tag":88,"props":860,"children":861},{"style":106},[862],{"type":39,"value":109},{"type":33,"tag":88,"props":864,"children":865},{"style":112},[866],{"type":39,"value":115},{"type":33,"tag":88,"props":868,"children":869},{"style":94},[870],{"type":39,"value":270},{"type":33,"tag":88,"props":872,"children":873},{"style":106},[874],{"type":39,"value":120},{"type":33,"tag":65,"props":876,"children":877},{"id":277},[878],{"type":39,"value":280},{"type":33,"tag":42,"props":880,"children":881},{},[882],{"type":39,"value":285},{"type":33,"tag":77,"props":884,"children":885},{"className":79,"code":288,"language":81,"meta":7,"style":7},[886],{"type":33,"tag":84,"props":887,"children":888},{"__ignoreMap":7},[889],{"type":33,"tag":88,"props":890,"children":891},{"class":90,"line":16},[892,896],{"type":33,"tag":88,"props":893,"children":894},{"style":94},[895],{"type":39,"value":300},{"type":33,"tag":88,"props":897,"children":898},{"style":106},[899],{"type":39,"value":305},{"type":33,"tag":42,"props":901,"children":902},{},[903,904,909,910,915,916,921],{"type":39,"value":310},{"type":33,"tag":84,"props":905,"children":907},{"className":906},[],[908],{"type":39,"value":316},{"type":39,"value":318},{"type":33,"tag":84,"props":911,"children":913},{"className":912},[],[914],{"type":39,"value":230},{"type":39,"value":325},{"type":33,"tag":84,"props":917,"children":919},{"className":918},[],[920],{"type":39,"value":331},{"type":39,"value":333},{"type":33,"tag":193,"props":923,"children":924},{},[925],{"type":33,"tag":42,"props":926,"children":927},{},[928,932,933,938,939,944],{"type":33,"tag":127,"props":929,"children":930},{},[931],{"type":39,"value":344},{"type":39,"value":346},{"type":33,"tag":84,"props":934,"children":936},{"className":935},[],[937],{"type":39,"value":352},{"type":39,"value":354},{"type":33,"tag":84,"props":940,"children":942},{"className":941},[],[943],{"type":39,"value":97},{"type":39,"value":361},{"type":33,"tag":34,"props":946,"children":947},{"id":364},[948],{"type":39,"value":367},{"type":33,"tag":42,"props":950,"children":951},{},[952],{"type":39,"value":372},{"type":33,"tag":374,"props":954,"children":955},{},[956],{"type":39,"value":378},{"title":7,"searchDepth":11,"depth":11,"links":958},[959,960,961,966],{"id":36,"depth":11,"text":40},{"id":49,"depth":11,"text":52},{"id":60,"depth":11,"text":63,"children":962},[963,964,965],{"id":67,"depth":386,"text":70},{"id":208,"depth":386,"text":211},{"id":277,"depth":386,"text":280},{"id":364,"depth":11,"text":367},{"_path":968,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":969,"description":970,"date":10,"readingTime":386,"category":12,"tags":971,"difficulty":15,"module":5,"step":11,"subSteps":17,"learnMore":973,"author":977,"body":978,"_type":390,"_id":1391,"_source":392,"_file":1392,"_stem":1393,"_extension":395},"/tutorials/install-bruin/install-extension","VS Code Extension","Install the Bruin VS Code extension and explore its key features for visual pipeline development.",[14,972],"VS Code",[974],{"label":975,"url":976},"VS Code extension docs","https://getbruin.com/docs/bruin/vscode-extension/overview.html",{"name":26,"role":27,"image":28},{"type":30,"children":979,"toc":1381},[980,984,989,993,998,1002,1008,1017,1051,1071,1077,1090,1135,1143,1148,1154,1159,1169,1177,1190,1200,1208,1220,1230,1242,1252,1260,1270,1282,1292,1300,1312,1322,1330,1342,1352,1360,1372,1376],{"type":33,"tag":34,"props":981,"children":982},{"id":36},[983],{"type":39,"value":40},{"type":33,"tag":42,"props":985,"children":986},{},[987],{"type":39,"value":988},"Install the Bruin VS Code extension and learn what it can do.",{"type":33,"tag":34,"props":990,"children":991},{"id":49},[992],{"type":39,"value":52},{"type":33,"tag":42,"props":994,"children":995},{},[996],{"type":39,"value":997},"The VS Code extension turns your editor into a full pipeline development environment. Instead of switching between the terminal, a database client, and a diagramming tool, you get everything in one place.",{"type":33,"tag":34,"props":999,"children":1000},{"id":60},[1001],{"type":39,"value":63},{"type":33,"tag":65,"props":1003,"children":1005},{"id":1004},"_1-install-the-extension",[1006],{"type":39,"value":1007},"1) Install the extension",{"type":33,"tag":42,"props":1009,"children":1010},{},[1011],{"type":33,"tag":1012,"props":1013,"children":1016},"img",{"alt":1014,"src":1015},"Bruin extension in VS Code marketplace","/img/learn/tutorials/vscode-marketplace.png",[],{"type":33,"tag":42,"props":1018,"children":1019},{},[1020,1022,1028,1030,1036,1038,1043,1045,1050],{"type":39,"value":1021},"Open VS Code and go to the Extensions panel (",{"type":33,"tag":84,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":39,"value":1027},"Cmd+Shift+X",{"type":39,"value":1029}," on Mac, ",{"type":33,"tag":84,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":39,"value":1035},"Ctrl+Shift+X",{"type":39,"value":1037}," on Windows/Linux). Search for ",{"type":33,"tag":127,"props":1039,"children":1040},{},[1041],{"type":39,"value":1042},"Bruin",{"type":39,"value":1044}," and click ",{"type":33,"tag":127,"props":1046,"children":1047},{},[1048],{"type":39,"value":1049},"Install",{"type":39,"value":333},{"type":33,"tag":42,"props":1052,"children":1053},{},[1054,1056,1062,1064,1069],{"type":39,"value":1055},"The extension activates automatically when you open a folder containing a ",{"type":33,"tag":84,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":39,"value":1061},".bruin.yml",{"type":39,"value":1063}," file. You'll see a ",{"type":33,"tag":127,"props":1065,"children":1066},{},[1067],{"type":39,"value":1068},"Bruin icon",{"type":39,"value":1070}," in the sidebar.",{"type":33,"tag":65,"props":1072,"children":1074},{"id":1073},"_2-verify-its-working",[1075],{"type":39,"value":1076},"2) Verify it's working",{"type":33,"tag":42,"props":1078,"children":1079},{},[1080,1082,1088],{"type":39,"value":1081},"Open a Bruin project folder in VS Code (or create one with ",{"type":33,"tag":84,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":39,"value":1087},"bruin init chess",{"type":39,"value":1089}," in the terminal first). You should see:",{"type":33,"tag":1091,"props":1092,"children":1093},"ul",{},[1094,1106,1124],{"type":33,"tag":1095,"props":1096,"children":1097},"li",{},[1098,1100,1104],{"type":39,"value":1099},"The ",{"type":33,"tag":127,"props":1101,"children":1102},{},[1103],{"type":39,"value":1068},{"type":39,"value":1105}," in the left sidebar",{"type":33,"tag":1095,"props":1107,"children":1108},{},[1109,1114,1116,1122],{"type":33,"tag":127,"props":1110,"children":1111},{},[1112],{"type":39,"value":1113},"Syntax highlighting",{"type":39,"value":1115}," in ",{"type":33,"tag":84,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":39,"value":1121},".asset.yml",{"type":39,"value":1123}," and Bruin SQL files",{"type":33,"tag":1095,"props":1125,"children":1126},{},[1127,1128,1133],{"type":39,"value":1099},{"type":33,"tag":127,"props":1129,"children":1130},{},[1131],{"type":39,"value":1132},"Bruin panel",{"type":39,"value":1134}," when you click the sidebar icon",{"type":33,"tag":42,"props":1136,"children":1137},{},[1138],{"type":33,"tag":1012,"props":1139,"children":1142},{"alt":1140,"src":1141},"Syntax highlighting for Bruin assets","/img/learn/tutorials/vscode-syntax-highlighting.png",[],{"type":33,"tag":42,"props":1144,"children":1145},{},[1146],{"type":39,"value":1147},"If you don't have a project yet, don't worry - you'll create one in the next Getting Started step.",{"type":33,"tag":65,"props":1149,"children":1151},{"id":1150},"_3-explore-the-features",[1152],{"type":39,"value":1153},"3) Explore the features",{"type":33,"tag":42,"props":1155,"children":1156},{},[1157],{"type":39,"value":1158},"Here's what the extension gives you and where to learn more about each feature:",{"type":33,"tag":42,"props":1160,"children":1161},{},[1162,1167],{"type":33,"tag":127,"props":1163,"children":1164},{},[1165],{"type":39,"value":1166},"Run pipelines visually",{"type":39,"value":1168}," — Set start and end dates, run the whole pipeline or individual assets, and see progress in the output panel. You can also select specific assets and run them with downstream dependencies.",{"type":33,"tag":42,"props":1170,"children":1171},{},[1172],{"type":33,"tag":1012,"props":1173,"children":1176},{"alt":1174,"src":1175},"Run pipelines from VS Code","/img/learn/tutorials/vscode-action-buttons.gif",[],{"type":33,"tag":1091,"props":1178,"children":1179},{},[1180],{"type":33,"tag":1095,"props":1181,"children":1182},{},[1183],{"type":33,"tag":1184,"props":1185,"children":1187},"a",{"href":1186},"/learn/bruin-multi-asset-run",[1188],{"type":39,"value":1189},"Run Multiple Specific Assets",{"type":33,"tag":42,"props":1191,"children":1192},{},[1193,1198],{"type":33,"tag":127,"props":1194,"children":1195},{},[1196],{"type":39,"value":1197},"View data lineage",{"type":39,"value":1199}," — Open any asset file and click Lineage to see a visual graph of upstream and downstream dependencies.",{"type":33,"tag":42,"props":1201,"children":1202},{},[1203],{"type":33,"tag":1012,"props":1204,"children":1207},{"alt":1205,"src":1206},"Pipeline lineage view","/img/learn/tutorials/vscode-lineage.gif",[],{"type":33,"tag":1091,"props":1209,"children":1210},{},[1211],{"type":33,"tag":1095,"props":1212,"children":1213},{},[1214],{"type":33,"tag":1184,"props":1215,"children":1217},{"href":1216},"/learn/bruin-fill-dependencies",[1218],{"type":39,"value":1219},"Auto-Generate Asset Dependencies",{"type":33,"tag":42,"props":1221,"children":1222},{},[1223,1228],{"type":33,"tag":127,"props":1224,"children":1225},{},[1226],{"type":39,"value":1227},"Query databases",{"type":39,"value":1229}," — Browse tables, view schemas, and run queries across all your connections directly in VS Code - no need for external database clients.",{"type":33,"tag":1091,"props":1231,"children":1232},{},[1233],{"type":33,"tag":1095,"props":1234,"children":1235},{},[1236],{"type":33,"tag":1184,"props":1237,"children":1239},{"href":1238},"/learn/bruin-database-viewer",[1240],{"type":39,"value":1241},"Query Databases from Your IDE",{"type":33,"tag":42,"props":1243,"children":1244},{},[1245,1250],{"type":33,"tag":127,"props":1246,"children":1247},{},[1248],{"type":39,"value":1249},"Preview SQL queries",{"type":39,"value":1251}," — Open a SQL asset and click the play icon to run the query and see results in a formatted table, right inside the editor.",{"type":33,"tag":42,"props":1253,"children":1254},{},[1255],{"type":33,"tag":1012,"props":1256,"children":1259},{"alt":1257,"src":1258},"Query preview in VS Code","/img/learn/tutorials/vscode-query-preview.gif",[],{"type":33,"tag":42,"props":1261,"children":1262},{},[1263,1268],{"type":33,"tag":127,"props":1264,"children":1265},{},[1266],{"type":39,"value":1267},"Browse run history",{"type":39,"value":1269}," — Review past pipeline runs, see which assets succeeded or failed, copy commands, and re-run previous executions.",{"type":33,"tag":1091,"props":1271,"children":1272},{},[1273],{"type":33,"tag":1095,"props":1274,"children":1275},{},[1276],{"type":33,"tag":1184,"props":1277,"children":1279},{"href":1278},"/learn/bruin-run-history",[1280],{"type":39,"value":1281},"Navigate Your Run History",{"type":33,"tag":42,"props":1283,"children":1284},{},[1285,1290],{"type":33,"tag":127,"props":1286,"children":1287},{},[1288],{"type":39,"value":1289},"Auto-generate schemas",{"type":39,"value":1291}," — Pull column names and data types from your database into your asset definitions automatically.",{"type":33,"tag":42,"props":1293,"children":1294},{},[1295],{"type":33,"tag":1012,"props":1296,"children":1299},{"alt":1297,"src":1298},"Auto-generate column schema","/img/learn/tutorials/vscode-manage-columns.gif",[],{"type":33,"tag":1091,"props":1301,"children":1302},{},[1303],{"type":33,"tag":1095,"props":1304,"children":1305},{},[1306],{"type":33,"tag":1184,"props":1307,"children":1309},{"href":1308},"/learn/bruin-generate-schema",[1310],{"type":39,"value":1311},"Auto-Generate Column Schema",{"type":33,"tag":42,"props":1313,"children":1314},{},[1315,1320],{"type":33,"tag":127,"props":1316,"children":1317},{},[1318],{"type":39,"value":1319},"Validate pipelines",{"type":39,"value":1321}," — Check configurations, asset definitions, SQL syntax, and dependency issues before deploying.",{"type":33,"tag":42,"props":1323,"children":1324},{},[1325],{"type":33,"tag":1012,"props":1326,"children":1329},{"alt":1327,"src":1328},"Validate pipeline","/img/learn/tutorials/validate.gif",[],{"type":33,"tag":1091,"props":1331,"children":1332},{},[1333],{"type":33,"tag":1095,"props":1334,"children":1335},{},[1336],{"type":33,"tag":1184,"props":1337,"children":1339},{"href":1338},"/learn/bruin-validate",[1340],{"type":39,"value":1341},"Validate Pipelines Before Deploying",{"type":33,"tag":42,"props":1343,"children":1344},{},[1345,1350],{"type":33,"tag":127,"props":1346,"children":1347},{},[1348],{"type":39,"value":1349},"Understand materialization",{"type":39,"value":1351}," — See how materialization transforms your SQL queries at runtime with the render command.",{"type":33,"tag":42,"props":1353,"children":1354},{},[1355],{"type":33,"tag":1012,"props":1356,"children":1359},{"alt":1357,"src":1358},"Render materialized query","/img/learn/tutorials/render.gif",[],{"type":33,"tag":1091,"props":1361,"children":1362},{},[1363],{"type":33,"tag":1095,"props":1364,"children":1365},{},[1366],{"type":33,"tag":1184,"props":1367,"children":1369},{"href":1368},"/learn/bruin-render-assets",[1370],{"type":39,"value":1371},"Understand Materialization with Render",{"type":33,"tag":34,"props":1373,"children":1374},{"id":364},[1375],{"type":39,"value":367},{"type":33,"tag":42,"props":1377,"children":1378},{},[1379],{"type":39,"value":1380},"You installed the Bruin VS Code extension and now know what it can do. Next, you can optionally set up the Bruin MCP to connect an AI coding assistant to your pipelines.",{"title":7,"searchDepth":11,"depth":11,"links":1382},[1383,1384,1385,1390],{"id":36,"depth":11,"text":40},{"id":49,"depth":11,"text":52},{"id":60,"depth":11,"text":63,"children":1386},[1387,1388,1389],{"id":1004,"depth":386,"text":1007},{"id":1073,"depth":386,"text":1076},{"id":1150,"depth":386,"text":1153},{"id":364,"depth":11,"text":367},"content:tutorials:install-bruin:install-extension.md","tutorials/install-bruin/install-extension.md","tutorials/install-bruin/install-extension",{"_path":1395,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1396,"description":1397,"date":10,"readingTime":386,"category":12,"tags":1398,"difficulty":15,"module":5,"step":386,"subSteps":17,"learnMore":1401,"author":1411,"body":1412,"_type":390,"_id":1966,"_source":392,"_file":1967,"_stem":1968,"_extension":395},"/tutorials/install-bruin/setup-mcp","Set Up the Bruin MCP","Connect your AI coding assistant to Bruin so it can query data, build pipelines, and look up documentation.",[14,1399,1400],"Bruin AI","MCP",[1402,1405,1408],{"label":1403,"url":1404},"Bruin MCP setup guide","https://getbruin.com/docs/bruin/getting-started/bruin-mcp.html",{"label":1406,"url":1407},"Set Up Bruin MCP with Claude Code","/learn/bruin-mcp-claude",{"label":1409,"url":1410},"Connect Bruin Cloud MCP to Claude Code","/learn/bruin-cloud-mcp",{"name":26,"role":27,"image":28},{"type":30,"children":1413,"toc":1954},[1414,1418,1423,1427,1432,1440,1444,1450,1458,1462,1506,1511,1516,1525,1536,1546,1552,1564,1642,1647,1653,1666,1715,1788,1831,1837,1849,1882,1888,1900,1920,1941,1945,1950],{"type":33,"tag":34,"props":1415,"children":1416},{"id":36},[1417],{"type":39,"value":40},{"type":33,"tag":42,"props":1419,"children":1420},{},[1421],{"type":39,"value":1422},"Set up the Bruin MCP (Model Context Protocol) for your AI coding tool so it can interact with your pipelines and data directly.",{"type":33,"tag":34,"props":1424,"children":1425},{"id":49},[1426],{"type":39,"value":52},{"type":33,"tag":42,"props":1428,"children":1429},{},[1430],{"type":39,"value":1431},"The Bruin MCP gives your AI assistant superpowers. Instead of copy-pasting schemas and error messages, your AI tool can query your data warehouse, inspect your pipeline structure, run Bruin commands, and look up documentation - all on its own. This makes AI-assisted pipeline development dramatically faster.",{"type":33,"tag":193,"props":1433,"children":1434},{},[1435],{"type":33,"tag":42,"props":1436,"children":1437},{},[1438],{"type":39,"value":1439},"This step is optional. You can build pipelines without an AI assistant, but the MCP makes the experience much smoother - especially for the tutorials in this academy that use AI prompts.",{"type":33,"tag":34,"props":1441,"children":1442},{"id":60},[1443],{"type":39,"value":63},{"type":33,"tag":65,"props":1445,"children":1447},{"id":1446},"_1-claude-code",[1448],{"type":39,"value":1449},"1) Claude Code",{"type":33,"tag":42,"props":1451,"children":1452},{},[1453],{"type":33,"tag":1012,"props":1454,"children":1457},{"alt":1455,"src":1456},"Bruin MCP with Claude","/img/learn/tutorials/mcp-claude.png",[],{"type":33,"tag":42,"props":1459,"children":1460},{},[1461],{"type":39,"value":75},{"type":33,"tag":77,"props":1463,"children":1465},{"className":79,"code":1464,"language":81,"meta":7,"style":7},"claude mcp add bruin -- bruin mcp\n",[1466],{"type":33,"tag":84,"props":1467,"children":1468},{"__ignoreMap":7},[1469],{"type":33,"tag":88,"props":1470,"children":1471},{"class":90,"line":16},[1472,1477,1482,1487,1492,1497,1501],{"type":33,"tag":88,"props":1473,"children":1474},{"style":94},[1475],{"type":39,"value":1476},"claude",{"type":33,"tag":88,"props":1478,"children":1479},{"style":106},[1480],{"type":39,"value":1481}," mcp",{"type":33,"tag":88,"props":1483,"children":1484},{"style":106},[1485],{"type":39,"value":1486}," add",{"type":33,"tag":88,"props":1488,"children":1489},{"style":106},[1490],{"type":39,"value":1491}," bruin",{"type":33,"tag":88,"props":1493,"children":1494},{"style":100},[1495],{"type":39,"value":1496}," --",{"type":33,"tag":88,"props":1498,"children":1499},{"style":106},[1500],{"type":39,"value":1491},{"type":33,"tag":88,"props":1502,"children":1503},{"style":106},[1504],{"type":39,"value":1505}," mcp\n",{"type":33,"tag":42,"props":1507,"children":1508},{},[1509],{"type":39,"value":1510},"Restart Claude Code for the MCP to take effect.",{"type":33,"tag":42,"props":1512,"children":1513},{},[1514],{"type":39,"value":1515},"To verify, open Claude Code in a Bruin project directory and ask:",{"type":33,"tag":1517,"props":1518,"children":1519},"blockquote",{},[1520],{"type":33,"tag":42,"props":1521,"children":1522},{},[1523],{"type":39,"value":1524},"What connections are available in this Bruin project?",{"type":33,"tag":42,"props":1526,"children":1527},{},[1528,1530,1535],{"type":39,"value":1529},"Claude should find and list your connections from ",{"type":33,"tag":84,"props":1531,"children":1533},{"className":1532},[],[1534],{"type":39,"value":1061},{"type":39,"value":333},{"type":33,"tag":42,"props":1537,"children":1538},{},[1539,1541,1545],{"type":39,"value":1540},"For a deeper walkthrough, see ",{"type":33,"tag":1184,"props":1542,"children":1543},{"href":1407},[1544],{"type":39,"value":1406},{"type":39,"value":333},{"type":33,"tag":65,"props":1547,"children":1549},{"id":1548},"_2-cursor",[1550],{"type":39,"value":1551},"2) Cursor",{"type":33,"tag":42,"props":1553,"children":1554},{},[1555,1557,1562],{"type":39,"value":1556},"Go to ",{"type":33,"tag":127,"props":1558,"children":1559},{},[1560],{"type":39,"value":1561},"Settings > MCP & Integrations > Add Custom MCP",{"type":39,"value":1563},", then add:",{"type":33,"tag":77,"props":1565,"children":1569},{"className":1566,"code":1567,"language":1568,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\n  \"mcpServers\": {\n    \"bruin\": {\n      \"command\": \"bruin\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n","json",[1570],{"type":33,"tag":84,"props":1571,"children":1572},{"__ignoreMap":7},[1573,1581,1589,1597,1606,1615,1624,1633],{"type":33,"tag":88,"props":1574,"children":1575},{"class":90,"line":16},[1576],{"type":33,"tag":88,"props":1577,"children":1578},{},[1579],{"type":39,"value":1580},"{\n",{"type":33,"tag":88,"props":1582,"children":1583},{"class":90,"line":11},[1584],{"type":33,"tag":88,"props":1585,"children":1586},{},[1587],{"type":39,"value":1588},"  \"mcpServers\": {\n",{"type":33,"tag":88,"props":1590,"children":1591},{"class":90,"line":386},[1592],{"type":33,"tag":88,"props":1593,"children":1594},{},[1595],{"type":39,"value":1596},"    \"bruin\": {\n",{"type":33,"tag":88,"props":1598,"children":1600},{"class":90,"line":1599},4,[1601],{"type":33,"tag":88,"props":1602,"children":1603},{},[1604],{"type":39,"value":1605},"      \"command\": \"bruin\",\n",{"type":33,"tag":88,"props":1607,"children":1609},{"class":90,"line":1608},5,[1610],{"type":33,"tag":88,"props":1611,"children":1612},{},[1613],{"type":39,"value":1614},"      \"args\": [\"mcp\"]\n",{"type":33,"tag":88,"props":1616,"children":1618},{"class":90,"line":1617},6,[1619],{"type":33,"tag":88,"props":1620,"children":1621},{},[1622],{"type":39,"value":1623},"    }\n",{"type":33,"tag":88,"props":1625,"children":1627},{"class":90,"line":1626},7,[1628],{"type":33,"tag":88,"props":1629,"children":1630},{},[1631],{"type":39,"value":1632},"  }\n",{"type":33,"tag":88,"props":1634,"children":1636},{"class":90,"line":1635},8,[1637],{"type":33,"tag":88,"props":1638,"children":1639},{},[1640],{"type":39,"value":1641},"}\n",{"type":33,"tag":42,"props":1643,"children":1644},{},[1645],{"type":39,"value":1646},"Restart Cursor after saving.",{"type":33,"tag":65,"props":1648,"children":1650},{"id":1649},"_3-vs-code-copilot",[1651],{"type":39,"value":1652},"3) VS Code (Copilot)",{"type":33,"tag":42,"props":1654,"children":1655},{},[1656,1658,1664],{"type":39,"value":1657},"Add the following to your ",{"type":33,"tag":84,"props":1659,"children":1661},{"className":1660},[],[1662],{"type":39,"value":1663},"mcp.json",{"type":39,"value":1665}," file:",{"type":33,"tag":1091,"props":1667,"children":1668},{},[1669,1685,1700],{"type":33,"tag":1095,"props":1670,"children":1671},{},[1672,1677,1679],{"type":33,"tag":127,"props":1673,"children":1674},{},[1675],{"type":39,"value":1676},"macOS:",{"type":39,"value":1678}," ",{"type":33,"tag":84,"props":1680,"children":1682},{"className":1681},[],[1683],{"type":39,"value":1684},"~/.vscode/mcp.json",{"type":33,"tag":1095,"props":1686,"children":1687},{},[1688,1693,1694],{"type":33,"tag":127,"props":1689,"children":1690},{},[1691],{"type":39,"value":1692},"Windows:",{"type":39,"value":1678},{"type":33,"tag":84,"props":1695,"children":1697},{"className":1696},[],[1698],{"type":39,"value":1699},"%APPDATA%\\Code/mcp.json",{"type":33,"tag":1095,"props":1701,"children":1702},{},[1703,1708,1709],{"type":33,"tag":127,"props":1704,"children":1705},{},[1706],{"type":39,"value":1707},"Linux:",{"type":39,"value":1678},{"type":33,"tag":84,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":39,"value":1714},"~/.config/Code/mcp.json",{"type":33,"tag":77,"props":1716,"children":1718},{"className":1566,"code":1717,"language":1568,"meta":7,"style":7},"{\n  \"servers\": {\n    \"bruin\": {\n      \"type\": \"stdio\",\n      \"command\": \"bruin\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n",[1719],{"type":33,"tag":84,"props":1720,"children":1721},{"__ignoreMap":7},[1722,1729,1737,1744,1752,1759,1766,1773,1780],{"type":33,"tag":88,"props":1723,"children":1724},{"class":90,"line":16},[1725],{"type":33,"tag":88,"props":1726,"children":1727},{},[1728],{"type":39,"value":1580},{"type":33,"tag":88,"props":1730,"children":1731},{"class":90,"line":11},[1732],{"type":33,"tag":88,"props":1733,"children":1734},{},[1735],{"type":39,"value":1736},"  \"servers\": {\n",{"type":33,"tag":88,"props":1738,"children":1739},{"class":90,"line":386},[1740],{"type":33,"tag":88,"props":1741,"children":1742},{},[1743],{"type":39,"value":1596},{"type":33,"tag":88,"props":1745,"children":1746},{"class":90,"line":1599},[1747],{"type":33,"tag":88,"props":1748,"children":1749},{},[1750],{"type":39,"value":1751},"      \"type\": \"stdio\",\n",{"type":33,"tag":88,"props":1753,"children":1754},{"class":90,"line":1608},[1755],{"type":33,"tag":88,"props":1756,"children":1757},{},[1758],{"type":39,"value":1605},{"type":33,"tag":88,"props":1760,"children":1761},{"class":90,"line":1617},[1762],{"type":33,"tag":88,"props":1763,"children":1764},{},[1765],{"type":39,"value":1614},{"type":33,"tag":88,"props":1767,"children":1768},{"class":90,"line":1626},[1769],{"type":33,"tag":88,"props":1770,"children":1771},{},[1772],{"type":39,"value":1623},{"type":33,"tag":88,"props":1774,"children":1775},{"class":90,"line":1635},[1776],{"type":33,"tag":88,"props":1777,"children":1778},{},[1779],{"type":39,"value":1632},{"type":33,"tag":88,"props":1781,"children":1783},{"class":90,"line":1782},9,[1784],{"type":33,"tag":88,"props":1785,"children":1786},{},[1787],{"type":39,"value":1641},{"type":33,"tag":42,"props":1789,"children":1790},{},[1791,1793,1799,1801,1807,1809,1814,1816,1821,1823,1829],{"type":39,"value":1792},"Alternatively, open the Command Palette (",{"type":33,"tag":84,"props":1794,"children":1796},{"className":1795},[],[1797],{"type":39,"value":1798},"Cmd+Shift+P",{"type":39,"value":1800}," / ",{"type":33,"tag":84,"props":1802,"children":1804},{"className":1803},[],[1805],{"type":39,"value":1806},"Ctrl+Shift+P",{"type":39,"value":1808},"), select ",{"type":33,"tag":127,"props":1810,"children":1811},{},[1812],{"type":39,"value":1813},"Add MCP",{"type":39,"value":1815},", choose ",{"type":33,"tag":127,"props":1817,"children":1818},{},[1819],{"type":39,"value":1820},"Command (stdio)",{"type":39,"value":1822},", enter ",{"type":33,"tag":84,"props":1824,"children":1826},{"className":1825},[],[1827],{"type":39,"value":1828},"bruin mcp",{"type":39,"value":1830},", then restart VS Code.",{"type":33,"tag":65,"props":1832,"children":1834},{"id":1833},"_4-codex-cli",[1835],{"type":39,"value":1836},"4) Codex CLI",{"type":33,"tag":42,"props":1838,"children":1839},{},[1840,1842,1848],{"type":39,"value":1841},"Add the following to ",{"type":33,"tag":84,"props":1843,"children":1845},{"className":1844},[],[1846],{"type":39,"value":1847},"~/.codex/config.toml",{"type":39,"value":160},{"type":33,"tag":77,"props":1850,"children":1854},{"className":1851,"code":1852,"language":1853,"meta":7,"style":7},"language-toml shiki shiki-themes github-dark","[mcp_servers.bruin]\ncommand = \"bruin\"\nargs = [\"mcp\"]\n","toml",[1855],{"type":33,"tag":84,"props":1856,"children":1857},{"__ignoreMap":7},[1858,1866,1874],{"type":33,"tag":88,"props":1859,"children":1860},{"class":90,"line":16},[1861],{"type":33,"tag":88,"props":1862,"children":1863},{},[1864],{"type":39,"value":1865},"[mcp_servers.bruin]\n",{"type":33,"tag":88,"props":1867,"children":1868},{"class":90,"line":11},[1869],{"type":33,"tag":88,"props":1870,"children":1871},{},[1872],{"type":39,"value":1873},"command = \"bruin\"\n",{"type":33,"tag":88,"props":1875,"children":1876},{"class":90,"line":386},[1877],{"type":33,"tag":88,"props":1878,"children":1879},{},[1880],{"type":39,"value":1881},"args = [\"mcp\"]\n",{"type":33,"tag":65,"props":1883,"children":1885},{"id":1884},"_5-windows-users",[1886],{"type":39,"value":1887},"5) Windows users",{"type":33,"tag":42,"props":1889,"children":1890},{},[1891,1893,1898],{"type":39,"value":1892},"On Windows, you may need to use the full path to the Bruin executable instead of just ",{"type":33,"tag":84,"props":1894,"children":1896},{"className":1895},[],[1897],{"type":39,"value":300},{"type":39,"value":1899},". Find it by running this in Git Bash:",{"type":33,"tag":77,"props":1901,"children":1903},{"className":79,"code":1902,"language":81,"meta":7,"style":7},"which bruin\n",[1904],{"type":33,"tag":84,"props":1905,"children":1906},{"__ignoreMap":7},[1907],{"type":33,"tag":88,"props":1908,"children":1909},{"class":90,"line":16},[1910,1915],{"type":33,"tag":88,"props":1911,"children":1912},{"style":100},[1913],{"type":39,"value":1914},"which",{"type":33,"tag":88,"props":1916,"children":1917},{"style":106},[1918],{"type":39,"value":1919}," bruin\n",{"type":33,"tag":42,"props":1921,"children":1922},{},[1923,1925,1931,1933,1939],{"type":39,"value":1924},"Then replace ",{"type":33,"tag":84,"props":1926,"children":1928},{"className":1927},[],[1929],{"type":39,"value":1930},"\"bruin\"",{"type":39,"value":1932}," with the full path (e.g. ",{"type":33,"tag":84,"props":1934,"children":1936},{"className":1935},[],[1937],{"type":39,"value":1938},"\"/c/Users/you/.local/bin/bruin\"",{"type":39,"value":1940},") in the MCP configuration for your tool.",{"type":33,"tag":34,"props":1942,"children":1943},{"id":364},[1944],{"type":39,"value":367},{"type":33,"tag":42,"props":1946,"children":1947},{},[1948],{"type":39,"value":1949},"Your AI coding assistant is now connected to Bruin. It can query your data, inspect pipeline structure, run commands, and look up Bruin documentation. You're fully set up and ready to start building pipelines.",{"type":33,"tag":374,"props":1951,"children":1952},{},[1953],{"type":39,"value":378},{"title":7,"searchDepth":11,"depth":11,"links":1955},[1956,1957,1958,1965],{"id":36,"depth":11,"text":40},{"id":49,"depth":11,"text":52},{"id":60,"depth":11,"text":63,"children":1959},[1960,1961,1962,1963,1964],{"id":1446,"depth":386,"text":1449},{"id":1548,"depth":386,"text":1551},{"id":1649,"depth":386,"text":1652},{"id":1833,"depth":386,"text":1836},{"id":1884,"depth":386,"text":1887},{"id":364,"depth":11,"text":367},"content:tutorials:install-bruin:setup-mcp.md","tutorials/install-bruin/setup-mcp.md","tutorials/install-bruin/setup-mcp",1776427878038]