← Vytvářejte agenty na Cloudflare / agents / tools
MCP
Agents mohou používat Model Context Protocol (MCP) jako klienty. Připojte agenta k externím serverům MCP, zjistěte nástroje, které tyto servery poskytují, a předejte tyto nástroje do volání modelu.
Používejte MCP, pokud chcete, aby agent:
- Volejte nástroje poskytované externími servery MCP.
- Používejte opakovaně nástroje napříč agenty, IDE a dalšími AI klienty.
- Připojte se ke službám, které již zpřístupňují endpoint MCP.
- Přidejte autorizaci OAuth nebo autorizaci založenou na tokenech pro přístup k externím nástrojům.
Pokud chcete místo toho vytvořit MCP server, přejděte na Model Context Protocol (MCP).
Základní vzor
Zavolejte addMcpServer() pro připojení ke vzdálenému MCP serveru a poté předejte this.mcp.getAITools() do AI SDK.
import { Agent } from "agents";
import { generateText } from "ai";
import { createWorkersAI } from "workers-ai-provider";
export class ToolAgent extends Agent {
async onStart() {
await this.addMcpServer("github", "https://mcp.github.com/mcp");
}
async onRequest(request) {
const workersai = createWorkersAI({ binding: this.env.AI });
const response = await generateText({
model: workersai("@cf/zai-org/glm-4.7-flash"),
prompt: "Use available tools to summarize the latest issue activity.",
tools: this.mcp.getAITools(),
});
return new Response(response.text);
}
}import { Agent } from "agents";
import { generateText } from "ai";
import { createWorkersAI } from "workers-ai-provider";
export class ToolAgent extends Agent<Env> {
async onStart() {
await this.addMcpServer("github", "https://mcp.github.com/mcp");
}
async onRequest(request: Request) {
const workersai = createWorkersAI({ binding: this.env.AI });
const response = await generateText({
model: workersai("@cf/zai-org/glm-4.7-flash"),
prompt: "Use available tools to summarize the latest issue activity.",
tools: this.mcp.getAITools(),
});
return new Response(response.text);
}
}Pokud server vyžaduje OAuth, addMcpServer() vrátí stav autentizace a autorizační URL. Připojení se uloží do Úložiště SQL.
Konfigurace
U veřejných serverů MCP není potřeba žádná konfigurace vazby. URL adresy serverů, tokeny API nebo nastavení OAuth ukládejte jako proměnné prostředí nebo tajné klíče.
U serverů MCP, které vyžadují bearer tokeny nebo hlavičky Cloudflare Access, předejte při připojování vlastní přenosové hlavičky.
await this.addMcpServer("internal", this.env.MCP_SERVER_URL, {
transport: {
headers: {
Authorization: `Bearer ${this.env.MCP_TOKEN}`,
"CF-Access-Client-Id": this.env.CF_ACCESS_CLIENT_ID,
"CF-Access-Client-Secret": this.env.CF_ACCESS_CLIENT_SECRET,
},
},
});await this.addMcpServer("internal", this.env.MCP_SERVER_URL, {
transport: {
headers: {
Authorization: `Bearer ${this.env.MCP_TOKEN}`,
"CF-Access-Client-Id": this.env.CF_ACCESS_CLIENT_ID,
"CF-Access-Client-Secret": this.env.CF_ACCESS_CLIENT_SECRET,
},
},
});