Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Organización de herramientas
Descubrir las herramientas adecuadas y garantizar que el LLM pueda utilizarlas de forma eficaz es una de las partes más importantes del desarrollo de herramientas eficaces. Al empezar a desarrollar servidores MCP, necesitará una estrategia que determine:
-
¿Cuántas herramientas se incluyen en un servidor MCP?
-
¿Qué herramientas no deberían colocarse en el mismo servidor MCP
-
Cómo nombrar las herramientas para que se puedan buscar y evitar colisiones de nombres (diferentes herramientas con el mismo nombre)
-
¿Cómo documentar las herramientas y el servidor MCP para que el LLM pueda utilizarlos fácilmente
La organización del espacio de nombres es un patrón de diseño que evita colisiones entre los nombres de las herramientas, agrupa las funcionalidades relacionadas y facilita la identificación eficiente de las herramientas por parte de los LLM. El patrón establece una categorización estructurada que es análoga a los sistemas de almacenamiento organizados y no a la acumulación no estructurada. Se recomienda utilizar el patrón dominio-sustantivo-verbo para la nomenclatura de las herramientas. Por ejemplo,,,, github_issue_creategithub_issue_list, github_issue_update o. github_pullrequest_create github_pullrequest_list github_pullrequest_merge La ventaja de este patrón es evidente cuando se examina el comportamiento de la clasificación alfabética. Cuando las herramientas aparecen en orden alfabético, todas las operaciones relacionadas con el problema se agrupan (create,,update)list, seguidas de las operaciones de solicitud de extracción (,,). create list merge El sustantivo (tipo de recurso) funciona como un límite organizativo. Esta estructura facilita tanto el escaneo de la herramienta LLM como la navegación por la documentación humana, ya que las funciones relacionadas se agrupan de forma natural.
El servidor MCP debe estar limitado a nivel de dominio, pero puede subdividirse en función de la separación de funciones según las capacidades que proporciona. Por ejemplo, es posible que tenga servidores MCP independientes para las operaciones de escritura y lectura en una base de datos. Para hacer cumplir esta separación, se recomienda implementar barreras a nivel de agente que restrinjan los servidores MCP a los que se puede acceder en función de la intención y los permisos del usuario. Esto se puede lograr mediante una combinación de lo siguiente:
-
Carga condicional del servidor: cargue el servidor MCP de solo lectura solo cuando el agente detecte operaciones de lectura en la entrada del usuario.
-
Permission-based filtrado: utilice la autorización del usuario para conceder acceso únicamente a los servidores MCP adecuados.
Por último, querrá establecer un límite máximo en el número de herramientas que proporciona un servidor MCP. No haga suposiciones sobre cómo utilizarán los agentes su servidor MCP. Pueden enumerar ingenuamente todas las herramientas disponibles y proporcionárselas todas al LLM. Si tiene más de 50 herramientas en un solo servidor, debería considerar dividirlas en varios servidores.
Mejores prácticas para la organización de las herramientas de MPC
-
Utilice el estándar de nomenclatura entre dominios, sustantivos y verbos como herramientas: implemente estrategias para evitar colisiones de nombres tanto en los servidores MCP como en los agentes.
-
Establezca un límite superior: restrinja la cantidad de herramientas en un solo servidor MCP.
-
Divida los servidores MCP: utilice la separación de funciones para dividir los servidores MCP en grupos lógicos.