Cloudflare adopta el MCP remoto: amplía las capacidades del agente de IA a Internet
en construcción AI
Aplicaciones y Agent
El círculo de protocolos de contexto de modelo (Model Context Protocol
, MCP
) se está convirtiendo en un tema candente. Gran parte del debate gira en torno a la instalación y ejecución en un ordenador local del MCP
Despliegue del servidor. Hace poco.Cloudflare
ha anunciado la compatibilidad con su plataforma para la construcción y el despliegue.a distancia MCP
que marca el MCP
Un importante punto de inflexión en la aplicación.
Cloudflare
Para simplificar MCP
El servidor está construido para introducir cuatro capacidades clave:
workers-oauth-provider
: aOAuth
que simplifica enormemente el proceso de autorización necesario para los servicios remotos.McpAgent
: integrado enCloudflare Agents SDK
Una clase en elMCP
Los detalles de teletransporte delmcp-remote
: una herramienta adaptadora que permite la conexión local sólo compatible conMCP
El cliente también puede comunicarse con elMCP
Interacción con el servidor.AI playground
a distanciaMCP
cliente (informática): una interfaz de chat en línea para conectarse directamente y probar a distanciaMCP
con controles de autenticación integrados.
Los desarrolladores pueden utilizar el Cloudflare
El código de ejemplo y el botón de despliegue proporcionados, en un abrir y cerrar de ojos, colocan un MCP
El servidor se despliega en el entorno de producción.
https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/ai/tree/main/demos/remote-mcp-server
A diferencia de lo que ocurría hasta ahora con el uso de MCP
son diferentes, el servidor remoto MCP
El servidor es de acceso público. Los usuarios solo tienen que iniciar sesión y conceder permisos mediante un proceso de autorización familiar.MCP
Clientes (por ejemplo AI Agent
) podrán acceder a las herramientas necesarias. Esto se considera un gran paso adelante. En los últimos meses, ha sido un reto llevar la codificación Agent
Conectar con el local MCP
han dado a los desarrolladores una primera muestra de su potencial, y los servidores de MCP
A su vez, se espera extender un modelo de trabajo similar a un grupo más amplio de usuarios, incluidos más escenarios de aplicaciones cotidianas para el consumidor. No se trata sólo de una diferencia de aplicación técnica, sino que podría anunciar AI Agent
Un cambio fundamental en el paradigma de las aplicaciones.
De lo local a lo remoto: un paso crítico para que MCP llegue a las masas
MCP
se está convirtiendo rápidamente en un protocolo universal que permite utilizar grandes modelos lingüísticos (LLM
La capacidad de ir más allá del simple razonamiento (inference
) y la generación de mejoras de recuperación (RAG
) que puede realizar operaciones que requieren acceso a recursos externos (por ejemplo, enviar correos electrónicos, desplegar código, publicar blogs, etc.). Esto hace que AI Agent
(MCP
Cliente) se puede acceder a través de un servicio externo (MCP
servidor) para interactuar con las herramientas y recursos proporcionados por el servidor.
Sin embargo, hasta la fecha, laMCP
se limitan a ejecutarse localmente. Si desea que el AI Agent
aprobar (una factura o inspección, etc.) MCP
Para acceder a una herramienta en la web, los desarrolladores suelen tener que configurar un servidor local en su propia máquina. Esto significa que no es posible utilizar una interfaz web o una aplicación móvil desde el MCP
También faltan mecanismos que permitan a los usuarios normales autenticarse y autorizarse.MCP
El servidor no está realmente "en línea".

fuera del sitio MCP
El soporte conectado cambia esta situación. Crea oportunidades para llegar a una gama más amplia de usuarios de Internet que son menos propensos a ir a una instalación local y ejecutar aplicaciones de escritorio sólo para utilizar el MCP
Servidor. Remoto MCP
soporte, como si se pasara del software de escritorio al Web
Transición del software. Los usuarios esperan trabajar continuamente en todos los dispositivos y que todo funcione cuando se conectan. Local MCP
Es cómodo para los desarrolladores, pero es la conexión remota la que hace que el MCP
El eslabón crítico que falta para que los servicios lleguen a todos los usuarios de Internet. Por supuesto, las conexiones remotas también deben tener en cuenta el posible impacto de la latencia de la red, que no es la misma que la local. stdio
La comunicación es diferente.

Autenticación y autorización "listas para usar" en MCP
comandante en jefe (militar) MCP
Empujar de local a remoto es algo más que cambiar la capa de transporte (del stdio
a fluido HTTP
). Cuando se construye una remota que requiere acceso a la información de la cuenta de usuario MCP
la autenticación (authentication
) y autorización (authorization
). Tiene que haber una forma de que los usuarios inicien sesión y demuestren su identidad, y tiene que haber una forma de que los usuarios controlen AI Agent
A qué se puede acceder cuando se utiliza el servicio.
MCP
La especificación utiliza el OAuth 2.0
para resolver este problema.OAuth
es un protocolo estándar que permite a los usuarios autorizar a las aplicaciones a acceder a su información o servicios sin compartir contraseñas. En el MCP
Escenario.MCP
El propio servidor reproduce OAuth Provider
papel. Sin embargo, la autoaplicación completa se ajusta a la MCP
formal OAuth
El proceso es bastante complejo y propenso a errores.Cloudflare
Los programas ofrecidos están diseñados para resolver este problema.
workers-oauth-provider
: Biblioteca de proveedores OAuth 2.1 personalizada para trabajadores de Cloudflare
Cuando el promotor está en el Cloudflare
desplegar sobre MCP
servidor cuando su Worker
Es posible utilizar workers-oauth-provider
Este nuevo TypeScript
para actuar como OAuth Provider
. La biblioteca encapsula el Worker
Código para API
Puntos finales (entre otros) MCP
server endpoints) añadió una capa de autorización.
MCP
El servidor recibe la información del usuario autenticado directamente como parámetro y no necesita realizar la validación o gestión de tokens por su cuenta. Al mismo tiempo, el desarrollador sigue teniendo pleno control sobre cómo se autentica el usuario: desde la pantalla de inicio de sesión (UI
) hasta qué proveedor de identidad elegir (p. ej. Google
, GitHub
(o construye tu propio sistema).
completa MCP OAuth
El proceso es el siguiente:

En este proceso, elMCP
El servidor es a la vez un servicio ascendente (p. ej. GitHub
, Google
(utilizado para enfatizar) OAuth
Los clientes, por su parte, están orientados a MCP
Clientes (por ejemplo AI Agent
(utilizado para enfatizar) OAuth
Servidor (Provider
). Los desarrolladores pueden utilizar cualquier proceso de autenticación upstream, y el workers-oauth-provider
seguro MCP
Cumplimiento del servidor MCP
Especificación de los requisitos de autorización para trabajar con una amplia gama de aplicaciones cliente y sitios web. Esto incluye la compatibilidad con el registro dinámico de clientes (RFC 7591
) y los metadatos del servidor de autorización (RFC 8414
). El uso de esta biblioteca reduce significativamente la complejidad del desarrollo y mejora la seguridad y la conformidad en comparación con la autoimplementación.
Interfaz OAuth sencilla y conectable
utilizar Cloudflare Workers
construir (algo abstracto) MCP
el desarrollador sólo tiene que proporcionar el archivo OAuth Provider
Ejemplos de vías relacionadas (autorización, tokens, puntos finales de registro de clientes), y MCP
Procesador para servidor y lógica de autenticación (handler
):
import OAuthProvider from "@cloudflare/workers-oauth-provider";
import MyMCPServer from "./my-mcp-server";
import MyAuthHandler from "./auth-handler";
export default new OAuthProvider({
apiRoute: "/sse", // MCP 客户端连接服务器的路由
apiHandler: MyMCPServer.mount('/sse'), // MCP 服务器实现
defaultHandler: MyAuthHandler, // 认证实现
authorizeEndpoint: "/authorize",
tokenEndpoint: "/token",
clientRegistrationEndpoint: "/register",
});
Esta abstracción facilita la inserción de lógica de autenticación personalizada. Por ejemplo, una aplicación que utilice el método GitHub
como proveedor de identidades MCP
que puede utilizarse implementando la función /callback
responder cantando /authorize
enrutamiento, integrándose en menos de 100 líneas de código.
¿Por qué los servidores MCP emiten su propio token?
En el diagrama de autorización anterior y MCP
Cabe destacar la parte de la norma relativa a la autorización MCP
El servidor enviará un mensaje al MCP
El cliente emite su propio Token
en lugar de pasar directamente el servicio ascendente del que procede el Token
.
Específicamente.Worker
El token de acceso obtenido en la fase previa (access token
) Almacenamiento cifrado (por ejemplo, mediante Workers KV
) y, a continuación, generar y emitir un nuevo Token
en beneficio de MCP
Cliente.workers-oauth-provider
La biblioteca gestiona este proceso automáticamente, y el código del desarrollador no necesita tocar directamente el token de subida de texto plano ni gestionar el propio almacenamiento, evitando así posibles riesgos de seguridad.
// 调用 completeAuthorization 时传入的 accessToken 会被加密存储,绝不会暴露给 MCP 客户端
// 一个新的、独立的 token 会在 /token 端点生成并提供给客户端
const { redirectTo } = await c.env.OAUTH_PROVIDER.completeAuthorization({
request: oauthReqInfo,
userId: login,
metadata: { label: name },
scope: oauthReqInfo.scope,
props: {
accessToken, // 加密存储,不发送给 MCP 客户端
},
})
return Response.redirect(redirectTo)
A primera vista, este enfoque indirecto parece más complejo. ¿Por qué está tan diseñado?
Al emitir su propio Token
(matemáticas) géneroMCP
Los servidores pueden imponer un control de acceso más preciso que los proveedores de acceso. Incluso cuando se emiten a MCP
del lado del cliente Token
comprometida, y el atacante obtiene acceso sólo a esa MCP
Permisos limitados concedidos explícitamente por el servidor (a través de su tools
), en lugar del acceso completo al servicio ascendente.
Por ejemplo, supongamos que MCP
El servidor solicita autorización al usuario para leer Gmail
Permisos de correo (mediante gmail.readonly scope
). Sin embargo, el servidor expone el tool
La funcionalidad es más limitada, ya que sólo permite leer la notificación de reserva de viaje de un remitente concreto para responder a preguntas como "¿A qué hora es la salida de mi hotel mañana?". etc. Los desarrolladores pueden añadir la función MCP
Esta restricción se aplica en el servidor. Si se emite al MCP
del lado del cliente Token
Robado, como el Token
Corresponde a MCP
en lugar del proveedor original (Google
), el atacante no puede utilizarlo para leer correos electrónicos arbitrarios y sólo puede llamar a la función MCP
herramientas específicas proporcionadas por el servidor.OWASP
Para sustituir el término "sobreagente" (Excessive Agency
) figura como construida AI
uno de los principales riesgos de la aplicación. Al emitir su propio Token
y la imposición de restricciones.MCP
El servidor puede restringir el acceso a la herramienta para proporcionar sólo la funcionalidad requerida por el cliente, siguiendo el principio del menor privilegio.
Otro ejemplo, basado en el GitHub
puede obligar a que sólo determinados usuarios accedan a una herramienta. En el siguiente ejemplo, sólo los usuarios de la lista blanca (geelen
) para ver y llamar al generateImage
que utiliza la herramienta Workers AI
Siga las instrucciones para generar una imagen:
import { McpAgent } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const USER_ALLOWLIST = new Set(["geelen"]); // 使用 Set 提高查找效率
export class MyMCP extends McpAgent<Props, Env> {
server = new McpServer({
name: "Github OAuth Proxy Demo",
version: "1.0.0",
});
async init() {
// 根据用户身份动态添加工具
if (USER_ALLOWLIST.has(this.props.login)) {
this.server.tool(
'generateImage',
'使用 flux-1-schnell 模型生成图像。',
{
prompt: z.string().describe('你想要生成的图像的文本描述。')
},
async ({ prompt }) => {
const response = await this.env.AI.run('@cf/black-forest-labs/flux-1-schnell', {
prompt,
steps: 8
});
// 检查 response.image 是否存在
if (!response.image) {
throw new Error("图像生成失败,未返回图像数据。");
}
return {
content: [{ type: 'image', data: response.image, mimeType: 'image/jpeg' }],
}
}
)
}
}
}
Introducción de McpAgent: compatible con el teletransporte actual y futuro
comandante en jefe (militar) MCP
El siguiente paso para sacar la máquina local es abrir la capa de transporte remota. La máquina local MCP
Los servidores suelen estar configurados con entradas y salidas estándar (stdio
) para comunicarse, pero que el MCP
a través de Internet, es necesario implantar un protocolo de teletransporte, que actualmente se basa en el proyecto de especificación HTTP
(utilizado como expresión nominal) Server-Sent Events (SSE)
.
Cloudflare
en su Agents SDK
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void McpAgent
se encarga de la complejidad del teletransporte. Lo hace en segundo plano utilizando la función Durable Objects
para mantener una conexión persistente, haciendo que el MCP
El cliente puede pasar el SSE
hacia MCP
El servidor envía el mensaje. El desarrollador no necesita escribir el código subyacente que gestiona la transmisión o la serialización. Una solución minimalista MCP
El servidor puede implementarse con sólo una docena de líneas de código:
import { McpAgent } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export class MyMCP extends McpAgent {
server = new McpServer({
name: "Demo",
version: "1.0.0",
});
async init() {
this.server.tool("add", "计算两个数字的和", { a: z.number(), b: z.number() }, async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }],
}));
}
}
Cabe señalar que, tras los debates comunitariosMCP
El teletransportador del pliego de condiciones se está revisando con planes para utilizar streamable HTTP
(Streamable HTTP
) sustituye al actual HTTP+SSE
Programa. Esto permitirá una asociación con la MCP
El servidor establece HTTP
y, opcionalmente, actualizar a SSE
El cliente puede enviar mensajes a diferentes puntos finales, eliminando la complejidad de tener que enviar mensajes a diferentes puntos finales.Cloudflare
indique McpAgent
Las clases evolucionarán con las actualizaciones de las especificaciones para admitir nuevas Streamable HTTP
que garantizan que los desarrolladores no tengan que reescribir el código para adaptarse a los cambios en los métodos de transmisión.
Esta consideración de la evolución futura de los protocolos de transmisión es igualmente importante. En la actualidad, la gran mayoría de MCP
Servidor Exposición principal tools
En esencia, son simples llamadas a procedimientos remotos (RPC
), que puede proporcionar la transmisión sin estado. Pero el más complejo "man-in-the-loop" (human-in-the-loop
) y Agent
Escenarios de interacción que requerirán prompts
responder cantando sampling
et al. (y otros autores) MCP
Soporte conceptual. Estos escenarios que requieren una comunicación bidireccional y en tiempo real son difíciles de implementar eficientemente sin una capa de transporte bidireccional. Para entonces, laCloudflare
Plataforma,Agents SDK
responder cantando Durable Objects
Todo compatible de forma nativa WebSockets
La capacidad de comunicación full-duplex, bidireccional y en tiempo real ofrece la posibilidad de futuras comunicaciones más avanzadas. MCP
Sentar las bases para las aplicaciones.
Servidor MCP Stateful con funciones de Agente
existe Cloudflare
enlace ascendente MCP
Cuando el servidor, cada MCP
Las sesiones de los clientes están controladas por un Durable Object
Apoyo (a través de Agents SDK
). Esto significa que cada sesión puede gestionar y persistir su propio estado, e incluso puede tener su propio SQL
Base de datos.
Esto prepara el terreno para construir MCP
El servidor abre la puerta.MCP
Los servidores ya no son sólo un lugar para las aplicaciones cliente y las aplicaciones externas. API
capas de transición sin estado entre ellas, que a su vez pueden ser aplicaciones con estado: por ejemplo, juegos, procesos de pago con carritos de la compra, grafos de conocimiento persistentes, etc. En la Cloudflare
Arriba.MCP
El potencial de los servidores va mucho más allá de actuar como REST API
de la parte delantera.
Se utiliza un sencillo ejemplo de contador para comprender los principios básicos de su funcionamiento:
import { McpAgent } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
type State = { counter: number }
export class MyMCP extends McpAgent<Env, State, {}> {
server = new McpServer({
name: "Demo",
version: "1.0.0",
});
// 定义初始状态
initialState: State = {
counter: 1,
}
async init() {
// 定义一个资源,用于读取计数器当前值
this.server.resource(`counter`, `mcp://resource/counter`, (uri) => {
return {
contents: [{ uri: uri.href, text: String(this.state.counter) }],
}
})
// 定义一个工具,用于增加计数器的值
this.server.tool('add', '增加存储在 MCP 服务器中的计数器的值', { a: z.number() }, async ({ a }) => {
// 更新状态
this.setState({ ...this.state, counter: this.state.counter + a });
return {
content: [{ type: 'text', text: `增加了 ${a}, 当前总数是 ${this.state.counter}` }],
}
})
}
// 状态更新时的回调(可选)
onStateUpdate(state: State) {
console.log({ stateUpdate: state });
}
}
Para una sesión determinada, los MCP
El servidor tomará una serie de tool
Recuerda el estado del contador entre llamadas.
existe MCP
Dentro del servidor, los desarrolladores pueden utilizar la función Cloudflare
Funciones completas de la plataforma para desarrolladores, como MCP
El servidor inicia el navegador para la navegación web, activando Workflow
Llame a AI
Modelos, etc. Esto es un buen augurio para la MCP
El ecosistema evolucionará hacia casos de uso más avanzados e inteligentes.
Conexión de un cliente MCP existente a un servidor remoto
Cloudflare
Apoyo anticipado a la teleasistencia MCP
Incluso en la corriente dominante MCP
Por lo general, las aplicaciones cliente admiten la autenticación remota MCP
Antes. Esto brinda a los desarrolladores la oportunidad de ir un paso por delante.
Pero esto también plantea un verdadero reto: si todavía no hay soporte para la telemática MCP
cómo los desarrolladores pueden probar y conseguir que los usuarios utilicen los mandos a distancia que construyen. MCP
¿Servidores?
Cloudflare
Para contrarrestarlo, se ofrecen dos nuevas herramientas:
Workers AI Playground
actualización: Esta interfaz de chat en línea es ahora un mando a distancia totalmente funcionalMCP
Cliente que admite la conexión a cualquierMCP
con un proceso de autenticación integrado. El desarrollador sólo tiene que introducir la dirección del servidor remotoURL
(por ejemplohttps://remote-server.example.com/sse
) y haga clic en Conectar para probarlo inmediatamente sin necesidad de instalar ningún software localmente.Tras hacer clic en Conectar, el usuario pasará por un proceso de autenticación (si se ha configurado) y podrá chatear directamente con el usuario.
MCP
Interacción con la herramienta del servidor.mcp-remote
adaptador (dispositivo): Para los que ya apoyanMCP
Los clientes que aún no manejan conexiones remotas y autenticación (como elClaude Desktop
tal vezCursor
), puede utilizar la funciónmcp-remote
. Es unnpm
que actúa como puente entre los clientes locales y los servidores remotos. Permite a desarrolladores y usuarios previsualizar la interfaz con servidores remotos.MCP
experiencia de interacción con el servidor sin tener que esperar a que el propio cliente actualice su soporte.Cloudflare
Proporciona información sobre cómo incorporarmcp-remote
junto conClaude Desktop
,Cursor
,Windsurf
epidemiaMCP
Directrices para el uso del cliente junto con el cliente. Por ejemploClaude Desktop
en el archivo de configuración, simplemente añada una configuración similar a la siguiente:{ "mcpServers": { "remote-example": { "command": "npx", "args": [ "mcp-remote", "https://remote-server.example.com/sse" // 替换为你的远程服务器 URL ] } } }
La era del MCP remoto ha llegado
Protocolo de contexto de modelo remoto (Remote MCP
) es sin duda AI Agent
es una importante dirección de desarrollo. Cuando las aplicaciones cliente admitan ampliamente la MCP
cuando su base de usuarios se amplíe de los desarrolladores a un grupo mucho más amplio de personas, que puede que ni siquiera hayan oído hablar del MCP
El término.
Para los proveedores de servicios, la MCP
Es un servidor que integra sus propios servicios en un sistema utilizado por millones de usuarios. AI
La ruta crítica en asistentes y herramientas. Según los informes, muchas grandes empresas de Internet han estado construyendo activamente MCP
servidores, y al mismo tiempo, te hace esperar a aquellos que son conocidos por su Agent-first
yMCP-native
camino hacia el nacimiento de un negocio emergente.
sobre la base de Cloudflare
proporciona herramientas y plataformas que los desarrolladores pueden utilizar ahora para empezar a crear sistemas remotos preparados para el futuro. MCP
Aplicaciones. Esto no es sólo una actualización de la pila tecnológica, es una actualización de la AI Agent
Una importante exploración de cómo integrar los servicios de Internet. A medida que madure el ecosistema, los MCP
Promete generar experiencias de usuario más inteligentes y personalizadas. Los desarrolladores pueden consultar la Documentación para desarrolladores de Cloudflare Infórmate y empieza a practicar.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...