En un artículo anterior, les mostramos cómo integrar las API de búsqueda y lectura de Jina AI con DeepSeek R1 para crear un agente de investigación profunda, pero requería una gran cantidad de código personalizado e ingeniería de *prompts* para que funcionara. En este artículo, haremos lo mismo utilizando el Protocolo de Contexto del Modelo (MCP), que utiliza mucho menos código personalizado y es portable a diferentes LLM, pero aún está sujeto a algunas dificultades en el camino.
Para construir nuestro agente, trabajaremos con nuestro servidor MCP recientemente lanzado, que proporciona acceso a las API de Jina Reader, *Embeddings* y *Reranker*, junto con herramientas de URL a Markdown, búsqueda web, búsqueda de imágenes y *embeddings*/*reranker*.
tagAgentes y Protocolo de Contexto del Modelo
Se ha escrito mucho sobre agentes e IA agentic últimamente, a menudo ya sea exagerándolos (como Gartner, que espera que para 2028 alrededor del 15 por ciento de las decisiones laborales diarias sean tomadas de forma autónoma por agentes de IA) o criticándolos (como Vortex, que afirma que la mayoría de las propuestas de IA agentic carecen de valor significativo o retorno de la inversión).
Pero, ¿qué son siquiera los agentes? Una de las mejores definiciones (de Chip Huyen vía Simon Willison) es:
[Los agentes son] sistemas LLM que planifican un enfoque y luego ejecutan herramientas en un bucle hasta que se alcanza un objetivo
Esa es la definición que utilizaremos para esta publicación de blog. ¿Y esas herramientas que utiliza el agente? Están conectadas con el Protocolo de Contexto del Modelo. Ese protocolo, originalmente desarrollado por Anthropic, se está convirtiendo en la *lingua franca* para conectar los LLM a herramientas y fuentes de datos externas. Esto significa que los agentes pueden encadenar múltiples herramientas en un solo flujo de trabajo. El resultado son agentes que pueden planificar, razonar y actuar orquestando un conjunto de API.

Por ejemplo, podríamos construir un agente de optimización de precios que recopile los precios de los productos de la competencia para la comparación y la optimización de precios. Luego podríamos equipar al agente con el servidor MCP de Jina AI, un *prompt* y una lista de productos de la competencia, permitiéndole generar un informe procesable con datos extraídos y enlaces a las fuentes. Al usar servidores MCP adicionales, el agente podría exportar ese informe a formato PDF, enviarlo por correo electrónico a las partes interesadas, almacenarlo en una base de conocimiento interna y más.
En este artículo, construiremos tres agentes de ejemplo con nuestro servidor MCP, que proporciona las siguientes herramientas:
primer- Obtener información contextual actual para respuestas localizadas y conscientes del tiemporead_url- Extraer contenido limpio y estructurado de páginas web como Markdown a través de la API Reader (también disponible como una versión paralela)capture_screenshot_url- Capturar capturas de pantalla de alta calidad de páginas web a través de la API Readerguess_datetime_url- Analizar páginas web para la última fecha de actualización/publicación con puntajes de confianzasearch_web- Buscar en toda la web información y noticias actuales a través de la API Reader (también disponible como una versión paralela)search_arxiv- Buscar artículos académicos y preimpresiones en el repositorio arXiv a través de la API Reader (también disponible como una versión paralela)search_images- Buscar imágenes en toda la web (similar a Google Images) a través de la API Readerexpand_query- Expandir y reescribir las consultas de búsqueda web basadas en el modelo de expansión de consultas a través de la API Readersort_by_relevance- Reordenar los documentos por relevancia para una consulta a través de la API Rerankerdeduplicate_strings- Obtener las cadenas semánticamente únicas top-k a través de la API Embeddings y la optimización submodulardeduplicate_images- Obtener las imágenes semánticamente únicas top-k a través de la API Embeddings y la optimización submodular
También necesitaremos un cliente MCP (VS Code con Copilot, ya que es gratuito y ampliamente utilizado), y un LLM (Claude Sonnet 4, ya que dio los mejores resultados en nuestras pruebas).
tagUsando el Servidor MCP de Jina AI
MCP ha sido descrito como un sistema de *plugins* universal, que soporta múltiples programas como Claude Code, VS Code, Google Gemini CLI y los front-ends de escritorio para Claude y ChatGPT. Conectar un servidor MCP es típicamente solo una cuestión de editar su archivo de configuración para incluir lo siguiente:
{
"mcpServers": {
"jina-mcp-server": {
"url": "https://mcp.jina.ai/sse",
"headers": {
"Authorization": "Bearer ${JINA_API_KEY}" // optional
}
}
}
}
Para probar que el servidor MCP funciona, usemos un *prompt* simple:
Dame un resumen de la última publicación en jina.ai news en la
forma de una sola estrofa de una canción marineraNuestro agente hace lo siguiente:
- Llama a
read_urlpara extraer https://jina.ai/news - Llama a
search_webcon la consulta"site:jina.ai \\"Optimizing GGUFs for Decoder-Only Embedding Models\\" August 2025" - Llama a
read_urlpara extraer la publicación del blog - Genera una canción marinera de una estrofa a partir de los datos extraídos:
🎵 *Con la melodía de una canción marinera tradicional* 🎵
**"El cuento del marinero GGUF"**
*¡Oh, navegaron con sus *embeddings*, tres mil millones fuertes y verdaderos,*
*A través de aguas cuantificadas profundas y azules,*
*Con vientos L4 GPU a sus espaldas,*
*¡Cuatro mil *tokens* por segundo en su camino!*
*¡Iza, marineros, despojen la torre de visión,*
*¡Porque las optimizaciones GGUF son los mejores puertos de la ciudad!*
Ahora que hemos visto que funciona en la práctica, pongámoslo realmente a prueba construyendo algunos ejemplos útiles del mundo real.
tagEjemplo 1: Resúmenes diarios de artículos de arXiv
Leer los últimos artículos académicos es parte de nuestro trabajo en Jina AI. Pero filtrar los que son realmente relevantes y extraer la información más importante de cada uno puede ser una verdadera tarea. Entonces, para nuestro primer experimento, automatizamos esa tarea creando un resumen diario de los artículos recientes más relevantes. Aquí está el *prompt* que usamos:
Usando solo las herramientas de Jina, extrae de arxiv los artículos sobre
LLM, *reranking* y *embeddings* publicados en las últimas 24
horas, luego desduplica y reordena por relevancia, mostrando
los 10 principales. Para cada uno, extrae el PDF y extrae el
abstract. Luego resúmelo y organiza la información que
recopilaste en una "actualización diaria". Incluye un enlace y fecha de publicación
para cada artículo.Nuestro agente:
- Busca artículos relevantes en arxiv.org (usando la herramienta
parallel_search_arxiv) con las cadenas de consultalarge language models LLM,reranking information retrieval,embeddings vector representations,transformer neural networksynatural language processing NLP - Elimina duplicados (usando la herramienta
deduplicate_strings) - Reordena los resultados (usando la herramienta
sort_by_relevance), mostrando solo los diez resultados más relevantes. - Recupera las URLs a los PDFs para los resultados reordenados (usando
parallel_read_url), divididos en dos lotes de cinco. - Lee cada URL (usando la herramienta
read_url, llamada diez veces) - Genera un informe detallado, que incluye resúmenes, tendencias e ideas, implicaciones para la investigación futura, lagunas en la investigación y conclusiones.

Ocasionalmente, nos encontramos con el problema de que el agente no limitaba sus resultados a las últimas 24 horas. Al indicarle una vez más que siguiera esa instrucción, se obtuvo el informe anterior.
tagEjemplo 2: Agente de investigación de mercado
Para nuestro próximo experimento, haremos que nuestro agente escriba un informe de inteligencia competitiva sobre una destacada empresa de videojuegos (nombre redactado). Aquí está nuestro Prompt:
Cree un informe exhaustivo de inteligencia competitiva para
$GAME_COMPANY centrándose en sus actividades recientes en juegos
indie retro. Utilice las herramientas de Jina para buscar las últimas noticias,
comunicados de prensa y anuncios, y luego extraiga contenido limpio
de sus comunicaciones oficiales. Clasifique todos los hallazgos por
relevancia comercial y elimine cualquier información duplicada.
Presente información sobre su dirección estratégica, producto
lanzamientos y cambios en el posicionamiento en el mercado durante el último
trimestreNuestro agente:
- Ejecuta varios bucles de
search_webyread_urlpara recopilar investigación. - Reclasifica sus hallazgos utilizando
sort_by_relevance, mostrando los diez mejores resultados. - Genera un informe de inteligencia de mercado, que incluye un resumen ejecutivo, desarrollos comerciales críticos (clasificados por importancia estratégica), análisis de decisiones estratégicas y muchas otras secciones.

tagEjemplo 3: Investigación sobre cumplimiento legal
Como dijimos anteriormente, uno de los aspectos útiles de MCP es que podemos usar varios servidores para obtener resultados más complejos. En este caso, estamos usando el Servidor MCP de lector de PDF además del nuestro para crear un informe de investigación sobre el estado actual del cumplimiento legal de la IA en la UE y los EE. UU. Utilizamos el Prompt:
Desarrolle una sección de base de conocimientos centrada en las noticias
sobre cumplimiento legal de la IA y los errores comunes en la UE y los EE. UU.
en este momento. El informe debe estar dirigido a las empresas emergentes de IA en la UE.
Aplique ampliamente las herramientas Jina MCP: realice búsquedas web
paralelas y lecturas de URL para extraer de manera eficiente contenido
detallado, elimine las superposiciones semánticas y vuelva a clasificar para resaltar
la información más autorizada. Cite todas las fuentes con
URL y fechas de publicación o actualización. Organice el contenido
claramente y produzca un documento PDF formateado listo para
su uso inmediato.Nuestro agente:
- Realiza una operación de búsqueda paralela de información general (utilizando
parallel_search) con las consultasEU AI Act 2024 compliance requirements startups legal obligations August 2025,USA AI regulation Biden executive order compliance requirements 2024 2025,AI startup legal pitfalls Europe GDPR data protection compliance 2025,AI liability insurance compliance requirements EU USA startups 2024 2025yAI ethics governance framework startups EU USA regulatory updates 2025, devolviendo 25 resultados para cada consulta. - Elimina las URL duplicadas (utilizando
deduplicate_strings) - Lee el contenido de cuatro URL (utilizando
parallel_read_url) - Realiza una
parallel_searchadicional para obtener información más específica, con las consultasAI startup common compliance pitfalls mistakes EU USA 2025,AI liability insurance cybersecurity startup requirements 2025,AI bias discrimination testing requirements EU AI Act compliance startups,AI data protection GDPR violations penalties startups 2025 - Utiliza
parallel_read_urlpara leer otras cuatro URL - Genera un informe en formato Markdown y lo convierte en un PDF de 18 páginas

También tuvimos que solicitar un poco más para mejorar los metadatos y el formato del PDF, así como para que fuera más un informe que una lista con viñetas muy larga, pero eso es algo que integraríamos en el Prompt para futuros informes.
tagEnfoques alternativos
Antes de optar por Claude Sonnet 4, probamos una variedad de modelos de Ollama que admitían herramientas, incluidos Qwen3:30b, Qwen2.5:7b y llama3.3:70b. Para el cliente MCP, inicialmente usamos ollmcp antes de pasar a VS Code. Todos los modelos anteriores fallaron de la misma manera, sin importar cuán explícitamente los solicitamos con las herramientas y cómo usarlas: cuando se les pedía que realizaran incluso una tarea simple, como recuperar la última publicación de blog de Jina AI, cada modelo (sin importar el tamaño o el proveedor) consistentemente:
- Entraba en un bucle de razonamiento extenso, constantemente dudando de sí mismos (y consumiendo Tokens) hasta que finalmente resolvían simplemente hacer lo que se les decía
- Llamaba a
read_urlpara https://jina.ai/news - Inspeccionaba los títulos y extractos de las publicaciones de blog
- Alucinaba por completo que habían extraído la última publicación (sin siquiera llamar a
read_urlpara esa página) - Presentaba un resumen basado en el extracto del resultado de búsqueda superior (no el contenido real de la página)
- Cuando se les interrogaba, afirmaba que habían seguido las instrucciones exactamente y habían extraído la página según lo solicitado
Los modelos de las familias Claude, GPT y Gemini proporcionaron una salida aceptable, aunque rápidamente nos decidimos por Claude Sonnet 4, ya que hacía un uso extensivo de las herramientas (a menudo recurriendo a opciones de herramientas paralelas en lugar del enfoque en serie favorecido por GPT-4.1) y generaba una salida más larga y mejor estructurada.
tagConclusión
Todavía hay mucha imprecisión en torno al término "IA agentic", pero MCP representa un paso hacia la conversión en algo sólido y práctico. En nuestra experiencia, los agentes no están del todo listos para el horario estelar todavía, siendo el LLM generalmente el eslabón débil, pero con un poco de ayuda y experimentación, es posible obtener buenos resultados. Dicho esto, cuando obtienes la combinación correcta de Prompt, LLM y servidores MCP, puedes ver a los agentes ejecutar de manera confiable tareas de varios pasos sin necesidad de código personalizado, algo que era mucho más difícil con modelos anteriores como DeepSeek (que no admiten herramientas), lo que requería más ingeniería manual y daba como resultado una integración frágil.
A pesar de estas limitaciones actuales, la trayectoria es prometedora. El ecosistema MCP está creciendo rápidamente, trayendo más integraciones y herramientas que facilitan la combinación de API, como las de Jina, o el intercambio de nuevos LLM a medida que estén disponibles. A medida que mejoran los modelos subyacentes y madura el ecosistema de herramientas, la brecha entre los agentes experimentales y la IA agentic lista para la producción continúa reduciéndose, lo que hace que las implementaciones sólidas sean cada vez más accesibles para aplicaciones del mundo real.








