Criora

Framework per agenti

Il server MCP di Criora all’indirizzo https://criora.com/mcp funziona in qualsiasi framework per agenti che parli il Model Context Protocol tramite Streamable HTTP. Non servono account né chiavi. Ogni esempio qui sotto dà a un agente tutti gli strumenti di Criora, e ognuno è stato eseguito sul server in produzione con le versioni delle librerie indicate. API dei dati e agenti AI elenca gli strumenti e a cosa risponde ciascuno.

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())

Eseguito con langchain 1.4 e langchain-mcp-adapters 0.3. Al posto del modello Claude va bene qualsiasi modello di chat supportato da LangChain.

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())

Eseguito con llama-index-core 0.14 e 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())

Eseguito con openai-agents 0.20. Perché sia la Responses API di OpenAI a chiamare il server, senza client MCP nel tuo codice, passa invece all’agente HostedMCPTool(tool_config={"type": "mcp", "server_label": "criora", "server_url": "https://criora.com/mcp", "require_approval": "never"}) in tools.

n8n

  1. Aggiungi un nodo AI Agent e collegagli un modello di chat.
  2. In Tool, aggiungi un MCP Client Tool.
  3. Imposta Endpoint su https://criora.com/mcp, Server Transport su HTTP Streamable, Authentication su None e Tools to Include su All.

Da sapere

  • Le risposte sono sintetiche per impostazione predefinita: i campi che rispondono alla domanda. Passa response_format: "detailed" a uno strumento per avere tutti i campi, come la provenienza di ogni bollettino o il testo completo di un’allerta.
  • Ogni risposta indica le sue fonti, e una risposta sui pericoli riporta in credit la licenza e l’attribuzione di ciascuna. Quando pubblichi ciò che un agente ha trovato, cita Criora e la fonte indicata, come spiega API dei dati e agenti AI nella parte su fonti e attribuzione.
  • Il server è di sola lettura e gratuito secondo i Termini di servizio.
Guarda sulla mappa