Objetivo del tema
Explorar las herramientas que vienen incluidas en Gemini CLI: desde operaciones de archivos hasta ejecución de comandos, obtención de datos web, administración de contextos y extensiones mediante servidores MCP.
Conocer sus parámetros y flujos de aprobación te permitirá sacar provecho a las tareas automatizadas sin perder seguridad.
El core expone un conjunto de herramientas base:
Nombre | Uso principal | Instancias típicas |
---|---|---|
read_file / write_file / replace |
Leer, crear, modificar archivos de texto. | Auditar código, generar snippets, aplicar diffs propuestos. |
read_many_files |
Leer lotes de archivos con patrones y exclusiones. | Resumir proyectos, analizar varios módulos a la vez, recopilar evidencias. |
run_shell_command |
Ejecutar comandos del sistema con aprobación explícita. | Consultar git status , correr tests, generar builds. |
web_fetch |
Descargar contenido HTML/JSON binario accesible por URL. | Traer documentación externa, APIs públicas, archivos adjuntos. |
google_web_search |
Realizar búsquedas web (cuando está habilitado). | Mantenerse al día, buscar referencias, explorar noticias. |
save_memory |
Guardar notas o hallazgos en la memoria de la sesión. | Registrar decisiones, checklist de tareas, resumen de reuniones. |
Herramientas MCP | Exponer servicios personalizados a través de servidores MCP. | Integrar bases de datos, APIs internas, repositorios no locales. |
read_file
path
(obligatorio, absoluto), annotate
(opcional, resaltar fragmentos).write_file
path
, new_content
(string), confirmWrite
(flag interno).replace
path
, old_string
, new_string
.old_string
y la reemplaza.old_string
ambiguo.read_many_files
paths
(lista de rutas o patrones), include
, exclude
, max_files
, useDefaultExcludes
.**/*.ts
, src/**
), respetando exclusiones por defecto (.git
, node_modules
...).max_files
para evitar respuestas muy voluminosas.run_shell_command
Esta herramienta permite que el modelo ejecute comandos en tu entorno, por lo que está protegida por confirmaciones explícitas y restricciones.
command
, timeoutSeconds
, collectStdout
, collectStderr
.tools.core
/ tools.exclude
.trustedFolders
y sandbox para evitar que scripts maliciosos accedan a rutas no confiables.!git status
!npm test
web_fetch
y google_web_search
web_fetch
status_code
, headers
, contenido en texto y, si es binario, en base64.google_web_search
save_memory
/memory add
).title
, content
, opcionalmente etiquetas./memory show
y refresca el contexto con /memory refresh
.Gemini CLI puede conectarse a servicios externos mediante el protocolo Model Context Protocol (MCP). Esto permite extender las herramientas disponibles más allá del entorno local.
settings.json
bajo mcpServers
, indicando el comando a ejecutar y argumentos.gemini mcp init # Inicializa la sección en settings.json
gemini mcp add --command "./servidor.sh" --args "--modo=demo"
servidor__tool
), evitando colisiones.Controla cuidadosamente los permisos del usuario que ejecuta el servidor MCP. Aunque el CLI solicite aprobaciones, el servidor puede tener acceso a recursos sensibles.
Conclusión: las herramientas integradas hacen que Gemini CLI sea un asistente completo: puede inspeccionar tu código, ejecutar comandos, traer información de la web, gestionar memoria y conectarse a servicios externos mediante MCP. Configúralas de forma consciente para equilibrar productividad y seguridad.