CCDV-F · Herramientas y MCP
Herramienta integrada, propia, Skill o servidor MCP
En una semana llegan cinco pedidos: conectar el sistema de tickets para Claude Code, Claude Desktop y un bot de soporte; enseñarle a Claude la lista de revisión de código; sumar un conversor de monedas a una sola app; exponer el servicio de feature flags a agentes de varios equipos; y recordarle que use tabs en Go. Cada uno tiene su pieza, y elegirla bien es la personalización agéntica (agentic customization).
Las cinco piezas
| Pieza | Qué es | Cuándo conviene |
|---|---|---|
| Herramientas integradas (built-in tools) | Las que ya vienen: búsqueda y fetch web, ejecución de código en la API; Read, Grep, Glob, Edit y Bash en Claude Code y el Agent SDK | Si ya resuelven la tarea. Primero siempre se mira acá |
| Herramienta propia (custom tool) | Una función con esquema que ejecuta el código de tu aplicación | Una capacidad que necesita una sola app, incluido llegar a un servicio de tu red privada |
| Servidor MCP | Un servicio aparte que expone herramientas, recursos y prompts por un protocolo estándar | Un sistema vivo que comparten varias apps o hosts y que se mantiene en un solo lugar |
| Skill (Agent Skill) | Una carpeta con SKILL.md (instrucciones) y, si hace falta, scripts y material de referencia |
Un procedimiento o conocimiento del equipo que no consulta sistemas externos |
| CLAUDE.md | Instrucciones que Claude Code carga siempre en ese repositorio | Convenciones cortas que aplican a todo el trabajo en el repo |
Con la tabla, los cinco pedidos se ordenan solos: tickets y feature flags, servidor MCP; la lista de revisión, Skill; el conversor de una sola app, herramienta propia; los tabs en Go, CLAUDE.md.
Por qué una Skill y no un prompt o un MCP
Una Skill usa divulgación progresiva (progressive disclosure):
- El nombre y la descripción están siempre en contexto, y ocupan poco.
- El cuerpo de
SKILL.mdse carga solo cuando el pedido coincide con la descripción. - Los archivos de referencia se leen y los scripts se ejecutan recién cuando hacen falta; de un script solo entra al contexto su salida.
Por eso un procedimiento largo (orden de secciones, rúbrica, checklist) encaja como Skill: no ocupa lugar en las sesiones que no lo usan. La descripción tiene que decir qué hace y cuándo usarla, porque es lo que Claude compara con el pedido. En la API, las Skills corren en el contenedor de ejecución de código, sin acceso a la red: no sirven para consultar un sistema vivo.
Armar un servidor MCP para devolver un texto fijo es infraestructura sin beneficio. Y como una Skill puede traer código, instalá solo las de fuentes confiables.
Por qué un MCP y no una herramienta por app
Si tres aplicaciones necesitan el mismo servicio de inventario, una herramienta propia en cada una triplica el código, las credenciales y los arreglos. Un servidor MCP se implementa y se despliega una vez, y cualquier host compatible se conecta. Para una sola app con lógica simple, en cambio, es un componente más para operar sin ganar nada.
Las trampas típicas
- Un servidor MCP para algo que es solo una instrucción o un procedimiento.
- Creer que una herramienta integrada llega a cualquier API. La búsqueda y el fetch web corren en la infraestructura de Anthropic: no entran a tu VPN. Para un servicio interno, herramienta propia o MCP.
- Pegar los datos en el contexto en cada pedido. Un export nocturno en el system prompt queda viejo en minutos y gasta tokens. Si el dato cambia, Claude necesita acceso en vivo.
- Meter la lógica en el system prompt de cada app. No se reutiliza ni se mantiene.
- Reescribir lo que ya viene integrado. Un servidor propio de lectura de archivos que duplica Read y Grep suma bugs. Si el requisito real es “no editar y no leer
secrets/”, alcanza con habilitar solo las herramientas de lectura y una regla de denegación.
En el examen
Hacé dos preguntas. ¿Hace falta un sistema externo vivo? Si no, es Skill o CLAUDE.md, según sea un procedimiento que se carga cuando hace falta o una convención que aplica siempre. Si sí, ¿lo usa una sola app o varias? Una sola: herramienta propia. Varias: servidor MCP. Y antes de todo eso, fijate si una herramienta integrada ya lo resuelve.
Pregunta rápida
Una pregunta del simulacro sobre este dominio. Cuenta para tu progreso.
A hospital's IT team is prototyping an assistant on the Claude API that answers staff questions about bed availability. Bed data lives in an internal REST service reachable only from the hospital's private network, behind the corporate VPN.
A developer enabled Anthropic's web fetch tool and asked Claude to fetch the service's internal URL, assuming built-in tools can reach any endpoint. Every attempt fails. The developer is now considering pasting a nightly export of bed data into the system prompt instead.
Bed availability changes every few minutes, and the prototype must be demoed to ward managers next month.
What should the team do?