[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fmcp":3,"docs-nav-it":1919},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":1913,"_id":1914,"_source":1915,"_file":1916,"_stem":1917,"_extension":1918},"\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fmcp","developpeurs",false,"","Pilotare betool da Claude (MCP)","Collega Claude, Claude Desktop o qualsiasi app MCP a betool (chiave API o OAuth 2.1) per leggere la configurazione e proporre modifiche con convalida umana.",{"type":11,"children":12,"toc":1899},"root",[13,65,79,114,177,184,287,292,319,325,330,821,838,843,864,1137,1167,1173,1185,1283,1288,1294,1306,1318,1336,1366,1371,1390,1434,1467,1486,1498,1554,1587,1597,1603,1627,1632,1690,1703,1740,1749,1768,1774,1799,1804,1810,1837,1843,1868,1874],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,27,29,34,36,41,43,48,50,55,57,63],{"type":19,"value":20},"text","betool espone un ",{"type":14,"tag":22,"props":23,"children":24},"strong",{},[25],{"type":19,"value":26},"server MCP",{"type":19,"value":28}," (Model Context Protocol): un client MCP esterno — ",{"type":14,"tag":22,"props":30,"children":31},{},[32],{"type":19,"value":33},"Claude Code",{"type":19,"value":35},", ",{"type":14,"tag":22,"props":37,"children":38},{},[39],{"type":19,"value":40},"Claude Desktop",{"type":19,"value":42}," o qualsiasi applicazione compatibile — può ",{"type":14,"tag":22,"props":44,"children":45},{},[46],{"type":19,"value":47},"leggere la configurazione della tua organizzazione",{"type":19,"value":49}," e ",{"type":14,"tag":22,"props":51,"children":52},{},[53],{"type":19,"value":54},"proporre modifiche in linguaggio naturale",{"type":19,"value":56}," (creare\u002Fmodificare una pipeline, un ruolo, una missione, una valutazione…). È come un assistente che configura betool ",{"type":14,"tag":58,"props":59,"children":60},"em",{},[61],{"type":19,"value":62},"insieme",{"type":19,"value":64}," a te, in modo completamente governato.",{"type":14,"tag":15,"props":66,"children":67},{},[68,70,77],{"type":19,"value":69},"Due modi per collegarsi, allo stesso endpoint ",{"type":14,"tag":71,"props":72,"children":74},"code",{"className":73},[],[75],{"type":19,"value":76},"https:\u002F\u002Fplatform.betool.ai\u002Fmcp",{"type":19,"value":78},":",{"type":14,"tag":80,"props":81,"children":82},"ul",{},[83,104],{"type":14,"tag":84,"props":85,"children":86},"li",{},[87,89,94,96,102],{"type":19,"value":88},"una ",{"type":14,"tag":22,"props":90,"children":91},{},[92],{"type":19,"value":93},"chiave API MCP",{"type":19,"value":95}," nell'header ",{"type":14,"tag":71,"props":97,"children":99},{"className":98},[],[100],{"type":19,"value":101},"Authorization",{"type":19,"value":103}," — il più semplice per Claude Code;",{"type":14,"tag":84,"props":105,"children":106},{},[107,112],{"type":14,"tag":22,"props":108,"children":109},{},[110],{"type":19,"value":111},"OAuth 2.1 + PKCE",{"type":19,"value":113}," — per le applicazioni di terze parti, senza gestire alcun segreto.",{"type":14,"tag":115,"props":116,"children":118},"alert",{"type":117},"info",[119],{"type":14,"tag":15,"props":120,"children":121},{},[122,127,129,134,136,141,143,148,150,155,157,162,164,168,170,175],{"type":14,"tag":22,"props":123,"children":124},{},[125],{"type":19,"value":126},"Nulla viene applicato senza un consenso esplicito.",{"type":19,"value":128}," Ogni modifica passa attraverso una ",{"type":14,"tag":22,"props":130,"children":131},{},[132],{"type":19,"value":133},"proposta",{"type":19,"value":135},". Con lo scope ",{"type":14,"tag":58,"props":137,"children":138},{},[139],{"type":19,"value":140},"Lettura + proposte",{"type":19,"value":142},", la approvi con un pulsante ",{"type":14,"tag":22,"props":144,"children":145},{},[146],{"type":19,"value":147},"Accetta e applica",{"type":19,"value":149}," all'interno di betool. Con lo scope ",{"type":14,"tag":58,"props":151,"children":152},{},[153],{"type":19,"value":154},"Completo",{"type":19,"value":156},", l'applicazione può risolvere le proprie proposte ",{"type":14,"tag":22,"props":158,"children":159},{},[160],{"type":19,"value":161},"dopo il tuo consenso nella sua stessa conversazione",{"type":19,"value":163}," — l'equivalente macchina di quel pulsante, riservato a questo scope e tracciato come tutto il resto. Scegli ",{"type":14,"tag":58,"props":165,"children":166},{},[167],{"type":19,"value":140},{"type":19,"value":169}," se vuoi che la convalida avvenga ",{"type":14,"tag":22,"props":171,"children":172},{},[173],{"type":19,"value":174},"in betool",{"type":19,"value":176},", e in nessun altro luogo.",{"type":14,"tag":178,"props":179,"children":181},"h2",{"id":180},"cosa-può-fare-claude",[182],{"type":19,"value":183},"Cosa può fare Claude",{"type":14,"tag":80,"props":185,"children":186},{},[187,197,207,255,272],{"type":14,"tag":84,"props":188,"children":189},{},[190,195],{"type":14,"tag":22,"props":191,"children":192},{},[193],{"type":19,"value":194},"Leggere",{"type":19,"value":196},": inventario dei modelli, grafo e nodi di una pipeline, contratti di configurazione dei nodi, ruoli\u002Fmissioni, tool disponibili, base di conoscenza.",{"type":14,"tag":84,"props":198,"children":199},{},[200,205],{"type":14,"tag":22,"props":201,"children":202},{},[203],{"type":19,"value":204},"Leggere i tuoi dati",{"type":19,"value":206},": i database no-code della tua organizzazione — database, tabelle, colonne e righe. Il client li scopre da sé; una chiave non può essere limitata a un sottoinsieme di database.",{"type":14,"tag":84,"props":208,"children":209},{},[210,215,217,223,225,230,232,237,239,244,246,253],{"type":14,"tag":22,"props":211,"children":212},{},[213],{"type":19,"value":214},"Proporre",{"type":19,"value":216},": tramite il tool ",{"type":14,"tag":71,"props":218,"children":220},{"className":219},[],[221],{"type":19,"value":222},"proposals.create",{"type":19,"value":224},", una proposta di modifica in stato ",{"type":14,"tag":58,"props":226,"children":227},{},[228],{"type":19,"value":229},"pending",{"type":19,"value":231}," — la accetti o la rifiuti nell'interfaccia. Questo copre anche la ",{"type":14,"tag":22,"props":233,"children":234},{},[235],{"type":19,"value":236},"creazione di un modello",{"type":19,"value":238}," e l'",{"type":14,"tag":22,"props":240,"children":241},{},[242],{"type":19,"value":243},"avvio di un benchmark",{"type":19,"value":245}," (vedi ",{"type":14,"tag":247,"props":248,"children":250},"a",{"href":249},"#cosa-si-propone",[251],{"type":19,"value":252},"Cosa si propone",{"type":19,"value":254},").",{"type":14,"tag":84,"props":256,"children":257},{},[258,263,265,270],{"type":14,"tag":22,"props":259,"children":260},{},[261],{"type":19,"value":262},"Scrivere dati",{"type":19,"value":264}," ",{"type":14,"tag":58,"props":266,"children":267},{},[268],{"type":19,"value":269},"(scope Completo)",{"type":19,"value":271},": creare, aggiornare o prenotare una riga in uno dei tuoi database, dopo il tuo consenso esplicito nella conversazione. A differenza della configurazione, una scrittura di dati non è versionata — non si può ripristinare.",{"type":14,"tag":84,"props":273,"children":274},{},[275,280,281,285],{"type":14,"tag":22,"props":276,"children":277},{},[278],{"type":19,"value":279},"Parlare con i tuoi modelli",{"type":19,"value":264},{"type":14,"tag":58,"props":282,"children":283},{},[284],{"type":19,"value":269},{"type":19,"value":286},": tenere una conversazione a più turni con un modello che hai esplicitamente aperto agli agenti esterni — vedi sotto.",{"type":14,"tag":15,"props":288,"children":289},{},[290],{"type":19,"value":291},"Claude scopre il contratto esatto di ciascun nodo (campi, valori consentiti) prima di proporre: nessuna supposizione, nessuna configurazione non valida.",{"type":14,"tag":15,"props":293,"children":294},{},[295,297,302,304,310,312,317],{"type":19,"value":296},"I ",{"type":14,"tag":22,"props":298,"children":299},{},[300],{"type":19,"value":301},"segreti",{"type":19,"value":303}," di una configurazione (segreto HMAC, token, password) non gli arrivano mai: ",{"type":14,"tag":71,"props":305,"children":307},{"className":306},[],[308],{"type":19,"value":309},"models.inspect_pipeline",{"type":19,"value":311}," e le proposte li restituiscono ",{"type":14,"tag":22,"props":313,"children":314},{},[315],{"type":19,"value":316},"mascherati",{"type":19,"value":318},". Una proposta che rinvia una configurazione così come l'ha letta conserva il segreto salvato, senza che l'IA l'abbia visto.",{"type":14,"tag":178,"props":320,"children":322},{"id":321},"i-tool-esposti",[323],{"type":19,"value":324},"I tool esposti",{"type":14,"tag":15,"props":326,"children":327},{},[328],{"type":19,"value":329},"I tool sono raggruppati per famiglia. Il client li scopre da sé al momento della connessione; quelli di un connettore compaiono solo se la tua organizzazione lo utilizza.",{"type":14,"tag":331,"props":332,"children":333},"table",{},[334,358],{"type":14,"tag":335,"props":336,"children":337},"thead",{},[338],{"type":14,"tag":339,"props":340,"children":341},"tr",{},[342,348,353],{"type":14,"tag":343,"props":344,"children":345},"th",{},[346],{"type":19,"value":347},"Famiglia",{"type":14,"tag":343,"props":349,"children":350},{},[351],{"type":19,"value":352},"Tool",{"type":14,"tag":343,"props":354,"children":355},{},[356],{"type":19,"value":357},"Ruolo",{"type":14,"tag":359,"props":360,"children":361},"tbody",{},[362,445,513,560,621,653,709,756],{"type":14,"tag":339,"props":363,"children":364},{},[365,375,440],{"type":14,"tag":366,"props":367,"children":368},"td",{},[369],{"type":14,"tag":71,"props":370,"children":372},{"className":371},[],[373],{"type":19,"value":374},"models",{"type":14,"tag":366,"props":376,"children":377},{},[378,384,385,391,392,398,399,405,406,412,413,419,420,426,427,433,434],{"type":14,"tag":71,"props":379,"children":381},{"className":380},[],[382],{"type":19,"value":383},"list_models",{"type":19,"value":35},{"type":14,"tag":71,"props":386,"children":388},{"className":387},[],[389],{"type":19,"value":390},"lookup_model",{"type":19,"value":35},{"type":14,"tag":71,"props":393,"children":395},{"className":394},[],[396],{"type":19,"value":397},"list_groups",{"type":19,"value":35},{"type":14,"tag":71,"props":400,"children":402},{"className":401},[],[403],{"type":19,"value":404},"inspect_pipeline",{"type":19,"value":35},{"type":14,"tag":71,"props":407,"children":409},{"className":408},[],[410],{"type":19,"value":411},"list_contexts",{"type":19,"value":35},{"type":14,"tag":71,"props":414,"children":416},{"className":415},[],[417],{"type":19,"value":418},"get_pipeline_trace",{"type":19,"value":35},{"type":14,"tag":71,"props":421,"children":423},{"className":422},[],[424],{"type":19,"value":425},"get_exchange_metadata",{"type":19,"value":35},{"type":14,"tag":71,"props":428,"children":430},{"className":429},[],[431],{"type":19,"value":432},"automation_health",{"type":19,"value":35},{"type":14,"tag":71,"props":435,"children":437},{"className":436},[],[438],{"type":19,"value":439},"get_entry_endpoints",{"type":14,"tag":366,"props":441,"children":442},{},[443],{"type":19,"value":444},"Inventario dei modelli, lettura di una pipeline e delle sue esecuzioni, stato delle automazioni bloccate",{"type":14,"tag":339,"props":446,"children":447},{},[448,457,508],{"type":14,"tag":366,"props":449,"children":450},{},[451],{"type":14,"tag":71,"props":452,"children":454},{"className":453},[],[455],{"type":19,"value":456},"pipeline",{"type":14,"tag":366,"props":458,"children":459},{},[460,466,467,473,474,480,481,487,488,494,495,501,502],{"type":14,"tag":71,"props":461,"children":463},{"className":462},[],[464],{"type":19,"value":465},"list_node_kinds",{"type":19,"value":35},{"type":14,"tag":71,"props":468,"children":470},{"className":469},[],[471],{"type":19,"value":472},"lookup_node_contract",{"type":19,"value":35},{"type":14,"tag":71,"props":475,"children":477},{"className":476},[],[478],{"type":19,"value":479},"lookup_module",{"type":19,"value":35},{"type":14,"tag":71,"props":482,"children":484},{"className":483},[],[485],{"type":19,"value":486},"list_all_tools",{"type":19,"value":35},{"type":14,"tag":71,"props":489,"children":491},{"className":490},[],[492],{"type":19,"value":493},"list_config_options",{"type":19,"value":35},{"type":14,"tag":71,"props":496,"children":498},{"className":497},[],[499],{"type":19,"value":500},"list_schemas",{"type":19,"value":35},{"type":14,"tag":71,"props":503,"children":505},{"className":504},[],[506],{"type":19,"value":507},"validate",{"type":14,"tag":366,"props":509,"children":510},{},[511],{"type":19,"value":512},"Contratti dei nodi, opzioni di configurazione, validazione di un grafo prima della proposta",{"type":14,"tag":339,"props":514,"children":515},{},[516,525,555],{"type":14,"tag":366,"props":517,"children":518},{},[519],{"type":14,"tag":71,"props":520,"children":522},{"className":521},[],[523],{"type":19,"value":524},"agents",{"type":14,"tag":366,"props":526,"children":527},{},[528,534,535,541,542,548,549],{"type":14,"tag":71,"props":529,"children":531},{"className":530},[],[532],{"type":19,"value":533},"list_roles",{"type":19,"value":35},{"type":14,"tag":71,"props":536,"children":538},{"className":537},[],[539],{"type":19,"value":540},"lookup_role",{"type":19,"value":35},{"type":14,"tag":71,"props":543,"children":545},{"className":544},[],[546],{"type":19,"value":547},"list_missions",{"type":19,"value":35},{"type":14,"tag":71,"props":550,"children":552},{"className":551},[],[553],{"type":19,"value":554},"lookup_mission",{"type":14,"tag":366,"props":556,"children":557},{},[558],{"type":19,"value":559},"Ruoli e missioni dei tuoi agenti",{"type":14,"tag":339,"props":561,"children":562},{},[563,572,616],{"type":14,"tag":366,"props":564,"children":565},{},[566],{"type":14,"tag":71,"props":567,"children":569},{"className":568},[],[570],{"type":19,"value":571},"benchmarks",{"type":14,"tag":366,"props":573,"children":574},{},[575,581,582,588,589,595,596,602,603,609,610],{"type":14,"tag":71,"props":576,"children":578},{"className":577},[],[579],{"type":19,"value":580},"list",{"type":19,"value":35},{"type":14,"tag":71,"props":583,"children":585},{"className":584},[],[586],{"type":19,"value":587},"get",{"type":19,"value":35},{"type":14,"tag":71,"props":590,"children":592},{"className":591},[],[593],{"type":19,"value":594},"list_check_kinds",{"type":19,"value":35},{"type":14,"tag":71,"props":597,"children":599},{"className":598},[],[600],{"type":19,"value":601},"list_runs",{"type":19,"value":35},{"type":14,"tag":71,"props":604,"children":606},{"className":605},[],[607],{"type":19,"value":608},"get_run",{"type":19,"value":35},{"type":14,"tag":71,"props":611,"children":613},{"className":612},[],[614],{"type":19,"value":615},"run_status",{"type":14,"tag":366,"props":617,"children":618},{},[619],{"type":19,"value":620},"Scenari di valutazione e risultati dei loro run",{"type":14,"tag":339,"props":622,"children":623},{},[624,633,642],{"type":14,"tag":366,"props":625,"children":626},{},[627],{"type":14,"tag":71,"props":628,"children":630},{"className":629},[],[631],{"type":19,"value":632},"knowledge",{"type":14,"tag":366,"props":634,"children":635},{},[636],{"type":14,"tag":71,"props":637,"children":639},{"className":638},[],[640],{"type":19,"value":641},"search",{"type":14,"tag":366,"props":643,"children":644},{},[645,647],{"type":19,"value":646},"Ricerca nella tua ",{"type":14,"tag":247,"props":648,"children":650},{"href":649},"\u002Fit\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",[651],{"type":19,"value":652},"base di conoscenza",{"type":14,"tag":339,"props":654,"children":655},{},[656,673,698],{"type":14,"tag":366,"props":657,"children":658},{},[659,665,667],{"type":14,"tag":71,"props":660,"children":662},{"className":661},[],[663],{"type":19,"value":664},"database_query",{"type":19,"value":666}," \u002F ",{"type":14,"tag":71,"props":668,"children":670},{"className":669},[],[671],{"type":19,"value":672},"database_manage",{"type":14,"tag":366,"props":674,"children":675},{},[676,678,684,685,691,692],{"type":19,"value":677},"lettura; ",{"type":14,"tag":71,"props":679,"children":681},{"className":680},[],[682],{"type":19,"value":683},"create_row",{"type":19,"value":35},{"type":14,"tag":71,"props":686,"children":688},{"className":687},[],[689],{"type":19,"value":690},"update_row",{"type":19,"value":35},{"type":14,"tag":71,"props":693,"children":695},{"className":694},[],[696],{"type":19,"value":697},"claim_row",{"type":14,"tag":366,"props":699,"children":700},{},[701,703,707],{"type":19,"value":702},"I tuoi database no-code (scrittura: scope ",{"type":14,"tag":58,"props":704,"children":705},{},[706],{"type":19,"value":154},{"type":19,"value":708},")",{"type":14,"tag":339,"props":710,"children":711},{},[712,721,751],{"type":14,"tag":366,"props":713,"children":714},{},[715],{"type":14,"tag":71,"props":716,"children":718},{"className":717},[],[719],{"type":19,"value":720},"conversation",{"type":14,"tag":366,"props":722,"children":723},{},[724,730,731,737,738,744,745],{"type":14,"tag":71,"props":725,"children":727},{"className":726},[],[728],{"type":19,"value":729},"open",{"type":19,"value":35},{"type":14,"tag":71,"props":732,"children":734},{"className":733},[],[735],{"type":19,"value":736},"send",{"type":19,"value":35},{"type":14,"tag":71,"props":739,"children":741},{"className":740},[],[742],{"type":19,"value":743},"poll",{"type":19,"value":35},{"type":14,"tag":71,"props":746,"children":748},{"className":747},[],[749],{"type":19,"value":750},"history",{"type":14,"tag":366,"props":752,"children":753},{},[754],{"type":19,"value":755},"Parlare con un modello (vedi sotto)",{"type":14,"tag":339,"props":757,"children":758},{},[759,768,798],{"type":14,"tag":366,"props":760,"children":761},{},[762],{"type":14,"tag":71,"props":763,"children":765},{"className":764},[],[766],{"type":19,"value":767},"proposals",{"type":14,"tag":366,"props":769,"children":770},{},[771,777,778,784,785,791,792],{"type":14,"tag":71,"props":772,"children":774},{"className":773},[],[775],{"type":19,"value":776},"create",{"type":19,"value":35},{"type":14,"tag":71,"props":779,"children":781},{"className":780},[],[782],{"type":19,"value":783},"describe_kind",{"type":19,"value":35},{"type":14,"tag":71,"props":786,"children":788},{"className":787},[],[789],{"type":19,"value":790},"apply",{"type":19,"value":35},{"type":14,"tag":71,"props":793,"children":795},{"className":794},[],[796],{"type":19,"value":797},"reject",{"type":14,"tag":366,"props":799,"children":800},{},[801,803,808,809,814,816,820],{"type":19,"value":802},"Proporre una modifica, leggerne il contratto, risolverla (",{"type":14,"tag":71,"props":804,"children":806},{"className":805},[],[807],{"type":19,"value":790},{"type":19,"value":666},{"type":14,"tag":71,"props":810,"children":812},{"className":811},[],[813],{"type":19,"value":797},{"type":19,"value":815},": scope ",{"type":14,"tag":58,"props":817,"children":818},{},[819],{"type":19,"value":154},{"type":19,"value":708},{"type":14,"tag":15,"props":822,"children":823},{},[824,829,830,836],{"type":14,"tag":22,"props":825,"children":826},{},[827],{"type":19,"value":828},"L'URL di ingresso di un modello, pronto da incollare.",{"type":19,"value":264},{"type":14,"tag":71,"props":831,"children":833},{"className":832},[],[834],{"type":19,"value":835},"models.get_entry_endpoints",{"type":19,"value":837}," restituisce l'URL pubblico completo di ciascun ricevitore dichiarato sullo Start di un modello (webhook in entrata, callback di una piattaforma di messaggistica…) — così puoi trasmetterlo a un partner senza cercare il percorso nell'interfaccia.",{"type":14,"tag":178,"props":839,"children":841},{"id":840},"cosa-si-propone",[842],{"type":19,"value":252},{"type":14,"tag":15,"props":844,"children":845},{},[846,848,854,856,862],{"type":19,"value":847},"Ogni modifica di configurazione passa da ",{"type":14,"tag":71,"props":849,"children":851},{"className":850},[],[852],{"type":19,"value":853},"proposals.create(kind, payload)",{"type":19,"value":855},". Prima di scrivere un payload, il client legge il suo contratto esatto con ",{"type":14,"tag":71,"props":857,"children":859},{"className":858},[],[860],{"type":19,"value":861},"proposals.describe_kind(kind)",{"type":19,"value":863},". I kind disponibili:",{"type":14,"tag":331,"props":865,"children":866},{},[867,883],{"type":14,"tag":335,"props":868,"children":869},{},[870],{"type":14,"tag":339,"props":871,"children":872},{},[873,878],{"type":14,"tag":343,"props":874,"children":875},{},[876],{"type":19,"value":877},"Kind",{"type":14,"tag":343,"props":879,"children":880},{},[881],{"type":19,"value":882},"Effetto una volta accettato",{"type":14,"tag":359,"props":884,"children":885},{},[886,903,920,937,954,978,1002,1019,1043,1067,1098,1120],{"type":14,"tag":339,"props":887,"children":888},{},[889,898],{"type":14,"tag":366,"props":890,"children":891},{},[892],{"type":14,"tag":71,"props":893,"children":895},{"className":894},[],[896],{"type":19,"value":897},"model_create",{"type":14,"tag":366,"props":899,"children":900},{},[901],{"type":19,"value":902},"Crea un modello (processo) — la sua etichetta, la sua descrizione, il suo gruppo",{"type":14,"tag":339,"props":904,"children":905},{},[906,915],{"type":14,"tag":366,"props":907,"children":908},{},[909],{"type":14,"tag":71,"props":910,"children":912},{"className":911},[],[913],{"type":19,"value":914},"model_update",{"type":14,"tag":366,"props":916,"children":917},{},[918],{"type":19,"value":919},"Modifica i metadati di un modello esistente",{"type":14,"tag":339,"props":921,"children":922},{},[923,932],{"type":14,"tag":366,"props":924,"children":925},{},[926],{"type":14,"tag":71,"props":927,"children":929},{"className":928},[],[930],{"type":19,"value":931},"pipeline_edit",{"type":14,"tag":366,"props":933,"children":934},{},[935],{"type":19,"value":936},"Modifica il grafo di un modello (aggiunta, modifica, eliminazione di nodi e collegamenti)",{"type":14,"tag":339,"props":938,"children":939},{},[940,949],{"type":14,"tag":366,"props":941,"children":942},{},[943],{"type":14,"tag":71,"props":944,"children":946},{"className":945},[],[947],{"type":19,"value":948},"pipeline_publish",{"type":14,"tag":366,"props":950,"children":951},{},[952],{"type":19,"value":953},"Pubblica lo stato corrente di un modello, dopo la validazione pre-pubblicazione",{"type":14,"tag":339,"props":955,"children":956},{},[957,966],{"type":14,"tag":366,"props":958,"children":959},{},[960],{"type":14,"tag":71,"props":961,"children":963},{"className":962},[],[964],{"type":19,"value":965},"pipeline_plan",{"type":14,"tag":366,"props":967,"children":968},{},[969,971,976],{"type":19,"value":970},"Concatena delle modifiche ",{"type":14,"tag":22,"props":972,"children":973},{},[974],{"type":19,"value":975},"poi",{"type":19,"value":977}," una pubblicazione sullo stesso modello, con una sola accettazione, in modo atomico",{"type":14,"tag":339,"props":979,"children":980},{},[981,997],{"type":14,"tag":366,"props":982,"children":983},{},[984,990,991],{"type":14,"tag":71,"props":985,"children":987},{"className":986},[],[988],{"type":19,"value":989},"role_update",{"type":19,"value":666},{"type":14,"tag":71,"props":992,"children":994},{"className":993},[],[995],{"type":19,"value":996},"mission_update",{"type":14,"tag":366,"props":998,"children":999},{},[1000],{"type":19,"value":1001},"Crea o modifica un ruolo \u002F una missione di agente",{"type":14,"tag":339,"props":1003,"children":1004},{},[1005,1014],{"type":14,"tag":366,"props":1006,"children":1007},{},[1008],{"type":14,"tag":71,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":19,"value":1013},"knowledge_update",{"type":14,"tag":366,"props":1015,"children":1016},{},[1017],{"type":19,"value":1018},"Crea o aggiorna una scheda di testo della base di conoscenza",{"type":14,"tag":339,"props":1020,"children":1021},{},[1022,1031],{"type":14,"tag":366,"props":1023,"children":1024},{},[1025],{"type":14,"tag":71,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":19,"value":1030},"knowledge_document_replace",{"type":14,"tag":366,"props":1032,"children":1033},{},[1034,1036,1041],{"type":19,"value":1035},"Sostituisce il file di un documento della base di conoscenza, ",{"type":14,"tag":22,"props":1037,"children":1038},{},[1039],{"type":19,"value":1040},"sul posto",{"type":19,"value":1042},": stesso identificativo, stesso link pubblico",{"type":14,"tag":339,"props":1044,"children":1045},{},[1046,1055],{"type":14,"tag":366,"props":1047,"children":1048},{},[1049],{"type":14,"tag":71,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":19,"value":1054},"database_schema_edit",{"type":14,"tag":366,"props":1056,"children":1057},{},[1058,1060,1065],{"type":19,"value":1059},"Modifica la ",{"type":14,"tag":22,"props":1061,"children":1062},{},[1063],{"type":19,"value":1064},"struttura",{"type":19,"value":1066}," di un database no-code (database, colonne)",{"type":14,"tag":339,"props":1068,"children":1069},{},[1070,1093],{"type":14,"tag":366,"props":1071,"children":1072},{},[1073,1079,1080,1086,1087],{"type":14,"tag":71,"props":1074,"children":1076},{"className":1075},[],[1077],{"type":19,"value":1078},"benchmark_create",{"type":19,"value":666},{"type":14,"tag":71,"props":1081,"children":1083},{"className":1082},[],[1084],{"type":19,"value":1085},"benchmark_update",{"type":19,"value":666},{"type":14,"tag":71,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":19,"value":1092},"benchmark_delete",{"type":14,"tag":366,"props":1094,"children":1095},{},[1096],{"type":19,"value":1097},"Gestisce gli scenari di valutazione",{"type":14,"tag":339,"props":1099,"children":1100},{},[1101,1110],{"type":14,"tag":366,"props":1102,"children":1103},{},[1104],{"type":14,"tag":71,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":19,"value":1109},"benchmark_run",{"type":14,"tag":366,"props":1111,"children":1112},{},[1113,1118],{"type":14,"tag":22,"props":1114,"children":1115},{},[1116],{"type":19,"value":1117},"Avvia",{"type":19,"value":1119}," un run di benchmark — proposto, perché un run consuma crediti",{"type":14,"tag":339,"props":1121,"children":1122},{},[1123,1132],{"type":14,"tag":366,"props":1124,"children":1125},{},[1126],{"type":14,"tag":71,"props":1127,"children":1129},{"className":1128},[],[1130],{"type":19,"value":1131},"credit_topup",{"type":14,"tag":366,"props":1133,"children":1134},{},[1135],{"type":19,"value":1136},"Accredito manuale di un saldo — riservato all'organizzazione che gestisce la piattaforma, e validato dall'organizzazione accreditata",{"type":14,"tag":15,"props":1138,"children":1139},{},[1140,1145,1146,1151,1153,1158,1160,1165],{"type":14,"tag":22,"props":1141,"children":1142},{},[1143],{"type":19,"value":1144},"Creare un processo da capo a fine = più consensi.",{"type":19,"value":264},{"type":14,"tag":71,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":19,"value":897},{"type":19,"value":1152}," crea l'istanza; un ",{"type":14,"tag":71,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":19,"value":931},{"type":19,"value":1159}," collega poi il suo Start (con i suoi ricevitori) e i suoi nodi; un ",{"type":14,"tag":71,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":19,"value":948},{"type":19,"value":1166}," lo mette in servizio. Creare un'istanza e collegarla restano due decisioni umane distinte.",{"type":14,"tag":178,"props":1168,"children":1170},{"id":1169},"creare-una-chiave-mcp",[1171],{"type":19,"value":1172},"Creare una chiave MCP",{"type":14,"tag":15,"props":1174,"children":1175},{},[1176,1178,1183],{"type":19,"value":1177},"Riservato agli ",{"type":14,"tag":22,"props":1179,"children":1180},{},[1181],{"type":19,"value":1182},"amministratori dell'organizzazione",{"type":19,"value":1184},": una chiave porta autorità su tutta l'organizzazione.",{"type":14,"tag":1186,"props":1187,"children":1188},"ol",{},[1189,1201,1264],{"type":14,"tag":84,"props":1190,"children":1191},{},[1192,1194,1199],{"type":19,"value":1193},"In betool, apri ",{"type":14,"tag":22,"props":1195,"children":1196},{},[1197],{"type":19,"value":1198},"Impostazioni dell'organizzazione → MCP",{"type":19,"value":1200},".",{"type":14,"tag":84,"props":1202,"children":1203},{},[1204,1206,1211,1213],{"type":19,"value":1205},"Assegna un nome alla chiave e scegline lo ",{"type":14,"tag":22,"props":1207,"children":1208},{},[1209],{"type":19,"value":1210},"scope",{"type":19,"value":1212},":\n",{"type":14,"tag":80,"props":1214,"children":1215},{},[1216,1233,1248],{"type":14,"tag":84,"props":1217,"children":1218},{},[1219,1224,1226,1231],{"type":14,"tag":22,"props":1220,"children":1221},{},[1222],{"type":19,"value":1223},"Sola lettura",{"type":19,"value":1225}," — legge la configurazione ",{"type":14,"tag":22,"props":1227,"children":1228},{},[1229],{"type":19,"value":1230},"e i dati dei tuoi database",{"type":19,"value":1232},", rilegge le conversazioni aperte da questo canale, non propone nulla;",{"type":14,"tag":84,"props":1234,"children":1235},{},[1236,1240,1241,1246],{"type":14,"tag":22,"props":1237,"children":1238},{},[1239],{"type":19,"value":140},{"type":19,"value":264},{"type":14,"tag":58,"props":1242,"children":1243},{},[1244],{"type":19,"value":1245},"(consigliato)",{"type":19,"value":1247}," — legge e invia proposte, che approvi in betool;",{"type":14,"tag":84,"props":1249,"children":1250},{},[1251,1255,1257,1262],{"type":14,"tag":22,"props":1252,"children":1253},{},[1254],{"type":19,"value":154},{"type":19,"value":1256}," — può anche risolvere le proprie proposte, ",{"type":14,"tag":22,"props":1258,"children":1259},{},[1260],{"type":19,"value":1261},"scrivere nei tuoi database e conversare con i tuoi modelli",{"type":19,"value":1263},", dopo il tuo consenso nella conversazione del client.",{"type":14,"tag":84,"props":1265,"children":1266},{},[1267,1269,1274,1276,1281],{"type":19,"value":1268},"La ",{"type":14,"tag":22,"props":1270,"children":1271},{},[1272],{"type":19,"value":1273},"chiave in chiaro viene mostrata una sola volta",{"type":19,"value":1275}," — copiala immediatamente (non potrà mai più essere letta). Puoi ",{"type":14,"tag":22,"props":1277,"children":1278},{},[1279],{"type":19,"value":1280},"revocare",{"type":19,"value":1282}," una chiave in qualsiasi momento.",{"type":14,"tag":15,"props":1284,"children":1285},{},[1286],{"type":19,"value":1287},"Gli stessi tre scope esistono per OAuth; lì li scegli nella schermata di consenso.",{"type":14,"tag":178,"props":1289,"children":1291},{"id":1290},"collegare-claude-code",[1292],{"type":19,"value":1293},"Collegare Claude Code",{"type":14,"tag":15,"props":1295,"children":1296},{},[1297,1299,1304],{"type":19,"value":1298},"Aggiungi il server MCP di betool a Claude Code (la chiave va nell'header ",{"type":14,"tag":71,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":19,"value":101},{"type":19,"value":1305},"):",{"type":14,"tag":1307,"props":1308,"children":1313},"pre",{"className":1309,"code":1311,"language":1312,"meta":7},[1310],"language-bash","claude mcp add betool \\\n  --transport http \\\n  --header \"Authorization: Bearer \u003Cyour-mcp-key>\" \\\n  https:\u002F\u002Fplatform.betool.ai\u002Fmcp\n","bash",[1314],{"type":14,"tag":71,"props":1315,"children":1316},{"__ignoreMap":7},[1317],{"type":19,"value":1311},{"type":14,"tag":15,"props":1319,"children":1320},{},[1321,1323,1328,1330,1335],{"type":19,"value":1322},"Poi chiedi a Claude, in linguaggio naturale: ",{"type":14,"tag":58,"props":1324,"children":1325},{},[1326],{"type":19,"value":1327},"\"ispeziona la mia pipeline X e proponi un passo che riassuma il ticket prima dell'invio\"",{"type":19,"value":1329},". Claude legge la configurazione, compone una proposta e ",{"type":14,"tag":22,"props":1331,"children":1332},{},[1333],{"type":19,"value":1334},"tu la convalidi in betool",{"type":19,"value":1200},{"type":14,"tag":115,"props":1337,"children":1339},{"type":1338},"warning",[1340],{"type":14,"tag":15,"props":1341,"children":1342},{},[1343,1345,1350,1352,1357,1359,1364],{"type":19,"value":1344},"Non incollare mai segreti in chiaro nella chat. La portata di Claude è delimitata dallo ",{"type":14,"tag":22,"props":1346,"children":1347},{},[1348],{"type":19,"value":1349},"scope della chiave",{"type":19,"value":1351},", e ",{"type":14,"tag":22,"props":1353,"children":1354},{},[1355],{"type":19,"value":1356},"ogni chiamata di tool viene registrata",{"type":19,"value":1358}," in ",{"type":14,"tag":22,"props":1360,"children":1361},{},[1362],{"type":19,"value":1363},"Impostazioni dell'organizzazione → MCP → Journal delle chiamate ai tool",{"type":19,"value":1365}," (RGPD art. 15).",{"type":14,"tag":178,"props":1367,"children":1369},{"id":1368},"parlare-con-i-tuoi-modelli",[1370],{"type":19,"value":279},{"type":14,"tag":15,"props":1372,"children":1373},{},[1374,1376,1381,1383,1388],{"type":19,"value":1375},"Leggere e proporre serve a ",{"type":14,"tag":22,"props":1377,"children":1378},{},[1379],{"type":19,"value":1380},"configurare",{"type":19,"value":1382}," betool. Una IA esterna può anche ",{"type":14,"tag":22,"props":1384,"children":1385},{},[1386],{"type":19,"value":1387},"usarlo",{"type":19,"value":1389},": tenere una vera conversazione con uno dei tuoi modelli, turno dopo turno, come farebbe qualsiasi visitatore sulla tua chat. Utile per far mettere alla prova un assistente da un'altra IA, per mettere betool dietro a un agente partner, o per far interrogare uno dei tuoi processi in linguaggio naturale da uno strumento interno.",{"type":14,"tag":15,"props":1391,"children":1392},{},[1393,1395,1401,1403,1409,1411,1417,1419,1425,1427,1432],{"type":19,"value":1394},"Quattro tool: ",{"type":14,"tag":71,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":19,"value":1400},"conversation.open",{"type":19,"value":1402}," apre o ritrova una conversazione, ",{"type":14,"tag":71,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":19,"value":1408},"conversation.send",{"type":19,"value":1410}," invia un turno e restituisce la risposta, ",{"type":14,"tag":71,"props":1412,"children":1414},{"className":1413},[],[1415],{"type":19,"value":1416},"conversation.poll",{"type":19,"value":1418}," recupera una risposta che ha richiesto tempo, ",{"type":14,"tag":71,"props":1420,"children":1422},{"className":1421},[],[1423],{"type":19,"value":1424},"conversation.history",{"type":19,"value":1426}," rilegge lo storico. Quella conversazione è ",{"type":14,"tag":22,"props":1428,"children":1429},{},[1430],{"type":19,"value":1431},"un contesto betool come gli altri",{"type":19,"value":1433},": compare tra le tue conversazioni, il modello vede i turni precedenti e tu rileggi tutto nell'interfaccia.",{"type":14,"tag":115,"props":1435,"children":1436},{"type":1338},[1437],{"type":14,"tag":15,"props":1438,"children":1439},{},[1440,1445,1447,1452,1454,1458,1460,1465],{"type":14,"tag":22,"props":1441,"children":1442},{},[1443],{"type":19,"value":1444},"Autorizza il modello, mai la chiave.",{"type":19,"value":1446}," Devi dichiarare il ricevitore ",{"type":14,"tag":22,"props":1448,"children":1449},{},[1450],{"type":19,"value":1451},"Agente esterno",{"type":19,"value":1453}," sul nodo Start del modello: senza questa dichiarazione la chiamata viene rifiutata, anche con una chiave di scope ",{"type":14,"tag":58,"props":1455,"children":1456},{},[1457],{"type":19,"value":154},{"type":19,"value":1459},". I modelli creati da questa messa a disposizione lo dichiarano per impostazione predefinita (la strada normale è la strada facile); i più vecchi devono aggiungerlo, e a qualsiasi modello si può togliere. Decide dunque il modello, mai la chiave — e il ricevitore deve essere presente nella versione ",{"type":14,"tag":22,"props":1461,"children":1462},{},[1463],{"type":19,"value":1464},"pubblicata",{"type":19,"value":1466},", quella che gira. E poiché un turno può innescare effetti reali — una email che parte, una scheda creata —, consuma i crediti dell'organizzazione ed è tracciato come ogni chiamata di tool.",{"type":14,"tag":15,"props":1468,"children":1469},{},[1470,1472,1477,1479,1484],{"type":19,"value":1471},"Una risposta non va mai perduta: se il modello lavora più a lungo dell'attesa concessa, la chiamata restituisce un ",{"type":14,"tag":22,"props":1473,"children":1474},{},[1475],{"type":19,"value":1476},"ticket",{"type":19,"value":1478}," e il turno prosegue lato server — sopravvive anche a un rilascio. L'applicazione recupera poi la risposta con ",{"type":14,"tag":71,"props":1480,"children":1482},{"className":1481},[],[1483],{"type":19,"value":1416},{"type":19,"value":1485},". Rinviare il messaggio non accelera nulla — e mentre il turno è in corso, l'invio viene rifiutato.",{"type":14,"tag":15,"props":1487,"children":1488},{},[1489,1491,1496],{"type":19,"value":1490},"Infine, questo canale legge solo ",{"type":14,"tag":22,"props":1492,"children":1493},{},[1494],{"type":19,"value":1495},"le proprie conversazioni",{"type":19,"value":1497},". Un identificatore proveniente da un altro ingresso — chat pubblica, telefono, email — non è leggibile qui: gli scambi dei tuoi clienti non diventano consultabili solo perché un'applicazione MCP è collegata.",{"type":14,"tag":15,"props":1499,"children":1500},{},[1501,1506,1508,1514,1516,1522,1524,1530,1532,1538,1540,1545,1547,1552],{"type":14,"tag":22,"props":1502,"children":1503},{},[1504],{"type":19,"value":1505},"Un modello già esistente funziona senza modifiche.",{"type":19,"value":1507}," Questo canale pone le stesse chiavi di una chat: il messaggio arriva in ",{"type":14,"tag":71,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":19,"value":1513},"user_message",{"type":19,"value":1515}," e l'evento è un normale ",{"type":14,"tag":71,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":19,"value":1521},"on_message",{"type":19,"value":1523}," — quindi i tuoi filtri e le selezioni dei tuoi agenti continuano a funzionare. Se il modello di destinazione è stato scritto per un altro ingresso (legge ",{"type":14,"tag":71,"props":1525,"children":1527},{"className":1526},[],[1528],{"type":19,"value":1529},"telegram.text",{"type":19,"value":1531},", un obiettivo, una variabile di pagina…), l'applicazione può fornire quelle chiavi tramite ",{"type":14,"tag":71,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":19,"value":1537},"variables",{"type":19,"value":1539},": entrano nel flusso dove le avrebbe messe l'altro ingresso. Ciò che non può falsificare è ",{"type":14,"tag":22,"props":1541,"children":1542},{},[1543],{"type":19,"value":1544},"l'identità del turno",{"type":19,"value":1546}," — chi ha parlato e attraverso quale canale: quelle chiavi le pone il server, e ogni tentativo viene rifiutato ",{"type":14,"tag":58,"props":1548,"children":1549},{},[1550],{"type":19,"value":1551},"e segnalato",{"type":19,"value":1553}," nella risposta.",{"type":14,"tag":15,"props":1555,"children":1556},{},[1557,1562,1564,1570,1572,1578,1580,1585],{"type":14,"tag":22,"props":1558,"children":1559},{},[1560],{"type":19,"value":1561},"Se il modello resta muto, guarda il suo routing.",{"type":19,"value":1563}," Un modello che serve più canali di solito ramifica sull'ingresso (",{"type":14,"tag":71,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":19,"value":1569},"filter input.entry_kind == chat_widget",{"type":19,"value":1571},"…): un turno che arriva con l'ingresso « agente esterno » non corrisponde ad alcun ramo e nulla risponde — senza che venga sollevato alcun errore. Passa ",{"type":14,"tag":71,"props":1573,"children":1575},{"className":1574},[],[1576],{"type":19,"value":1577},"as_entry_kind",{"type":19,"value":1579}," per essere ",{"type":14,"tag":22,"props":1581,"children":1582},{},[1583],{"type":19,"value":1584},"instradato come",{"type":19,"value":1586}," quel canale. Cambia solo la chiave di routing: il descrittore di canale e il registro di audit continuano a dire che il turno viene da una IA esterna, e valgono le capacità reali del canale.",{"type":14,"tag":15,"props":1588,"children":1589},{},[1590,1595],{"type":14,"tag":22,"props":1591,"children":1592},{},[1593],{"type":19,"value":1594},"Una conversazione gestisce un turno alla volta.",{"type":19,"value":1596}," Finché il turno precedente non ha restituito la sua risposta, il successivo viene rifiutato indicando il turno da rileggere. Non è un limite arbitrario: una risposta è legata alla sua domanda dalla posizione nella conversazione, quindi due turni in volo renderebbero ambigua l'attribuzione — meglio un rifiuto chiaro che una risposta plausibile e falsa.",{"type":14,"tag":178,"props":1598,"children":1600},{"id":1599},"collegare-unapplicazione-di-terze-parti-oauth-21",[1601],{"type":19,"value":1602},"Collegare un'applicazione di terze parti (OAuth 2.1)",{"type":14,"tag":15,"props":1604,"children":1605},{},[1606,1608,1612,1614,1618,1620,1625],{"type":19,"value":1607},"Una chiave nell'header va bene per Claude Code. Gli altri client — ",{"type":14,"tag":22,"props":1609,"children":1610},{},[1611],{"type":19,"value":40},{"type":19,"value":1613},", ChatGPT, un editor, la tua applicazione — si collegano tramite ",{"type":14,"tag":22,"props":1615,"children":1616},{},[1617],{"type":19,"value":111},{"type":19,"value":1619},", senza che nessuno maneggi un segreto. Non c'è nulla da preparare: ",{"type":14,"tag":22,"props":1621,"children":1622},{},[1623],{"type":19,"value":1624},"nessun client da dichiarare",{"type":19,"value":1626},", nessun identificativo da chiederci.",{"type":14,"tag":15,"props":1628,"children":1629},{},[1630],{"type":19,"value":1631},"Per l'utente il percorso sono tre schermate:",{"type":14,"tag":1186,"props":1633,"children":1634},{},[1635,1646,1672],{"type":14,"tag":84,"props":1636,"children":1637},{},[1638,1640,1645],{"type":19,"value":1639},"Nell'applicazione, aggiungi il server MCP ",{"type":14,"tag":71,"props":1641,"children":1643},{"className":1642},[],[1644],{"type":19,"value":76},{"type":19,"value":1200},{"type":14,"tag":84,"props":1647,"children":1648},{},[1649,1651,1656,1658,1663,1665,1670],{"type":19,"value":1650},"Il browser apre una ",{"type":14,"tag":22,"props":1652,"children":1653},{},[1654],{"type":19,"value":1655},"schermata di consenso di betool",{"type":19,"value":1657},": indica l'applicazione che chiede l'accesso, l'",{"type":14,"tag":22,"props":1659,"children":1660},{},[1661],{"type":19,"value":1662},"organizzazione",{"type":19,"value":1664}," interessata e ",{"type":14,"tag":22,"props":1666,"children":1667},{},[1668],{"type":19,"value":1669},"dove avverrà il ritorno",{"type":19,"value":1671},". Verifica queste tre informazioni — soprattutto se appartieni a più organizzazioni.",{"type":14,"tag":84,"props":1673,"children":1674},{},[1675,1677,1681,1683,1688],{"type":19,"value":1676},"Scegli lo ",{"type":14,"tag":22,"props":1678,"children":1679},{},[1680],{"type":19,"value":1210},{"type":19,"value":1682}," che concedi, poi ",{"type":14,"tag":22,"props":1684,"children":1685},{},[1686],{"type":19,"value":1687},"Autorizza",{"type":19,"value":1689},". L'applicazione non riceve mai più di quanto selezioni, anche se aveva chiesto di più.",{"type":14,"tag":115,"props":1691,"children":1692},{"type":1338},[1693],{"type":14,"tag":15,"props":1694,"children":1695},{},[1696,1701],{"type":14,"tag":22,"props":1697,"children":1698},{},[1699],{"type":19,"value":1700},"Solo un amministratore dell'organizzazione può autorizzare un'applicazione.",{"type":19,"value":1702}," Collegarne una crea un'autorità durevole su tutta l'organizzazione — esattamente ciò che è una chiave MCP. Un membro con diritti limitati non può quindi aggirare le proprie restrizioni per questa via.",{"type":14,"tag":15,"props":1704,"children":1705},{},[1706,1708,1714,1716,1722,1724,1730,1732,1738],{"type":19,"value":1707},"Per gli integratori la scoperta è del tutto automatica e conforme agli standard: una chiamata non autenticata a ",{"type":14,"tag":71,"props":1709,"children":1711},{"className":1710},[],[1712],{"type":19,"value":1713},"\u002Fmcp",{"type":19,"value":1715}," restituisce un ",{"type":14,"tag":71,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":19,"value":1721},"401",{"type":19,"value":1723}," con l'header ",{"type":14,"tag":71,"props":1725,"children":1727},{"className":1726},[],[1728],{"type":19,"value":1729},"WWW-Authenticate",{"type":19,"value":1731}," e l'indirizzo dei nostri metadati (RFC 9728), che a loro volta indicano autorizzazione, scambio dei token, registrazione dinamica del client (RFC 7591) e revoca (RFC 7009). PKCE ",{"type":14,"tag":71,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":19,"value":1737},"S256",{"type":19,"value":1739}," è obbligatorio, i token di accesso durano un'ora e il token di refresh ruota a ogni utilizzo.",{"type":14,"tag":1307,"props":1741,"children":1744},{"className":1742,"code":1743,"language":1312,"meta":7},[1310],"# Ciò che un client fa da solo — utile per verificare da terminale.\ncurl -i -X POST https:\u002F\u002Fplatform.betool.ai\u002Fmcp \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\"}'\n# -> 401 + WWW-Authenticate: Bearer ... resource_metadata=\"...\"\n\ncurl -s https:\u002F\u002Fplatform.betool.ai\u002F.well-known\u002Foauth-authorization-server\n",[1745],{"type":14,"tag":71,"props":1746,"children":1747},{"__ignoreMap":7},[1748],{"type":19,"value":1743},{"type":14,"tag":15,"props":1750,"children":1751},{},[1752,1754,1759,1761,1766],{"type":19,"value":1753},"Un token è valido solo ",{"type":14,"tag":22,"props":1755,"children":1756},{},[1757],{"type":19,"value":1758},"per betool",{"type":19,"value":1760},": riutilizzato altrove, viene rifiutato (RFC 8707). E se un token di refresh già consumato viene presentato una seconda volta — il segnale di un token rubato — ",{"type":14,"tag":22,"props":1762,"children":1763},{},[1764],{"type":19,"value":1765},"tutta la sessione viene revocata",{"type":19,"value":1767}," e l'utente deve autorizzare di nuovo.",{"type":14,"tag":178,"props":1769,"children":1771},{"id":1770},"applicazioni-collegate-vedere-e-scollegare",[1772],{"type":19,"value":1773},"Applicazioni collegate: vedere e scollegare",{"type":14,"tag":15,"props":1775,"children":1776},{},[1777,1779,1783,1785,1790,1792,1797],{"type":19,"value":1778},"In ",{"type":14,"tag":22,"props":1780,"children":1781},{},[1782],{"type":19,"value":1198},{"type":19,"value":1784},", la sezione ",{"type":14,"tag":22,"props":1786,"children":1787},{},[1788],{"type":19,"value":1789},"Applicazioni collegate",{"type":19,"value":1791}," elenca ciò che è collegato alla tua organizzazione: nome dell'applicazione, scope concesso, chi l'ha autorizzata e la data dell'ultimo utilizzo. Un pulsante ",{"type":14,"tag":22,"props":1793,"children":1794},{},[1795],{"type":19,"value":1796},"Scollega",{"type":19,"value":1798}," interrompe l'accesso immediatamente — tutti i token di quell'applicazione, solo per la tua organizzazione.",{"type":14,"tag":15,"props":1800,"children":1801},{},[1802],{"type":19,"value":1803},"La stessa applicazione può essere collegata da più organizzazioni: scollegarla da te non riguarda nessun altro. Un'applicazione può anche scollegarsi da sé.",{"type":14,"tag":178,"props":1805,"children":1807},{"id":1806},"scope-e-isolamento",[1808],{"type":19,"value":1809},"Scope e isolamento",{"type":14,"tag":80,"props":1811,"children":1812},{},[1813,1825],{"type":14,"tag":84,"props":1814,"children":1815},{},[1816,1818,1823],{"type":19,"value":1817},"Per impostazione predefinita una chiave opera solo sulla ",{"type":14,"tag":22,"props":1819,"children":1820},{},[1821],{"type":19,"value":1822},"tua organizzazione",{"type":19,"value":1824}," — l'organizzazione di destinazione è forzata lato server; non passi mai un id di organizzazione come argomento.",{"type":14,"tag":84,"props":1826,"children":1827},{},[1828,1830,1835],{"type":19,"value":1829},"Le ",{"type":14,"tag":22,"props":1831,"children":1832},{},[1833],{"type":19,"value":1834},"chiavi vendor",{"type":19,"value":1836}," (organizzazione di backoffice) possono agire su un'altra organizzazione, con il consenso esplicito di quest'ultima e con audit completo — utile per uno scenario d'uso vendor multi-tenant.",{"type":14,"tag":178,"props":1838,"children":1840},{"id":1839},"registro-di-audit",[1841],{"type":19,"value":1842},"Registro di audit",{"type":14,"tag":15,"props":1844,"children":1845},{},[1846,1848,1853,1855,1859,1861,1866],{"type":19,"value":1847},"Ogni chiamata di tool (esterna via MCP ",{"type":14,"tag":22,"props":1849,"children":1850},{},[1851],{"type":19,"value":1852},"e",{"type":19,"value":1854}," interna) scrive una riga di audit: chi, quale tool, quale canale, quale scope, esito, latenza. Disponibile in ",{"type":14,"tag":22,"props":1856,"children":1857},{},[1858],{"type":19,"value":1198},{"type":19,"value":1860}," (sezione ",{"type":14,"tag":22,"props":1862,"children":1863},{},[1864],{"type":19,"value":1865},"Journal delle chiamate ai tool",{"type":19,"value":1867},"), rigorosamente circoscritto alla tua organizzazione.",{"type":14,"tag":178,"props":1869,"children":1871},{"id":1870},"vedi-anche",[1872],{"type":19,"value":1873},"Vedi anche",{"type":14,"tag":80,"props":1875,"children":1876},{},[1877,1888],{"type":14,"tag":84,"props":1878,"children":1879},{},[1880,1886],{"type":14,"tag":247,"props":1881,"children":1883},{"href":1882},"\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",[1884],{"type":19,"value":1885},"API Admin",{"type":19,"value":1887}," — automatizza betool dai tuoi sistemi.",{"type":14,"tag":84,"props":1889,"children":1890},{},[1891,1897],{"type":14,"tag":247,"props":1892,"children":1894},{"href":1893},"\u002Fit\u002Fdocs\u002Fsecurite\u002Fprincipes",[1895],{"type":19,"value":1896},"Sicurezza e conformità",{"type":19,"value":1898}," — il modello di governance delle proposte.",{"title":7,"searchDepth":1900,"depth":1900,"links":1901},2,[1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912],{"id":180,"depth":1900,"text":183},{"id":321,"depth":1900,"text":324},{"id":840,"depth":1900,"text":252},{"id":1169,"depth":1900,"text":1172},{"id":1290,"depth":1900,"text":1293},{"id":1368,"depth":1900,"text":279},{"id":1599,"depth":1900,"text":1602},{"id":1770,"depth":1900,"text":1773},{"id":1806,"depth":1900,"text":1809},{"id":1839,"depth":1900,"text":1842},{"id":1870,"depth":1900,"text":1873},"markdown","content:it:docs:6.developpeurs:3.mcp.md","content","it\u002Fdocs\u002F6.developpeurs\u002F3.mcp.md","it\u002Fdocs\u002F6.developpeurs\u002F3.mcp","md",[1920],{"title":1921,"_path":1922,"children":1923},"It","\u002Fit",[1924],{"title":1925,"_path":1926,"children":1927},"Docs","\u002Fit\u002Fdocs",[1928,1941,1969,1996,2009,2024,2033,2094],{"title":1929,"_path":1930,"children":1931},"Per iniziare","\u002Fit\u002Fdocs\u002Fdemarrer",[1932,1935,1938],{"title":1933,"_path":1934},"Benvenuto","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":1936,"_path":1937},"Creare un account","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":1939,"_path":1940},"Collegare una chiave LLM","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":1942,"_path":1943,"children":1944},"Canali","\u002Fit\u002Fdocs\u002Fcanaux",[1945,1948,1951,1954,1957,1960,1963,1966],{"title":1946,"_path":1947},"Panoramica dei canali","\u002Fit\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":1949,"_path":1950},"Telefonia in tempo reale","\u002Fit\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":1952,"_path":1953},"Email","\u002Fit\u002Fdocs\u002Fcanaux\u002Femail",{"title":1955,"_path":1956},"Widget chat web","\u002Fit\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":1958,"_path":1959},"Webhook HTTP","\u002Fit\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":1961,"_path":1962},"Messaggistica (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":1964,"_path":1965},"Meta Lead Ads","\u002Fit\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":1967,"_path":1968},"Schedule (cron)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":1970,"_path":1971,"children":1972},"Pipeline","\u002Fit\u002Fdocs\u002Fpipelines",[1973,1976,1979,1982,1985,1988,1991,1994],{"title":1974,"_path":1975},"L'editor visuale","\u002Fit\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":1977,"_path":1978},"Agenti IA","\u002Fit\u002Fdocs\u002Fpipelines\u002Fagents",{"title":1980,"_path":1981},"Operatori deterministici","\u002Fit\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":1983,"_path":1984},"Controllo di flusso","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":1986,"_path":1987},"Code Step","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":1989,"_path":1990},"Sotto-pipeline","\u002Fit\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":1992,"_path":1993},"Azioni no-code","\u002Fit\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":1995,"_path":649},"Base di conoscenza",{"title":1997,"_path":1998,"children":1999},"Supervisione","\u002Fit\u002Fdocs\u002Fsupervision",[2000,2003,2006],{"title":2001,"_path":2002},"Cronologia delle esecuzioni","\u002Fit\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":2004,"_path":2005},"Crediti e metering","\u002Fit\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":2007,"_path":2008},"Benchmark","\u002Fit\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":2010,"_path":2011,"children":2012},"Sicurezza","\u002Fit\u002Fdocs\u002Fsecurite",[2013,2015,2018,2021],{"title":2014,"_path":1893},"Principi di sicurezza",{"title":2016,"_path":2017},"Multi-tenancy rigorosa","\u002Fit\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":2019,"_path":2020},"Audit RGPD e registro degli accessi","\u002Fit\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":2022,"_path":2023},"Deployment sovrano","\u002Fit\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":2025,"_path":2026,"children":2027},"Sviluppatori","\u002Fit\u002Fdocs\u002Fdeveloppeurs",[2028,2029,2032],{"title":1885,"_path":1882},{"title":2030,"_path":2031},"Webhook in uscita","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":8,"_path":4},{"title":2034,"_path":2035,"children":2036},"Integrazioni","\u002Fit\u002Fdocs\u002Fintegrations",[2037,2040,2043,2046,2049,2052,2055,2058,2061,2064,2067,2070,2073,2076,2079,2082,2085,2088,2091],{"title":2038,"_path":2039},"Panoramica delle integrazioni","\u002Fit\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":2041,"_path":2042},"Stripe","\u002Fit\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":2044,"_path":2045},"GitHub","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":2047,"_path":2048},"Google","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":2050,"_path":2051},"LinkedIn Ads","\u002Fit\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":2053,"_path":2054},"Kavkom","\u002Fit\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":2056,"_path":2057},"Jira","\u002Fit\u002Fdocs\u002Fintegrations\u002Fjira",{"title":2059,"_path":2060},"Slack","\u002Fit\u002Fdocs\u002Fintegrations\u002Fslack",{"title":2062,"_path":2063},"SMS","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsms",{"title":2065,"_path":2066},"Enable Banking (open banking)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":2068,"_path":2069},"CRM, marketing e produttività","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":2071,"_path":2072},"HeyGen (video)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":2074,"_path":2075},"La Poste","\u002Fit\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":2077,"_path":2078},"CRM verticali (beTool Application, Qhare)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":2080,"_path":2081},"Mitti (ispezioni sul campo)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":2083,"_path":2084},"Meta (Messenger, Pagine, Meta Ads)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":2086,"_path":2087},"Onoff Business (Beta)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":2089,"_path":2090},"Smart Life \u002F Tuya (oggetti connessi)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":2092,"_path":2093},"Prodotti beTool (Desktop, Kiosk, Terminal)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":2095,"_path":2096,"children":2097},"Casi d'uso","\u002Fit\u002Fdocs\u002Fcas-usage",[2098,2101,2104,2107,2110,2113],{"title":2099,"_path":2100},"Agenti di business tipo","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":2102,"_path":2103},"CFO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":2105,"_path":2106},"COO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":2108,"_path":2109},"CTO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":2111,"_path":2112},"Product Manager IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":2114,"_path":2115},"Assistente personale","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]