Frameworki agentów
Serwer MCP Criora pod adresem https://criora.com/mcp działa w każdym frameworku agentów, który obsługuje Model Context Protocol przez Streamable HTTP. Nie wymaga konta ani klucza. Każdy przykład poniżej daje agentowi wszystkie narzędzia Criora, a każdy został uruchomiony na działającym serwerze z podanymi wersjami bibliotek. Narzędzia i to, na co odpowiada każde z nich, opisuje strona API danych i agenci AI.
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())
Uruchomione z langchain 1.4 i langchain-mcp-adapters 0.3. Zamiast modelu Claude można użyć dowolnego modelu czatu obsługiwanego przez 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())
Uruchomione z llama-index-core 0.14 i 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())
Uruchomione z openai-agents 0.20. Aby samo Responses API OpenAI wywoływało serwer, bez klienta MCP w Twoim kodzie, przekaż agentowi zamiast tego HostedMCPTool(tool_config={"type": "mcp", "server_label": "criora", "server_url": "https://criora.com/mcp", "require_approval": "never"}) w tools.
n8n
- Dodaj węzeł AI Agent i podłącz do niego model czatu.
- W sekcji Tool dodaj MCP Client Tool.
- Ustaw Endpoint na
https://criora.com/mcp, Server Transport na HTTP Streamable, Authentication na None, a Tools to Include na All.
Warto wiedzieć
- Domyślnie odpowiedzi są zwięzłe: tylko pola, które odpowiadają na pytanie. Przekaż narzędziu
response_format: "detailed", aby dostać wszystkie pola, na przykład pochodzenie każdego komunikatu albo pełny tekst ostrzeżenia. - Każda odpowiedź podaje swoje źródła, a odpowiedź o zagrożeniach podaje w
creditlicencję i wymagane oznaczenie autorstwa każdego z nich. Publikując to, co znalazł agent, wskaż Criora i podane źródło, jak opisuje strona API danych i agenci AI w części o źródłach i oznaczaniu autorstwa. - Serwer służy tylko do odczytu i jest bezpłatny zgodnie z Regulaminem.