Frameworks de agentes
El servidor MCP de Criora en https://criora.com/mcp funciona en cualquier framework de agentes que hable el Model Context Protocol mediante Streamable HTTP. No necesita cuenta ni clave. Cada ejemplo de abajo da a un agente todas las herramientas de Criora, y cada uno se ejecutó contra el servidor en producción con las versiones de biblioteca que indica. API de datos y agentes de IA enumera las herramientas y lo que responde cada una.
LangChain
pip install langchain langchain-anthropic langchain-mcp-adapters
import asyncio
from langchain.agents import create_agent
from langchain_mcp_adapters.client import MultiServerMCPClient
CRIORA = {"transport": "streamable_http", "url": "https://criora.com/mcp"}
async def main():
tools = await MultiServerMCPClient({"criora": CRIORA}).get_tools()
agent = create_agent("anthropic:claude-sonnet-5-5", tools)
question = "Is it safe to travel to Manila next week?"
answer = await agent.ainvoke({"messages": question})
print(answer["messages"][-1].content)
asyncio.run(main())
Ejecutado con langchain 1.4 y langchain-mcp-adapters 0.3. Cualquier modelo de chat que admita LangChain puede ocupar el lugar del modelo de Claude.
LlamaIndex
pip install llama-index-core llama-index-tools-mcp llama-index-llms-anthropic
import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.anthropic import Anthropic
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
async def main():
criora = McpToolSpec(client=BasicMCPClient("https://criora.com/mcp"))
tools = await criora.to_tool_list_async()
agent = FunctionAgent(tools=tools, llm=Anthropic(model="claude-sonnet-5-5"))
question = "Which countries face the most dangerous weather this week?"
print(await agent.run(question))
asyncio.run(main())
Ejecutado con llama-index-core 0.14 y llama-index-tools-mcp 0.4.
OpenAI Agents SDK
pip install openai-agents
import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
async def main():
params = {"url": "https://criora.com/mcp"}
async with MCPServerStreamableHttp(name="Criora", params=params) as criora:
agent = Agent(
name="Risk analyst",
instructions="Answer with Criora's data and name its sources.",
mcp_servers=[criora],
)
question = "How exposed is Rotterdam to river flooding by 2050?"
result = await Runner.run(agent, question)
print(result.final_output)
asyncio.run(main())
Ejecutado con openai-agents 0.20. Para que la Responses API de OpenAI llame al servidor por sí misma, sin cliente MCP en tu código, pasa al agente HostedMCPTool(tool_config={"type": "mcp", "server_label": "criora", "server_url": "https://criora.com/mcp", "require_approval": "never"}) en tools.
n8n
- Añade un nodo AI Agent y conéctale un modelo de chat.
- En Tool, añade un MCP Client Tool.
- Pon Endpoint en
https://criora.com/mcp, Server Transport en HTTP Streamable, Authentication en None y Tools to Include en All.
Conviene saber
- Las respuestas son concisas por defecto: los campos que responden a la pregunta. Pasa
response_format: "detailed"a una herramienta para obtener todos los campos, como la procedencia de cada informe o el texto completo de un aviso. - Cada respuesta nombra sus fuentes, y una respuesta sobre peligros indica en
creditla licencia y la atribución de cada una. Cuando publiques lo que encontró un agente, cita a Criora y a la fuente que nombra, como explica API de datos y agentes de IA en el apartado de fuentes y atribución. - El servidor es de solo lectura y su uso es gratuito según los Términos de servicio.