INTEGRITY Документация

MCP

Agents могут использовать Model Context Protocol (MCP) в качестве клиентов. Подключите агента к внешним MCP-серверам, обнаружьте инструменты, которые предоставляют эти серверы, и передайте эти инструменты в вызовы модели.

Используйте MCP, если хотите, чтобы агент:

Чтобы вместо этого создать MCP-сервер, см. Model Context Protocol (MCP).

Базовый паттерн

Вызовите addMcpServer() чтобы подключиться к удалённому MCP-серверу, затем передайте this.mcp.getAITools() в 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);
	}
}

Если сервер требует OAuth, addMcpServer() возвращает состояние аутентификации и URL авторизации. Подключение сохраняется в принадлежащем агенту Хранилище SQL.

Конфигурация

Для публичных серверов MCP настройка привязки не требуется. Храните URL серверов, токены API или настройки OAuth как переменные окружения или секреты.

Для MCP-серверов, которым нужны bearer-токены или заголовки Cloudflare Access, при подключении передавайте пользовательские заголовки транспорта.

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,
		},
	},
});

McpClient API

Подключайте Agents к внешним MCP-серверам и используйте их инструменты, ресурсы и промпты.

Подключение к MCP-серверу

Создайте Agent, который подключается к внешнему MCP-серверу и использует его инструменты.

Используйте инструменты MCP с Code Mode

Используйте постепенное обнаружение, композицию на основе кода и устойчивые подтверждения с инструментами MCP.

Спецификация Model Context Protocol

Узнайте об открытом протоколе для подключения AI-приложений к внешним инструментам и данным.