[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fmcp":3,"docs-nav-es":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},"\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fmcp","developpeurs",false,"","Pilota betool desde Claude (MCP)","Conecta Claude, Claude Desktop o cualquier app MCP a betool (clave API u OAuth 2.1) para leer tu configuración y proponer cambios con validación humana.",{"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 expone un ",{"type":14,"tag":22,"props":23,"children":24},"strong",{},[25],{"type":19,"value":26},"servidor MCP",{"type":19,"value":28}," (Model Context Protocol): un cliente MCP externo — ",{"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 cualquier aplicación compatible — puede ",{"type":14,"tag":22,"props":44,"children":45},{},[46],{"type":19,"value":47},"leer la configuración de tu organización",{"type":19,"value":49}," y ",{"type":14,"tag":22,"props":51,"children":52},{},[53],{"type":19,"value":54},"proponer cambios en lenguaje natural",{"type":19,"value":56}," (crear\u002Feditar un pipeline, un rol, una misión, una evaluación…). Es como un asistente que configura betool ",{"type":14,"tag":58,"props":59,"children":60},"em",{},[61],{"type":19,"value":62},"contigo",{"type":19,"value":64},", totalmente gobernado.",{"type":14,"tag":15,"props":66,"children":67},{},[68,70,77],{"type":19,"value":69},"Dos formas de conectarse, al mismo 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},"clave API MCP",{"type":19,"value":95}," en la cabecera ",{"type":14,"tag":71,"props":97,"children":99},{"className":98},[],[100],{"type":19,"value":101},"Authorization",{"type":19,"value":103}," — lo más sencillo para 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}," — para aplicaciones de terceros, sin manejar ningún secreto.",{"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},"Nada se aplica sin una aprobación explícita.",{"type":19,"value":128}," Cada cambio pasa por una ",{"type":14,"tag":22,"props":130,"children":131},{},[132],{"type":19,"value":133},"propuesta",{"type":19,"value":135},". Con el ámbito ",{"type":14,"tag":58,"props":137,"children":138},{},[139],{"type":19,"value":140},"Lectura + propuestas",{"type":19,"value":142},", la apruebas con un botón ",{"type":14,"tag":22,"props":144,"children":145},{},[146],{"type":19,"value":147},"Aceptar y aplicar",{"type":19,"value":149}," dentro de betool. Con el ámbito ",{"type":14,"tag":58,"props":151,"children":152},{},[153],{"type":19,"value":154},"Completo",{"type":19,"value":156},", la aplicación puede resolver sus propias propuestas ",{"type":14,"tag":22,"props":158,"children":159},{},[160],{"type":19,"value":161},"después de que aceptes en su propia conversación",{"type":19,"value":163}," — el equivalente máquina de ese botón, reservado a este ámbito y auditado como todo lo demás. Elige ",{"type":14,"tag":58,"props":165,"children":166},{},[167],{"type":19,"value":140},{"type":19,"value":169}," si quieres que la validación ocurra ",{"type":14,"tag":22,"props":171,"children":172},{},[173],{"type":19,"value":174},"dentro de betool",{"type":19,"value":176},", y en ningún otro sitio.",{"type":14,"tag":178,"props":179,"children":181},"h2",{"id":180},"lo-que-claude-puede-hacer",[182],{"type":19,"value":183},"Lo que Claude puede hacer",{"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},"Leer",{"type":19,"value":196},": inventario de modelos, el grafo y los nodos de un pipeline, los contratos de configuración de los nodos, roles\u002Fmisiones, herramientas disponibles, base de conocimiento.",{"type":14,"tag":84,"props":198,"children":199},{},[200,205],{"type":14,"tag":22,"props":201,"children":202},{},[203],{"type":19,"value":204},"Leer tus datos",{"type":19,"value":206},": las bases de datos no-code de tu organización — bases, tablas, columnas y filas. El cliente las descubre por sí mismo; una clave no puede limitarse a un subconjunto de bases.",{"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},"Proponer",{"type":19,"value":216},": mediante la herramienta ",{"type":14,"tag":71,"props":218,"children":220},{"className":219},[],[221],{"type":19,"value":222},"proposals.create",{"type":19,"value":224},", una propuesta de cambio ",{"type":14,"tag":58,"props":226,"children":227},{},[228],{"type":19,"value":229},"pendiente",{"type":19,"value":231}," — la aceptas o la rechazas en la interfaz. Esto cubre también la ",{"type":14,"tag":22,"props":233,"children":234},{},[235],{"type":19,"value":236},"creación de un modelo",{"type":19,"value":238}," y el ",{"type":14,"tag":22,"props":240,"children":241},{},[242],{"type":19,"value":243},"lanzamiento de un benchmark",{"type":19,"value":245}," (consulta ",{"type":14,"tag":247,"props":248,"children":250},"a",{"href":249},"#lo-que-se-propone",[251],{"type":19,"value":252},"Lo que se 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},"Escribir datos",{"type":19,"value":264}," ",{"type":14,"tag":58,"props":266,"children":267},{},[268],{"type":19,"value":269},"(ámbito Completo)",{"type":19,"value":271},": crear, actualizar o reservar una fila de una de tus bases, tras tu aceptación explícita en la conversación. A diferencia de la configuración, una escritura de datos no se versiona — no se puede restaurar.",{"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},"Hablar con tus modelos",{"type":19,"value":264},{"type":14,"tag":58,"props":282,"children":283},{},[284],{"type":19,"value":269},{"type":19,"value":286},": mantener una conversación de varios turnos con un modelo que hayas abierto explícitamente a los agentes externos — más abajo.",{"type":14,"tag":15,"props":288,"children":289},{},[290],{"type":19,"value":291},"Claude descubre el contrato exacto de cada nodo (campos, valores permitidos) antes de proponer: sin adivinar, sin configuración inválida.",{"type":14,"tag":15,"props":293,"children":294},{},[295,297,302,304,310,312,317],{"type":19,"value":296},"Los ",{"type":14,"tag":22,"props":298,"children":299},{},[300],{"type":19,"value":301},"secretos",{"type":19,"value":303}," de una configuración (secreto HMAC, token, contraseña) nunca le llegan: ",{"type":14,"tag":71,"props":305,"children":307},{"className":306},[],[308],{"type":19,"value":309},"models.inspect_pipeline",{"type":19,"value":311}," y las propuestas los devuelven ",{"type":14,"tag":22,"props":313,"children":314},{},[315],{"type":19,"value":316},"enmascarados",{"type":19,"value":318},". Una propuesta que reenvía una configuración tal como la leyó conserva el secreto guardado, sin que la IA lo haya visto.",{"type":14,"tag":178,"props":320,"children":322},{"id":321},"las-herramientas-expuestas",[323],{"type":19,"value":324},"Las herramientas expuestas",{"type":14,"tag":15,"props":326,"children":327},{},[328],{"type":19,"value":329},"Las herramientas se agrupan por familia. El cliente las descubre por sí mismo al conectarse; las de un conector solo aparecen si tu organización lo utiliza.",{"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},"Familia",{"type":14,"tag":343,"props":349,"children":350},{},[351],{"type":19,"value":352},"Herramientas",{"type":14,"tag":343,"props":354,"children":355},{},[356],{"type":19,"value":357},"Función",{"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 de modelos, lectura de un pipeline y de sus ejecuciones, estado de las automatizaciones bloqueadas",{"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},"Contratos de los nodos, opciones de configuración, validación de un grafo antes de proponerlo",{"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},"Roles y misiones de tus agentes",{"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},"Escenarios de evaluación y resultados de sus runs",{"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},"Búsqueda en tu ",{"type":14,"tag":247,"props":648,"children":650},{"href":649},"\u002Fes\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",[651],{"type":19,"value":652},"base de conocimiento",{"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},"lectura; ",{"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},"Tus bases no-code (escritura: ámbito ",{"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},"Hablar con un modelo (ver más abajo)",{"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},"Proponer un cambio, leer su contrato, resolverlo (",{"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},": ámbito ",{"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},"La URL de entrada de un modelo, lista para pegar.",{"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}," devuelve la URL pública completa de cada receptor declarado en el Start de un modelo (webhook entrante, callback de una plataforma de mensajería…) — para transmitirla a un socio sin buscar la ruta en la interfaz.",{"type":14,"tag":178,"props":839,"children":841},{"id":840},"lo-que-se-propone",[842],{"type":19,"value":252},{"type":14,"tag":15,"props":844,"children":845},{},[846,848,854,856,862],{"type":19,"value":847},"Toda modificación de configuración pasa por ",{"type":14,"tag":71,"props":849,"children":851},{"className":850},[],[852],{"type":19,"value":853},"proposals.create(kind, payload)",{"type":19,"value":855},". Antes de escribir un payload, el cliente lee su contrato exacto con ",{"type":14,"tag":71,"props":857,"children":859},{"className":858},[],[860],{"type":19,"value":861},"proposals.describe_kind(kind)",{"type":19,"value":863},". Los kinds disponibles:",{"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},"Efecto una vez aceptado",{"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 modelo (proceso) — su etiqueta, su descripción, su grupo",{"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 los metadatos de un modelo existente",{"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},"Edita el grafo de un modelo (añadir, modificar, eliminar nodos y enlaces)",{"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},"Publica el estado actual de un modelo, tras la validación previa a la publicación",{"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},"Encadena ediciones ",{"type":14,"tag":22,"props":972,"children":973},{},[974],{"type":19,"value":975},"y luego",{"type":19,"value":977}," una publicación sobre un mismo modelo, con una sola aceptación, de forma atómica",{"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 rol \u002F una misión de 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 actualiza una ficha de texto de la base de conocimiento",{"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},"Sustituye el archivo de un documento de la base de conocimiento, ",{"type":14,"tag":22,"props":1037,"children":1038},{},[1039],{"type":19,"value":1040},"en su lugar",{"type":19,"value":1042},": mismo identificador, mismo enlace público",{"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},"estructura",{"type":19,"value":1066}," de una base no-code (bases, columnas)",{"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},"Gestiona los escenarios de evaluación",{"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},"Lanza",{"type":19,"value":1119}," un run de benchmark — propuesto, porque un run consume créditos",{"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},"Crédito manual de un saldo — reservado a la organización operadora de la plataforma, y validado por la organización acreditada",{"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},"Crear un proceso de principio a fin = varias aprobaciones.",{"type":19,"value":264},{"type":14,"tag":71,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":19,"value":897},{"type":19,"value":1152}," crea la instancia; un ",{"type":14,"tag":71,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":19,"value":931},{"type":19,"value":1159}," conecta después su Start (con sus receptores) y sus nodos; un ",{"type":14,"tag":71,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":19,"value":948},{"type":19,"value":1166}," lo pone en servicio. Crear una instancia y conectarla siguen siendo dos decisiones humanas distintas.",{"type":14,"tag":178,"props":1168,"children":1170},{"id":1169},"crear-una-clave-mcp",[1171],{"type":19,"value":1172},"Crear una clave MCP",{"type":14,"tag":15,"props":1174,"children":1175},{},[1176,1178,1183],{"type":19,"value":1177},"Reservado a los ",{"type":14,"tag":22,"props":1179,"children":1180},{},[1181],{"type":19,"value":1182},"administradores de la organización",{"type":19,"value":1184},": una clave conlleva autoridad sobre toda la organización.",{"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},"En betool, abre ",{"type":14,"tag":22,"props":1195,"children":1196},{},[1197],{"type":19,"value":1198},"Ajustes de la organización → MCP",{"type":19,"value":1200},".",{"type":14,"tag":84,"props":1202,"children":1203},{},[1204,1206,1211,1213],{"type":19,"value":1205},"Nombra la clave y elige su ",{"type":14,"tag":22,"props":1207,"children":1208},{},[1209],{"type":19,"value":1210},"ámbito",{"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},"Solo lectura",{"type":19,"value":1225}," — lee la configuración ",{"type":14,"tag":22,"props":1227,"children":1228},{},[1229],{"type":19,"value":1230},"y los datos de tus bases",{"type":19,"value":1232},", relee los hilos abiertos por este canal, no propone nada;",{"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},"(recomendado)",{"type":19,"value":1247}," — lee y envía propuestas, que tú apruebas dentro de 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}," — también puede resolver sus propias propuestas, ",{"type":14,"tag":22,"props":1258,"children":1259},{},[1260],{"type":19,"value":1261},"escribir en tus bases de datos y conversar con tus modelos",{"type":19,"value":1263},", tras tu aceptación en la conversación del cliente.",{"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},"clave en bruto se muestra una sola vez",{"type":19,"value":1275}," — cópiala de inmediato (nunca podrá volver a leerse). Puedes ",{"type":14,"tag":22,"props":1277,"children":1278},{},[1279],{"type":19,"value":1280},"revocar",{"type":19,"value":1282}," una clave en cualquier momento.",{"type":14,"tag":15,"props":1284,"children":1285},{},[1286],{"type":19,"value":1287},"Los mismos tres ámbitos existen para OAuth; allí los eliges en la pantalla de consentimiento.",{"type":14,"tag":178,"props":1289,"children":1291},{"id":1290},"conectar-claude-code",[1292],{"type":19,"value":1293},"Conectar Claude Code",{"type":14,"tag":15,"props":1295,"children":1296},{},[1297,1299,1304],{"type":19,"value":1298},"Añade el servidor MCP de betool a Claude Code (la clave va en la cabecera ",{"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},"Luego pídele a Claude, en lenguaje natural: ",{"type":14,"tag":58,"props":1324,"children":1325},{},[1326],{"type":19,"value":1327},"«inspecciona mi pipeline X y propón un paso que resuma el ticket antes de enviarlo»",{"type":19,"value":1329},". Claude lee la configuración, compone una propuesta, y ",{"type":14,"tag":22,"props":1331,"children":1332},{},[1333],{"type":19,"value":1334},"tú la validas en 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},"Nunca pegues secretos en texto plano en el chat. El alcance de Claude está limitado por el ",{"type":14,"tag":22,"props":1346,"children":1347},{},[1348],{"type":19,"value":1349},"ámbito de la clave",{"type":19,"value":1351},", y ",{"type":14,"tag":22,"props":1353,"children":1354},{},[1355],{"type":19,"value":1356},"cada llamada a una herramienta se registra",{"type":19,"value":1358}," en ",{"type":14,"tag":22,"props":1360,"children":1361},{},[1362],{"type":19,"value":1363},"Ajustes de la organización → MCP → Registro de llamadas a herramientas",{"type":19,"value":1365}," (RGPD art. 15).",{"type":14,"tag":178,"props":1367,"children":1369},{"id":1368},"hablar-con-tus-modelos",[1370],{"type":19,"value":279},{"type":14,"tag":15,"props":1372,"children":1373},{},[1374,1376,1381,1383,1388],{"type":19,"value":1375},"Leer y proponer sirve para ",{"type":14,"tag":22,"props":1377,"children":1378},{},[1379],{"type":19,"value":1380},"configurar",{"type":19,"value":1382}," betool. Una IA externa también puede ",{"type":14,"tag":22,"props":1384,"children":1385},{},[1386],{"type":19,"value":1387},"usarlo",{"type":19,"value":1389},": mantener una conversación real con uno de tus modelos, turno tras turno, igual que cualquier visitante en tu chat. Útil para que otra IA ponga a prueba a un asistente, para colocar betool detrás de un agente socio, o para que una herramienta interna consulte uno de tus procesos en lenguaje natural.",{"type":14,"tag":15,"props":1391,"children":1392},{},[1393,1395,1401,1403,1409,1411,1417,1419,1425,1427,1432],{"type":19,"value":1394},"Cuatro herramientas: ",{"type":14,"tag":71,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":19,"value":1400},"conversation.open",{"type":19,"value":1402}," abre o recupera un hilo, ",{"type":14,"tag":71,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":19,"value":1408},"conversation.send",{"type":19,"value":1410}," envía un turno y devuelve la respuesta, ",{"type":14,"tag":71,"props":1412,"children":1414},{"className":1413},[],[1415],{"type":19,"value":1416},"conversation.poll",{"type":19,"value":1418}," recoge una respuesta que ha tardado, ",{"type":14,"tag":71,"props":1420,"children":1422},{"className":1421},[],[1423],{"type":19,"value":1424},"conversation.history",{"type":19,"value":1426}," relee el hilo. Ese hilo es ",{"type":14,"tag":22,"props":1428,"children":1429},{},[1430],{"type":19,"value":1431},"un contexto betool como cualquier otro",{"type":19,"value":1433},": aparece en tus conversaciones, el modelo ve los turnos anteriores y tú lo relees todo en la interfaz.",{"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},"Autoriza el modelo, nunca la clave.",{"type":19,"value":1446}," Debes declarar el receptor ",{"type":14,"tag":22,"props":1448,"children":1449},{},[1450],{"type":19,"value":1451},"Agente externo",{"type":19,"value":1453}," en el nodo Start del modelo: sin esa declaración la llamada se rechaza, incluso con una clave de ámbito ",{"type":14,"tag":58,"props":1455,"children":1456},{},[1457],{"type":19,"value":154},{"type":19,"value":1459},". Los modelos creados desde esta puesta a disposición lo declaran por defecto (el camino normal es el camino fácil); los más antiguos deben añadirlo, y a cualquiera se le puede quitar. Así que decide el modelo, nunca la clave — y el receptor debe estar presente en la versión ",{"type":14,"tag":22,"props":1461,"children":1462},{},[1463],{"type":19,"value":1464},"publicada",{"type":19,"value":1466},", la que se ejecuta. Y como un turno puede desencadenar efectos reales — un correo que sale, una ficha creada —, consume los créditos de la organización y queda registrado como cualquier llamada de herramienta.",{"type":14,"tag":15,"props":1468,"children":1469},{},[1470,1472,1477,1479,1484],{"type":19,"value":1471},"Una respuesta nunca se pierde: si el modelo trabaja más tiempo que la espera concedida, la llamada devuelve un ",{"type":14,"tag":22,"props":1473,"children":1474},{},[1475],{"type":19,"value":1476},"ticket",{"type":19,"value":1478}," y el turno sigue en el servidor — sobrevive incluso a un redespliegue. La aplicación recoge después la respuesta con ",{"type":14,"tag":71,"props":1480,"children":1482},{"className":1481},[],[1483],{"type":19,"value":1416},{"type":19,"value":1485},". Reenviar el mensaje no acelera nada — y mientras el turno se ejecuta, el envío se rechaza.",{"type":14,"tag":15,"props":1487,"children":1488},{},[1489,1491,1496],{"type":19,"value":1490},"Por último, este canal solo lee ",{"type":14,"tag":22,"props":1492,"children":1493},{},[1494],{"type":19,"value":1495},"sus propios hilos",{"type":19,"value":1497},". Un identificador de conversación procedente de otra entrada — chat público, teléfono, correo — no es legible aquí: los intercambios de tus clientes no pasan a ser consultables porque haya una aplicación MCP conectada.",{"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 modelo ya existente funciona sin tocarlo.",{"type":19,"value":1507}," Este canal coloca las mismas claves que un chat: el mensaje llega en ",{"type":14,"tag":71,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":19,"value":1513},"user_message",{"type":19,"value":1515}," y el evento es un ",{"type":14,"tag":71,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":19,"value":1521},"on_message",{"type":19,"value":1523}," normal — así que tus filtros y las selecciones de tus agentes siguen funcionando. Si el modelo de destino se escribió para otra entrada (lee ",{"type":14,"tag":71,"props":1525,"children":1527},{"className":1526},[],[1528],{"type":19,"value":1529},"telegram.text",{"type":19,"value":1531},", un objetivo, una variable de página…), la aplicación puede aportar esas claves mediante ",{"type":14,"tag":71,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":19,"value":1537},"variables",{"type":19,"value":1539},": entran en el flujo donde la otra entrada las habría puesto. Lo que no puede falsificar es ",{"type":14,"tag":22,"props":1541,"children":1542},{},[1543],{"type":19,"value":1544},"la identidad del turno",{"type":19,"value":1546}," — quién habló y por qué canal: esas claves las pone el servidor, y cualquier intento se rechaza ",{"type":14,"tag":58,"props":1548,"children":1549},{},[1550],{"type":19,"value":1551},"y se informa",{"type":19,"value":1553}," en la respuesta.",{"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},"Si el modelo se queda callado, mira su enrutamiento.",{"type":19,"value":1563}," Un modelo que sirve a varios canales suele ramificar según la entrada (",{"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 que llega con la entrada « agente externo » no coincide con ninguna rama y nada responde — sin que se produzca ningún error. Pasa ",{"type":14,"tag":71,"props":1573,"children":1575},{"className":1574},[],[1576],{"type":19,"value":1577},"as_entry_kind",{"type":19,"value":1579}," para ser ",{"type":14,"tag":22,"props":1581,"children":1582},{},[1583],{"type":19,"value":1584},"enrutado como",{"type":19,"value":1586}," ese canal. Solo cambia la clave de enrutamiento: el descriptor de canal y el registro de auditoría siguen diciendo que el turno viene de una IA externa, y se aplican las capacidades reales del canal.",{"type":14,"tag":15,"props":1588,"children":1589},{},[1590,1595],{"type":14,"tag":22,"props":1591,"children":1592},{},[1593],{"type":19,"value":1594},"Un hilo atiende un turno a la vez.",{"type":19,"value":1596}," Mientras el turno anterior no haya devuelto su respuesta, el siguiente se rechaza indicando el turno que debes leer. No es un límite arbitrario: una respuesta se vincula a su pregunta por su posición en el hilo, así que dos turnos en vuelo harían ambigua la atribución — mejor un rechazo claro que una respuesta plausible y falsa.",{"type":14,"tag":178,"props":1598,"children":1600},{"id":1599},"conectar-una-aplicación-de-terceros-oauth-21",[1601],{"type":19,"value":1602},"Conectar una aplicación de terceros (OAuth 2.1)",{"type":14,"tag":15,"props":1604,"children":1605},{},[1606,1608,1612,1614,1618,1620,1625],{"type":19,"value":1607},"Una clave en la cabecera sirve para Claude Code. Los demás clientes — ",{"type":14,"tag":22,"props":1609,"children":1610},{},[1611],{"type":19,"value":40},{"type":19,"value":1613},", ChatGPT, un editor, tu propia aplicación — se conectan mediante ",{"type":14,"tag":22,"props":1615,"children":1616},{},[1617],{"type":19,"value":111},{"type":19,"value":1619},", sin que nadie manipule un secreto. No hay nada que preparar: ",{"type":14,"tag":22,"props":1621,"children":1622},{},[1623],{"type":19,"value":1624},"ningún cliente que declarar",{"type":19,"value":1626},", ningún identificador que pedirnos.",{"type":14,"tag":15,"props":1628,"children":1629},{},[1630],{"type":19,"value":1631},"Para el usuario, el recorrido son tres pantallas:",{"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},"En la aplicación, añade el servidor 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},"Tu navegador abre una ",{"type":14,"tag":22,"props":1652,"children":1653},{},[1654],{"type":19,"value":1655},"pantalla de consentimiento de betool",{"type":19,"value":1657},": indica la aplicación que solicita el acceso, la ",{"type":14,"tag":22,"props":1659,"children":1660},{},[1661],{"type":19,"value":1662},"organización",{"type":19,"value":1664}," afectada y ",{"type":14,"tag":22,"props":1666,"children":1667},{},[1668],{"type":19,"value":1669},"dónde se producirá el retorno",{"type":19,"value":1671},". Verifica esas tres cosas — sobre todo si perteneces a varias organizaciones.",{"type":14,"tag":84,"props":1673,"children":1674},{},[1675,1677,1681,1683,1688],{"type":19,"value":1676},"Elige el ",{"type":14,"tag":22,"props":1678,"children":1679},{},[1680],{"type":19,"value":1210},{"type":19,"value":1682}," que concedes y pulsa ",{"type":14,"tag":22,"props":1684,"children":1685},{},[1686],{"type":19,"value":1687},"Autorizar",{"type":19,"value":1689},". La aplicación nunca recibe más de lo que marcas, aunque haya pedido más.",{"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 administrador de la organización puede autorizar una aplicación.",{"type":19,"value":1702}," Conectar una crea una autoridad duradera sobre toda la organización — exactamente lo que es una clave MCP. Por tanto, un miembro con derechos limitados no puede sortear sus restricciones por esta vía.",{"type":14,"tag":15,"props":1704,"children":1705},{},[1706,1708,1714,1716,1722,1724,1730,1732,1738],{"type":19,"value":1707},"Para los integradores, el descubrimiento es totalmente automático y conforme a los estándares: una llamada no autenticada a ",{"type":14,"tag":71,"props":1709,"children":1711},{"className":1710},[],[1712],{"type":19,"value":1713},"\u002Fmcp",{"type":19,"value":1715}," devuelve un ",{"type":14,"tag":71,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":19,"value":1721},"401",{"type":19,"value":1723}," con la cabecera ",{"type":14,"tag":71,"props":1725,"children":1727},{"className":1726},[],[1728],{"type":19,"value":1729},"WWW-Authenticate",{"type":19,"value":1731}," y la dirección de nuestros metadatos (RFC 9728), que a su vez apuntan a la autorización, el intercambio de tokens, el registro dinámico del cliente (RFC 7591) y la revocación (RFC 7009). PKCE ",{"type":14,"tag":71,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":19,"value":1737},"S256",{"type":19,"value":1739}," es obligatorio, los tokens de acceso duran una hora y el token de refresco rota en cada uso.",{"type":14,"tag":1307,"props":1741,"children":1744},{"className":1742,"code":1743,"language":1312,"meta":7},[1310],"# Lo que un cliente hace por sí solo — útil para comprobarlo desde un terminal.\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 solo es válido ",{"type":14,"tag":22,"props":1755,"children":1756},{},[1757],{"type":19,"value":1758},"para betool",{"type":19,"value":1760},": reutilizado en otro sitio, se rechaza (RFC 8707). Y si se presenta por segunda vez un token de refresco ya consumido — la señal de un token robado — ",{"type":14,"tag":22,"props":1762,"children":1763},{},[1764],{"type":19,"value":1765},"se revoca toda la sesión",{"type":19,"value":1767}," y el usuario debe autorizar de nuevo.",{"type":14,"tag":178,"props":1769,"children":1771},{"id":1770},"aplicaciones-conectadas-ver-y-desconectar",[1772],{"type":19,"value":1773},"Aplicaciones conectadas: ver y desconectar",{"type":14,"tag":15,"props":1775,"children":1776},{},[1777,1779,1783,1785,1790,1792,1797],{"type":19,"value":1778},"En ",{"type":14,"tag":22,"props":1780,"children":1781},{},[1782],{"type":19,"value":1198},{"type":19,"value":1784},", la sección ",{"type":14,"tag":22,"props":1786,"children":1787},{},[1788],{"type":19,"value":1789},"Aplicaciones conectadas",{"type":19,"value":1791}," enumera lo que está conectado a tu organización: el nombre de la aplicación, el ámbito concedido, quién la autorizó y la fecha del último uso. Un botón ",{"type":14,"tag":22,"props":1793,"children":1794},{},[1795],{"type":19,"value":1796},"Desconectar",{"type":19,"value":1798}," corta el acceso de inmediato — todos los tokens de esa aplicación, solo para tu organización.",{"type":14,"tag":15,"props":1800,"children":1801},{},[1802],{"type":19,"value":1803},"Una misma aplicación puede estar conectada por varias organizaciones: desconectarla en tu caso no afecta a nadie más. Una aplicación también puede desconectarse por sí misma.",{"type":14,"tag":178,"props":1805,"children":1807},{"id":1806},"ámbito-y-aislamiento",[1808],{"type":19,"value":1809},"Ámbito y aislamiento",{"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},"Por defecto, una clave opera únicamente sobre ",{"type":14,"tag":22,"props":1819,"children":1820},{},[1821],{"type":19,"value":1822},"tu propia organización",{"type":19,"value":1824}," — la organización de destino se fuerza del lado servidor; nunca pasas un id de organización como argumento.",{"type":14,"tag":84,"props":1826,"children":1827},{},[1828,1830,1835],{"type":19,"value":1829},"Las ",{"type":14,"tag":22,"props":1831,"children":1832},{},[1833],{"type":19,"value":1834},"claves de proveedor",{"type":19,"value":1836}," (organización de backoffice) pueden apuntar a otra organización, bajo el consentimiento explícito de esa organización y con auditoría completa — útil para un caso de uso de proveedor multi-tenant.",{"type":14,"tag":178,"props":1838,"children":1840},{"id":1839},"registro-de-auditoría",[1841],{"type":19,"value":1842},"Registro de auditoría",{"type":14,"tag":15,"props":1844,"children":1845},{},[1846,1848,1853,1855,1859,1861,1866],{"type":19,"value":1847},"Cada llamada a una herramienta (externa vía MCP ",{"type":14,"tag":22,"props":1849,"children":1850},{},[1851],{"type":19,"value":1852},"e",{"type":19,"value":1854}," interna) escribe una línea de auditoría: quién, qué herramienta, qué canal, qué ámbito, resultado, latencia. Disponible en ",{"type":14,"tag":22,"props":1856,"children":1857},{},[1858],{"type":19,"value":1198},{"type":19,"value":1860}," (sección ",{"type":14,"tag":22,"props":1862,"children":1863},{},[1864],{"type":19,"value":1865},"Registro de llamadas a herramientas",{"type":19,"value":1867},"), estrictamente acotado a tu organización.",{"type":14,"tag":178,"props":1869,"children":1871},{"id":1870},"consulta-también",[1872],{"type":19,"value":1873},"Consulta también",{"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},"\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",[1884],{"type":19,"value":1885},"API de administración",{"type":19,"value":1887}," — automatiza betool desde tus propios sistemas.",{"type":14,"tag":84,"props":1889,"children":1890},{},[1891,1897],{"type":14,"tag":247,"props":1892,"children":1894},{"href":1893},"\u002Fes\u002Fdocs\u002Fsecurite\u002Fprincipes",[1895],{"type":19,"value":1896},"Seguridad y conformidad",{"type":19,"value":1898}," — el modelo de gobernanza de propuestas.",{"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:es:docs:6.developpeurs:3.mcp.md","content","es\u002Fdocs\u002F6.developpeurs\u002F3.mcp.md","es\u002Fdocs\u002F6.developpeurs\u002F3.mcp","md",[1920],{"title":1921,"_path":1922,"children":1923},"Es","\u002Fes",[1924],{"title":1925,"_path":1926,"children":1927},"Docs","\u002Fes\u002Fdocs",[1928,1941,1969,1996,2009,2024,2033,2094],{"title":1929,"_path":1930,"children":1931},"Primeros pasos","\u002Fes\u002Fdocs\u002Fdemarrer",[1932,1935,1938],{"title":1933,"_path":1934},"Bienvenido","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":1936,"_path":1937},"Crear una cuenta","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":1939,"_path":1940},"Conectar una clave LLM","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":1942,"_path":1943,"children":1944},"Canales","\u002Fes\u002Fdocs\u002Fcanaux",[1945,1948,1951,1954,1957,1960,1963,1966],{"title":1946,"_path":1947},"Visión general de los canales","\u002Fes\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":1949,"_path":1950},"Telefonía en tiempo real","\u002Fes\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":1952,"_path":1953},"Email","\u002Fes\u002Fdocs\u002Fcanaux\u002Femail",{"title":1955,"_path":1956},"Widget de chat web","\u002Fes\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":1958,"_path":1959},"Webhook HTTP","\u002Fes\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":1961,"_path":1962},"Mensajería (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fes\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":1964,"_path":1965},"Meta Lead Ads","\u002Fes\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":1967,"_path":1968},"Schedule (cron)","\u002Fes\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":1970,"_path":1971,"children":1972},"Pipelines","\u002Fes\u002Fdocs\u002Fpipelines",[1973,1976,1979,1982,1985,1988,1991,1994],{"title":1974,"_path":1975},"El editor visual","\u002Fes\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":1977,"_path":1978},"Agentes IA","\u002Fes\u002Fdocs\u002Fpipelines\u002Fagents",{"title":1980,"_path":1981},"Operadores deterministas","\u002Fes\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":1983,"_path":1984},"Control de flujo","\u002Fes\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":1986,"_path":1987},"Code Steps","\u002Fes\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":1989,"_path":1990},"Sub-pipelines","\u002Fes\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":1992,"_path":1993},"Acciones no-code","\u002Fes\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":1995,"_path":649},"Base de conocimiento",{"title":1997,"_path":1998,"children":1999},"Supervisión","\u002Fes\u002Fdocs\u002Fsupervision",[2000,2003,2006],{"title":2001,"_path":2002},"Historial de ejecuciones","\u002Fes\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":2004,"_path":2005},"Créditos y medición","\u002Fes\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":2007,"_path":2008},"Benchmarks","\u002Fes\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":2010,"_path":2011,"children":2012},"Seguridad","\u002Fes\u002Fdocs\u002Fsecurite",[2013,2015,2018,2021],{"title":2014,"_path":1893},"Principios de seguridad",{"title":2016,"_path":2017},"Multi-tenancy estricto","\u002Fes\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":2019,"_path":2020},"Auditoría RGPD y registro de accesos","\u002Fes\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":2022,"_path":2023},"Despliegue soberano","\u002Fes\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":2025,"_path":2026,"children":2027},"Desarrolladores","\u002Fes\u002Fdocs\u002Fdeveloppeurs",[2028,2029,2032],{"title":1885,"_path":1882},{"title":2030,"_path":2031},"Webhooks salientes","\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":8,"_path":4},{"title":2034,"_path":2035,"children":2036},"Integraciones","\u002Fes\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},"Visión general de las integraciones","\u002Fes\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":2041,"_path":2042},"Stripe","\u002Fes\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":2044,"_path":2045},"GitHub","\u002Fes\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":2047,"_path":2048},"Google","\u002Fes\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":2050,"_path":2051},"LinkedIn Ads","\u002Fes\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":2053,"_path":2054},"Kavkom","\u002Fes\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":2056,"_path":2057},"Jira","\u002Fes\u002Fdocs\u002Fintegrations\u002Fjira",{"title":2059,"_path":2060},"Slack","\u002Fes\u002Fdocs\u002Fintegrations\u002Fslack",{"title":2062,"_path":2063},"SMS","\u002Fes\u002Fdocs\u002Fintegrations\u002Fsms",{"title":2065,"_path":2066},"Enable Banking (open banking)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":2068,"_path":2069},"CRM, marketing y productividad","\u002Fes\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":2071,"_path":2072},"HeyGen (vídeo)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":2074,"_path":2075},"La Poste","\u002Fes\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":2077,"_path":2078},"CRM de negocio (beTool Application, Qhare)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":2080,"_path":2081},"Mitti (inspecciones de campo)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":2083,"_path":2084},"Meta (Messenger, Páginas, Meta Ads)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":2086,"_path":2087},"Onoff Business (Beta)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":2089,"_path":2090},"Smart Life \u002F Tuya (objetos conectados)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":2092,"_path":2093},"Productos beTool (Desktop, Kiosk, Terminal)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":2095,"_path":2096,"children":2097},"Casos de uso","\u002Fes\u002Fdocs\u002Fcas-usage",[2098,2101,2104,2107,2110,2113],{"title":2099,"_path":2100},"Agentes de negocio tipo","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":2102,"_path":2103},"CFO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":2105,"_path":2106},"COO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":2108,"_path":2109},"CTO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":2111,"_path":2112},"Product Manager IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":2114,"_path":2115},"Asistente personal","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]