Enterprise7 minutos de lectura7 idiomas

Deja que el agente de IA proponga una herramienta de código y apruébala como administrador

Cuando un agente resuelve una y otra vez la misma tarea de varios pasos, puede proponer una herramienta de código reutilizable con code_propose_tool. La propuesta no ejecuta nada ni concede nada; un administrador revisa el programa en AI Skills y crea la herramienta con un clic, en solo lectura y con los permisos de quien la invoca. Cómo funciona en AnythingMCP, paso a paso.

HCPor el equipo de HelpCodeActualizado 7 min de lectura Código abierto en GitHub

Sin tarjeta de crédito · 7 días de prueba · Alternativa self-host disponible

  • Prueba gratis de 7 días
    Sin tarjeta de crédito
  • RGPD y SOC 2 ready
    Datos en la UE, registros de auditoría
  • Código abierto en GitHub
    Open source · AGPL-3.0
  • Funciona con ChatGPT, Claude, Gemini
    Cualquier cliente compatible con MCP

Resumen

Cuando un agente resuelve una y otra vez la misma tarea de varios pasos, puede proponer una herramienta de código reutilizable con code_propose_tool. La propuesta no ejecuta nada ni concede nada; un administrador revisa el programa en AI Skills y crea la herramienta con un clic, en solo lectura y con los permisos de quien la invoca. Cómo funciona en AnythingMCP, paso a paso.

TL;DR: Un agente que responde a «ingresos mensuales por canal» escribiendo el mismo programa cada semana no debería tener que reescribirlo cada vez, pero tampoco debería poder crear herramientas por su cuenta. En el modo código de AnythingMCP hace algo intermedio: llama a code_propose_tool con un nombre, una descripción, el programa y el motivo por el que merece la pena conservarlo. Eso registra una propuesta y nada más: no se ejecuta ningún código ni aparece ninguna herramienta. Un administrador la encuentra en AI Skills → Suggested, lee el programa y hace clic en Create tool. La nueva herramienta es de solo lectura y se ejecuta con los permisos de cada usuario que la invoca; cualquier permiso adicional requiere una edición aparte y deliberada. Disponible en AnythingMCP autoalojado desde la v0.52.0 y próximamente en AnythingMCP Cloud.

Por qué propuestas y no herramientas creadas por el propio agente

Los agentes son buenos detectando que una tarea es mecánica: las mismas tres llamadas, el mismo cruce de datos, la misma suma. Convertir eso en una herramienta guardada hace que la siguiente respuesta sea más rápida, más barata y más coherente. Pero una herramienta también es una capacidad permanente en tu espacio de trabajo, y el programa que hay detrás lo escribió un modelo que quizá haya leído contenido no fiable. Por eso el agente puede sugerir y una persona decide. Es el mismo principio que usa AnythingMCP para las skills y la memoria de empresa que proponen los clientes de IA: el agente redacta y un administrador aprueba.

Qué necesitas

  • AnythingMCP autoalojado v0.52.1 o posterior con el code runner configurado (configuración en el paso 1 de esta guía).
  • Modo código establecido en inline en el servidor MCP. inline es lo que ofrece code_execute y code_propose_tool; tools solo sirve herramientas de código guardadas. Configúralo en los ajustes del servidor (Code mode → Saved code tools + inline code), disponible desde la v0.52.1; consulta el paso 2 del tutorial de herramientas de código.
  • La capacidad de código inline en el rol del usuario. Los administradores del espacio de trabajo la tienen.
  • Como se anunció con la v0.52, el código inline y las propuestas forman parte de Team y Enterprise.

Paso 1 — El agente resuelve la tarea en línea

Un usuario hace una pregunta que requiere varias llamadas, por ejemplo «ingresos de octubre, facturas de la tienda y B2B». Con el código inline activado, el agente escribe un programa y lo ejecuta con code_execute: en solo lectura, con los permisos del propio usuario, sobre los conectores a los que el usuario tiene acceso en ese servidor. Consulta la receta de ingresos para ver cómo es un programa así.

Paso 2 — El agente propone conservarlo

Cuando el agente detecta que el patrón merece conservarse (por iniciativa propia, o porque el usuario dice «guarda esto como herramienta»), llama a code_propose_tool con:

CampoQué rellena el agente
nameUn nombre corto de herramienta, p. ej. monthly_revenue_by_channel
descriptionQué hace y qué devuelve la herramienta, para el administrador y para futuros usuarios
codeEl programa, el mismo tipo de cuerpo que para code_execute
rationalePor qué merece la pena guardarla, p. ej. «consultada cuatro veces este mes; sustituye unas 20 llamadas a herramientas»
inputSchemaOpcional: los parámetros propios de la herramienta, p. ej. month como YYYY-MM

La respuesta al agente es sencilla: la propuesta queda registrada para su revisión y no se ejecutará ni se convertirá en herramienta hasta que un administrador la apruebe. Se le puede decir lo mismo al usuario.

Paso 3 — El administrador la revisa

Abre AI Skills en la barra lateral (en Intelligence) y cambia a Suggested. Una propuesta aparece como una tarjeta marcada como Code tool proposal, con:

  • el ámbito y una nota que indica que la propuso un agente y que es de solo lectura y se ejecuta con los permisos de quien la invoca;
  • Why: el motivo del agente;
  • Does: la descripción;
  • Program con su longitud en caracteres, para leerlo completo;
  • una nota sobre en qué conector se creará la herramienta y que las escrituras o los derechos de autor solo se pueden añadir más tarde en la página de herramientas del conector.
anythingmcp.internal/knowledge-graph
Página AI Skills, pestaña All con un elemento sugerido revenue_by_month marcado como Code tool proposal: conector Accounting, propuesto por un agente, solo lectura, se ejecuta con los permisos de quien la invoca; textos Why y Does, el Program desplegado de 419 caracteres, la nota de que crearla añade una herramienta de código de solo lectura en Accounting, y los botones Create tool y Dismiss
Una propuesta de herramienta de código en un espacio de trabajo de demostración: el motivo del agente, lo que hace la herramienta y el programa completo, con Create tool y Dismiss.

Lee el programa como revisarías una pequeña pull request:

  1. ¿A qué herramientas llama? Cada amcp.run('…'). ¿Son las que promete la descripción y todas de lectura?
  2. ¿Qué devuelve? ¿Solo lo que necesita la pregunta, o registros completos con datos personales?
  3. ¿Itera con sentido? Paginación que termina, lotes de llamadas en paralelo, ninguna llamada por fila de una tabla grande sin necesidad. Una ejecución se detiene a los 10 segundos y a las 500 llamadas a herramientas.
  4. ¿Son claros el nombre y la descripción como para que la IA la llame en el momento adecuado y explique bien su resultado (bruto o neto, qué periodo, qué sistemas)?

Paso 4 — Crea la herramienta o descártala

Create tool ejecuta las comprobaciones normales de creación de herramientas: los conectores deben pertenecer al mismo espacio de trabajo y se aplica el número de herramientas de código guardadas que permita el plan. La herramienta se crea en el conector indicado en la tarjeta:

  • de solo lectura (solo puede llamar a herramientas que no modifican datos);
  • ejecutada como invocador (cada llamada interna se comprueba contra el rol del propio usuario que la invoca);
  • usando los conectores del proponente en ese servidor. Abre después la herramienta y restringe Uses a los conectores y herramientas a los que realmente llama.

Dismiss mueve la propuesta a la pestaña Dismissed. Si el agente insiste en proponer algo que no quieres, indícalo en las instrucciones del servidor.

Paso 5 — Solo si hace falta: más permisos, de forma deliberada

Una herramienta creada se puede editar como cualquier herramienta de código en la página MCP Tools del conector. Hay dos ajustes que no son accesibles en absoluto a través de una propuesta:

  • Allow write tools, para que el programa pueda llamar a herramientas que modifican datos. Requiere Enterprise.
  • Run as definer, para que el programa se ejecute con la curación del autor en lugar de con los permisos de quien la invoca. Solo para administradores.

Ambos se vuelven a comprobar al guardar. Ese es el sentido del diseño: un agente nunca puede aumentar su propia autoridad, porque una propuesta es siempre de solo lectura, siempre como invocador y está limitada a los conectores a los que el usuario proponente ya podía acceder.

Por qué es seguro

  • Una propuesta es inerte. code_propose_tool no ejecuta código ni crea nada.
  • Sin escalada de privilegios. La herramienta propuesta solo puede referenciar los conectores del propio proponente y empieza en solo lectura, como invocador.
  • Decide una persona. Solo un administrador puede convertir una propuesta en herramienta, con las mismas comprobaciones que una herramienta escrita a mano.
  • Las ejecuciones permanecen contenidas y auditadas. Una vez creada, cada ejecución pasa por el code runner aislado y se registra junto con cada llamada interna a herramientas. Consulta Ejecución segura de código para agentes de IA.

FAQ

¿Puede un usuario normal proponer herramientas? Cualquier usuario cuyo rol tenga la capacidad de código inline, en un servidor con modo código inline. Sin esa capacidad, el usuario no ve ni code_execute ni code_propose_tool.

¿Ve el agente si su propuesta fue aceptada? El agente ve la nueva herramienta en la lista de herramientas del servidor una vez creada, como cualquier otra, y puede llamarla a partir de ese momento.

¿Puedo editar el programa antes de crear la herramienta? Créala y edítala después en la página MCP Tools del conector, como cualquier herramienta de código: programa, descripción, parámetros, Uses.

Relacionado

¿Te ha sido útil esta guía?

MCP en tu stack en 60 segundos.

Pon en marcha AnythingMCP en la nube gestionada o alójalo en tu propia infraestructura. 7 días gratis, sin tarjeta de crédito.

Guías relacionadas

Empresa

Permisos de carpetas por rol para la búsqueda de archivos con IA: quién ve qué carpetas en Claude y ChatGPT

Ofrece a ventas, compras y servicio una única búsqueda de archivos con IA sobre el recurso compartido de la empresa, y deja que cada rol vea solo sus carpetas. Cómo funcionan los permisos de carpetas de AnythingMCP Enterprise (permitir, denegar, denegar prevalece), cómo planificar las reglas y la alternativa sin Enterprise.

EN
Empresa

Chatear con tus documentos, RAG o búsqueda de archivos: ¿cuál encaja con un servidor de archivos de empresa?

Subir archivos a Claude Projects o ChatGPT, montar RAG sobre una base de datos vectorial, o dar a la IA un índice de texto completo del servidor de archivos como herramientas MCP: en qué se diferencian los tres enfoques en cuanto a códigos y números exactos, estructura de carpetas, actualidad, permisos y esfuerzo, y cuándo es adecuado cada uno.

Empresa

Encuentra un número de artículo en listas de precios PDF y Excel con IA (gana la lista más reciente)

Pregunta a Claude o ChatGPT por un número de artículo y obtén la fila de precio, el nombre de archivo del proveedor y la fecha de la lista, entre cientos de listas de precios PDF y Excel de tu servidor de archivos. Cómo la búsqueda exacta, las filas de Excel con nombres de columna y las fechas mantienen a la IA en la lista vigente.

Empresa

Encuentra planos técnicos por número de pieza con IA: busca en un archivo de planos en PDF

Deja que Claude o ChatGPT encuentre un plano técnico por número de pieza, número de plano o material en un archivo de miles de planos en PDF, lea el cajetín y diga cuál es la revisión vigente. Qué funciona con planos en PDF, qué se encuentra solo por nombre (DWG, DXF, STEP) y cómo configurarlo con AnythingMCP File Search.

Empresa

Busca en el servidor de archivos de tu empresa con IA: archivos PDF, Excel y Outlook

Haz que una carpeta de red, un NAS o un servidor de archivos se pueda consultar desde Claude, ChatGPT, Microsoft Copilot y Gemini: búsqueda de texto completo en PDF, hojas de Excel, Word y archivos .msg de Outlook, siempre sincronizada y con permisos por rol. Autoalojado o en AnythingMCP Cloud.

Empresa

Busca en un archivo de correo electrónico con IA: archivos .msg y .eml de Outlook y sus adjuntos

Correos guardados en un servidor de archivos o NAS, con búsqueda desde Claude y ChatGPT: remitente, fecha, asunto, cuerpo y el texto de los adjuntos PDF, Excel y Word. Qué formatos lee AnythingMCP File Search (.msg, .eml), cuáles no (.pst, .mbox) y cómo configurarlo.