Goro

Una conexión MCP que le da a tu agente 62 herramientas del mundo real: búsqueda web, scraping, datos sociales, enriquecimiento, imagen, video y voz. Pago por llamada, $1 gratis para empezar.

Documentación

Para agentes de IA: MCP

Añade Goro a Claude, Cursor o cualquier cliente MCP como conector, y tu agente obtiene todo el catálogo como seis herramientas.

Goro ejecuta un servidor MCP remoto. Añade una URL a tu cliente y el agente obtiene seis herramientas que alcanzan todo el catálogo, con el mismo saldo y los mismos precios que la API HTTP.

https://mcp.usegoro.ai/mcp

1. Añade el conector

En Claude, Cursor o cualquier cliente MCP que admita servidores remotos, añade un conector personalizado con la URL anterior. El cliente se encarga del resto: se registra, abre la pantalla de consentimiento de Goro en un navegador y guarda el token que recibe.

El transporte es HTTP Streamable. El servidor no tiene estado por solicitud, por lo que no hay sesión que mantener viva ni nada que reconectar.

2. Autorízalo

La pantalla de consentimiento solicita una clave API de Goro, la goro_live_ de app.usegoro.ai. Esa clave identifica desde qué espacio de trabajo y saldo gastará el conector. Pégala una vez, aprueba y el cliente estará conectado.

Existen dos scopes, y un cliente que no solicite una concesión más restringida obtiene ambos:

ÁmbitoPermisos
tools:readdiscover_tools, inspect_tool, create_upload, get_run, wallet_balance, remember_tool_choice, forget_tool_choice
tools:runrun_tool

Los tokens de acceso duran una hora y el cliente los renueva silenciosamente. Los tokens de actualización duran 30 días y rotan en cada uso.

¿Construyes el cliente tú mismo en lugar de usar uno existente? El flujo OAuth está documentado de principio a fin en el [inicio rápido de OAuth](/guide/quickstart-oauth).

3. Las ocho herramientas

HerramientaÁmbitoCuándo lo llama el agente
discover_toolstools:readPrimero, cuando la tarea necesite datos en vivo o externos y el slug exacto sea desconocido
inspect_tooltools:readAntes de ejecutar una herramienta cuya forma de entrada no se conozca ya
create_uploadtools:readAntes de run_tool, cuando la herramienta necesite un archivo. No gasta nada
run_tooltools:runPara ejecutar realmente una herramienta. Esto gasta dinero
get_runtools:readPara consultar una llamada run_tool que devolvió un run_id
wallet_balancetools:readPara comprobar los fondos disponibles, o después de un error insufficient_funds
remember_tool_choicetools:readSolo cuando dices explícitamente que una elección debe mantenerse. No gasta nada
forget_tool_choicetools:readCuando quieras que se te ofrezca la elección de nuevo

Esa es la lista completa. No hay superficie MCP por herramienta: las 70 herramientas del catálogo se alcanzan a través de run_tool por slug, lo que mantiene la lista de herramientas lo suficientemente pequeña para que un agente pueda razonar sobre ella.

Lo que ve el agente

discover_tools toma un query en lenguaje natural y un limit opcional (por defecto 5, máximo 20). Cada resultado incluye un slug, orientación sobre cuándo usarlo, su precio y una entrada de muestra rellenable, por lo que el agente normalmente puede omitir inspect_tool.

Quién elige la herramienta

Tú lo haces. Goro nunca elige una: run_tool toma un slug exacto, por lo que cuando varias herramientas pueden hacer un trabajo, la elección ocurre en el agente.

Por defecto, no se le permite tomar esa elección en silencio. discover_tools devuelve un campo choose que le dice al agente que te muestre los candidatos con sus precios y pregunte cuál quieres. Eso importa porque los precios no son cercanos: cinco herramientas pueden hacerte una imagen, desde $0.01 a $0.27 por llamada, y que te cobren por una que nunca viste no es una buena sorpresa.

Tres cosas omiten la pregunta:

  • Tú nombraste la herramienta. "Usa nano banana pro para esto" ya es una respuesta.
  • Solo una herramienta coincide. No hay nada entre lo que elegir, aunque el agente debería decirte lo que está a punto de gastar.
  • Dijiste que siempre uses una. Dile al agente "siempre usa X para imágenes", "recuerda eso" o "deja de preguntarme", y llama a remember_tool_choice. A partir de entonces, discover_tools devuelve your_preference para esa categoría y el agente la usa sin preguntar.

Una preferencia se guarda solo cuando pides una. Elegir una herramienta para un solo trabajo no es una instrucción permanente, y tratarla como tal significaría que nunca más se te ofrezca la opción más barata. Una elección guardada por categoría (imagen, video, voz, búsqueda, social, mapas, personas, comercio electrónico). Di que quieres elegir de nuevo y el agente llama a forget_tool_choice.

Esto es una instrucción para el agente, no un bloqueo. Goro puede decirle a un cliente que te pregunte y puede negarse a adivinar en tu nombre, pero no puede entrar en el cliente y forzar un aviso. Un agente bien comportado lo sigue; trata `remember_tool_choice` como el control confiable, ya que ese se aplica en el lado del servidor.

La API HTTP y la CLI no se ven afectadas: ambas ya requieren que nombres un slug, por lo que no hay nada que elegir para nadie.

run_tool bloquea hasta unos 25 segundos. Una herramienta rápida devuelve sus filas en esa misma respuesta. Una más lenta devuelve un run_id y una instrucción explícita de consultar get_run hasta que el estado sea terminal.

wallet_balance devuelve el saldo disponible y un top_up_url, que es lo que un agente debería mostrar a un humano cuando se agotan los fondos.

Envío de un archivo

Una regla, y importa más de lo que parece: un agente nunca debe leer un archivo en la conversación para enviarlo. Los argumentos de las herramientas pasan por la ventana de contexto exactamente igual que los resultados de las herramientas, por lo que una fotografía de 3 MB enviada como image_base64 es aproximadamente un millón de tokens, se trunca y falla la ejecución con algo que parece corrupción de archivo.

create_upload es la forma de evitarlo. Toma un content_type, devuelve un identificador corto más una URL para hacer PUT del archivo, e incluye el curl exacto a ejecutar. El agente sube el archivo con su propio shell, luego pasa el identificador como image_handle en run_tool. Los bytes nunca entran en la conversación, el límite pasa de 3 MB a 10 MB, y el identificador en sí tiene unos treinta caracteres. No reduzcas la imagen para que quepa: el tamaño nunca fue el problema que resuelve la ruta de subida. Subidas documenta todo el flujo.

4. Errores que encontrará un agente

Los errores de las herramientas llevan los mismos code y message que la API HTTP, por lo que un conjunto de instrucciones cubre ambas superficies.

codeQué debe hacer el agente
validation_errorLee el array errors, corrige cada campo, reintenta una vez
insufficient_fundsDetente. Dile al humano la cantidad y el top_up_url
budget_exceededDetente. La cartera está bien, un límite de gasto está bloqueando. No pidas una recarga
not_foundEl slug no existe. Ejecuta discover_tools de nuevo
forbiddenAl token le falta el scope que la herramienta necesita. Reautoriza
provider_errorLa herramienta falló y no se cobró nada. Seguro reintentar

Lo que esto comparte con la API

Todo. Las herramientas MCP son envoltorios delgados sobre los mismos caminos de código que /v1/discover, /v1/inspect, /v1/uploads, /v1/run, /v1/runs/{id} y /v1/wallet/balance. Mismo catálogo, mismas retenciones, mismos cargos, mismo libro mayor.

Las filas llegan en la respuesta run_tool, o en la consulta get_run que encuentra la ejecución terminada. Consultar una ejecución terminada es la forma admitida de recoger un resultado lento. Los resultados se eliminan una vez recogidos, y después de 24 horas en cualquier caso, así que haz que el agente anote cualquier cosa que necesite más tarde. Cuando el resultado sea un enlace de medios, de una herramienta de voz o imagen, haz que también descargue el archivo: esos enlaces expiran en el mismo reloj o en el del proveedor del modelo.

Los endpoints detrás de las seis herramientas.