Cloudflare использует удаленный MCP: расширяя возможности агентов искусственного интеллекта в широком Интернете
строящийся AI
Приложения и Agent
Круг контекстных протоколов моделирования (Model Context Protocol
, MCP
) становится все более актуальной темой. Большая часть обсуждений связана с установкой и запуском на локальном компьютере программы MCP
Развертывание сервера. Недавно.Cloudflare
Объявила о поддержке создания и развертывания на своей платформеудаленно MCP
сервер, который отмечает MCP
Важный поворотный момент в заявке.
Cloudflare
Для упрощения дистанционного MCP
Сервер создан для реализации четырех ключевых возможностей:
workers-oauth-provider
: aOAuth
Библиотека Provider, которая значительно упрощает процесс авторизации, необходимый для удаленных сервисов.McpAgent
: интегрирован вCloudflare Agents SDK
Класс вMCP
Детали телепортацииmcp-remote
: инструмент адаптера, позволяющий поддерживать только локальные соединения.MCP
Клиент также может взаимодействовать с удаленнымMCP
Взаимодействие с сервером.AI playground
издалекаMCP
клиент (вычислительная техника): интерфейс онлайн-чата для прямого подключения и тестирования удаленныхMCP
сервер со встроенной проверкой подлинности.
Разработчики могут использовать Cloudflare
Приведенный пример кода и кнопка развертывания позволяют в кратчайшие сроки создать MCP
Сервер развернут в производственной среде.
https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/ai/tree/main/demos/remote-mcp-server
В отличие от распространенного ранее использования местных MCP
серверы разные, удаленный MCP
Сервер находится в открытом доступе. Пользователи просто входят в систему и предоставляют разрешения с помощью привычного процесса авторизации.MCP
Клиенты (например. AI Agent
) смогут получить доступ к необходимым инструментам. Это считается огромным шагом вперед. В течение последних нескольких месяцев было непросто внедрить кодирование Agent
Подключение к локальной сети MCP
Серверы дали разработчикам возможность оценить их потенциал, а удаленные MCP
В свою очередь, ожидается, что подобная рабочая модель распространится на более широкую группу пользователей, включая более повседневные сценарии применения потребительского класса. Это не просто разница в технической реализации, это может стать предвестником AI Agent
Фундаментальный сдвиг в парадигме приложений.
От локального к удаленному: критический шаг для MCP к массовому охвату
MCP
быстро становится универсальным протоколом, позволяющим создавать большие языковые модели (LLM
Способность выходить за рамки простых рассуждений (inference
) и генерация улучшений при поиске (RAG
), способный выполнять операции, требующие доступа к внешним ресурсам (например, отправлять электронные письма, развертывать код, писать в блогах и т. д.). Это делает AI Agent
(MCP
Клиент) можно получить доступ через внешнюю службу (MCP
сервер) для взаимодействия с инструментами и ресурсами, предоставляемыми сервером.
Однако на сегодняшний деньMCP
приложения в основном ограничиваются локальным запуском. Если вы хотите AI Agent
пройти (законопроект, проверку и т.д.) MCP
Чтобы получить доступ к инструменту в Интернете, разработчикам обычно приходится устанавливать локальный сервер на своей машине. Это означает, что невозможно использовать веб-интерфейс или мобильное приложение из MCP
Также отсутствуют механизмы, позволяющие обычным пользователям проходить аутентификацию и авторизацию.MCP
На самом деле сервер не находится в режиме "онлайн".

за пределами сайта MCP
Подключенная поддержка меняет ситуацию. Она создает возможности для охвата более широкого круга пользователей Интернета, которые с меньшей вероятностью пойдут на локальную установку и запустят настольные приложения только для того, чтобы использовать MCP
Сервер. Удаленный MCP
поддержка, как при переходе от настольного программного обеспечения к Web
Переход на новое программное обеспечение. Пользователи рассчитывают на постоянную работу на разных устройствах и на то, что при входе в систему все будет работать. Локальный MCP
Это удобно для разработчиков, но именно удаленное соединение делает MCP
Критически важное недостающее звено для того, чтобы услуги доходили до всех пользователей Интернета. Конечно, при удаленном подключении необходимо учитывать возможное влияние задержки в сети, что не то же самое, что при локальном. stdio
Общение происходит по-разному.

Заставить аутентификацию и авторизацию работать "из коробки" в MCP
главнокомандующий (военный) MCP
Переход с локального на удаленный - это не просто изменение транспортного уровня (от stdio
текучий HTTP
). При создании пульта, требующего доступа к информации об учетной записи пользователя MCP
сервер, аутентификация (authentication
) и разрешения (например.authorization
) стали критически важными. Необходимо, чтобы пользователи могли войти в систему и подтвердить свою личность, а также чтобы пользователи могли контролировать AI Agent
Что можно получить при пользовании услугой.
MCP
В спецификации используется OAuth 2.0
для решения этой проблемы.OAuth
это стандартный протокол, позволяющий пользователям разрешать приложениям доступ к своей информации или услугам без передачи паролей. В MCP
Сценарий.MCP
Сам сервер играет OAuth Provider
роль. Однако полная реализация сама по себе соответствует MCP
официальный OAuth
Этот процесс довольно сложен и чреват ошибками.Cloudflare
Предлагаемые программы призваны решить эту проблему.
workers-oauth-provider
: Пользовательская библиотека провайдера OAuth 2.1 для Cloudflare Workers
Когда разработчик находится в Cloudflare
развернуть поверх MCP
сервер, когда его Worker
Можно использовать workers-oauth-provider
Этот новый TypeScript
Библиотека выступает в качестве OAuth Provider
. Библиотека инкапсулирует Worker
Код для API
Конечные точки (включая, но не ограничиваясь ими) MCP
конечные точки сервера) добавили уровень авторизации.
MCP
Сервер получает информацию об аутентифицированном пользователе непосредственно в качестве параметра, и ему не нужно самостоятельно выполнять проверку или управление токенами. В то же время разработчик по-прежнему полностью контролирует процесс аутентификации пользователя: с экрана входа в систему (UI
) до выбора поставщика идентификационных данных (например. Google
, GitHub
(или создайте свою собственную систему).
полный MCP OAuth
Процесс происходит следующим образом:

В этом процессеMCP
Сервер является одновременно и восходящей службой (например. GitHub
, Google
(использовано для выделения) OAuth
Клиенты, в свою очередь, ориентированы на MCP
Клиенты (например. AI Agent
(использовано для выделения) OAuth
Сервер (Provider
). Разработчики могут использовать любой процесс аутентификации, расположенный выше по течению, и workers-oauth-provider
безопасный MCP
Соответствие требованиям сервера MCP
Спецификация требований к авторизации для работы с широким спектром клиентских приложений и веб-сайтов. Сюда входит поддержка динамической регистрации клиентов (RFC 7591
) и метаданные сервера авторизации (RFC 8414
). Использование этой библиотеки значительно снижает сложность разработки и повышает безопасность и соответствие требованиям по сравнению с самостоятельной реализацией.
Простой, подключаемый интерфейс OAuth
пользоваться Cloudflare Workers
конструировать (что-л. абстрактное) MCP
сервер, разработчику нужно только предоставить OAuth Provider
Примеры связанных путей (авторизация, токены, конечные точки регистрации клиентов) и MCP
Процессор для сервера и логики аутентификации (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",
});
Эта абстракция позволяет легко внедрять пользовательскую логику аутентификации. Например, приложение, использующее GitHub
в качестве поставщика идентификационных данных MCP
сервер, который можно использовать, реализовав /callback
ответить пением /authorize
маршрутизации, интегрируясь менее чем в 100 строк кода.
Почему серверы MCP выпускают свой собственный токен?
На схеме авторизации выше и MCP
Заслуживает внимания разрешительная часть нормы MCP
Сервер отправит сообщение на MCP
Клиент выпускает свой собственный Token
вместо того, чтобы напрямую передавать сервис, от которого Token
.
В частности.Worker
Токен доступа, полученный от восходящего потока (access token
) Зашифрованное хранение (например, с помощью Workers KV
), а затем сгенерировать и выпустить новый, отдельный Token
на благо MCP
Клиент.workers-oauth-provider
Библиотека обрабатывает этот процесс автоматически, и коду разработчика не нужно напрямую касаться открытого текста маркера или управлять самим хранилищем, что позволяет избежать потенциальных рисков безопасности.
// 调用 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)
На первый взгляд, этот непрямой подход кажется более сложным. Почему же он так разработан?
Выпустив свой собственный Token
(математика) родMCP
Серверы могут обеспечивать более тонкий контроль доступа, чем вышестоящие провайдеры. Даже при выдаче MCP
клиентская сторона Token
скомпрометирован, и злоумышленник получает доступ только к этому MCP
Ограниченные разрешения, явно предоставленные сервером (через его tools
), а не полный доступ к вышестоящему сервису.
Например, предположим, что MCP
Сервер запрашивает у пользователя разрешение на чтение Gmail
Разрешения почты (с помощью gmail.readonly scope
). Однако сервер раскрывает tool
Функциональность более узкая, позволяющая читать уведомления о бронировании путешествий только конкретного отправителя, чтобы ответить на такие вопросы, как "Во сколько я завтра выеду из отеля?". и так далее. Разработчики могут добавить MCP
Это ограничение выполняется на сервере. Если оно выдано на MCP
клиентская сторона Token
Украденный, как Token
Соответствует MCP
сервер, а не первоначальный поставщик (Google
), злоумышленник не может использовать его для чтения произвольных писем и может только вызвать MCP
специальные инструменты, предоставляемые сервером.OWASP
Заменить термин "овер-агент" (Excessive Agency
) входит в список построенных AI
один из главных рисков приложения. Выпустив собственный Token
и соблюдение запретов.MCP
Сервер может ограничить доступ к инструменту, чтобы предоставить только ту функциональность, которая необходима клиенту, следуя принципу наименьших привилегий.
Другой пример, основанный на вышеупомянутом GitHub
аутентификации, вы можете разрешить доступ к инструменту только определенным пользователям. В следующем примере только пользователи из белого списка (geelen
), чтобы увидеть и вызвать generateImage
инструмент, который использует Workers AI
Следуйте подсказкам, чтобы создать изображение:
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' }],
}
}
)
}
}
}
Внедрение McpAgent: совместимость с текущей и будущей телепортацией
главнокомандующий (военный) MCP
Следующим шагом в выводе локальной машины является открытие удаленного транспортного уровня. Локально запущенный MCP
Сервер обычно конфигурируется со стандартными входами и выходами (stdio
) для общения, но пусть MCP
Серверы можно вызывать через Интернет, для этого необходимо реализовать протокол телепортации, который в настоящее время основан на проекте спецификации HTTP
(используется в форме номинального выражения) Server-Sent Events (SSE)
.
Cloudflare
в своём Agents SDK
пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота пустота McpAgent
Класс справляется со сложностью телепортации. Он делает это в фоновом режиме, используя Durable Objects
для поддержания постоянного соединения, что делает MCP
Клиент может передать SSE
в направлении MCP
Сервер отправляет сообщение. Разработчику не нужно писать основной код, который обрабатывает передачу или сериализацию. Минималистский MCP
Сервер может быть реализован с помощью всего десятка строк кода:
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) }],
}));
}
}
Стоит отметить, что после обсуждения в сообществеMCP
Телепорт в спецификации пересматривается, планируется использовать потоковые HTTP
(Streamable HTTP
) заменяет текущий HTTP+SSE
Программа. Это позволит наладить партнерство с MCP
Сервер устанавливает без статических данных, чистый HTTP
подключение и, по желанию, обновление до SSE
Клиент может отправлять сообщения различным конечным точкам, избавляясь при этом от необходимости отправлять сообщения различным конечным точкам.Cloudflare
указать McpAgent
Классы будут развиваться по мере обновления спецификаций для поддержки новых Streamable HTTP
Стандарты, гарантирующие, что разработчикам не придется переписывать код, чтобы адаптироваться к изменениям в методах передачи данных.
Не менее важным является и рассмотрение будущего развития протоколов передачи данных. В настоящее время подавляющее большинство MCP
Главная экспозиция сервера tools
По сути, они представляют собой простые удаленные вызовы процедур (RPC
), которые могут быть обеспечены передачей без состояния. Но более сложный "человек в петле" (human-in-the-loop
) и Agent
Сценарии взаимодействия, которые потребуют prompts
ответить пением sampling
и др. (и другие авторы) MCP
Концептуальная поддержка. Эти сценарии, требующие двунаправленной связи в реальном времени, трудно эффективно реализовать без двунаправленного транспортного уровня. К этому времениCloudflare
Платформа,Agents SDK
ответить пением Durable Objects
Все поддерживаются нативно WebSockets
Способность обеспечивать полнодуплексную, двунаправленную связь в режиме реального времени дает возможность в будущем использовать более совершенные технологии. MCP
Заложите основу для приложений.
Государственный сервер MCP с функциями агента
существовать Cloudflare
восходящая линия связи MCP
Когда сервер, каждый MCP
Все клиентские сессии управляются Durable Object
Поддержка (через Agents SDK
). Это означает, что каждая сессия может управлять своим состоянием и сохранять его, и даже может иметь свой собственный SQL
База данных.
Это открывает путь к построению государственных MCP
Сервер открывает дверь.MCP
Серверы перестали быть просто местом для клиентских приложений и внешних API
между слоями преобразования без состояния, которые сами могут быть приложениями с состоянием - например, играми, процессами оформления покупок с корзинами, постоянными графами знаний и т.д. В Cloudflare
Вверх.MCP
Потенциал серверов выходит далеко за рамки функции REST API
передней части.
На примере простого счетчика можно понять основные принципы его работы:
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 });
}
}
Для данного сеанса вышеуказанные MCP
Серверу потребуется несколько tool
Запомните состояние счетчика между вызовами.
существовать MCP
Внутри сервера разработчики могут использовать Cloudflare
Полные возможности платформы для разработчиков, такие как MCP
Сервер запускает браузер для просмотра веб-страниц, вызывая Workflow
Звоните на AI
Модели и т.д. Это предвещает MCP
Экосистема будет развиваться и переходить к более продвинутым и интеллектуальным вариантам использования.
Подключение существующего клиента MCP к удаленному серверу
Cloudflare
Ранняя поддержка удаленных MCP
Даже в основной массе MCP
Клиентские приложения обычно поддерживают удаленную аутентификацию MCP
Раньше. Это дает разработчикам возможность быть на шаг впереди.
Но это также создает реальную проблему: если еще нет поддержки удаленного MCP
клиенты, как разработчики могут протестировать и заставить пользователей использовать созданные ими пульты. MCP
Серверы?
Cloudflare
Для борьбы с этим предлагаются два новых инструмента:
Workers AI Playground
обновление: Этот интерфейс онлайн-чата теперь является полнофункциональным удаленнымMCP
Клиент, поддерживающий подключение к любому удаленномуMCP
сервер со встроенным процессом аутентификации. Разработчик просто вводит адрес удаленного сервераURL
(например.https://remote-server.example.com/sse
) и нажмите кнопку Connect, чтобы сразу же протестировать его без необходимости устанавливать какое-либо программное обеспечение локально.После нажатия кнопки "Подключиться" пользователь пройдет процесс аутентификации (если он был установлен) и сможет напрямую общаться с
MCP
Взаимодействие с серверными инструментами.mcp-remote
адаптер (устройство): Для тех, кто уже поддерживаетMCP
Клиенты, которые еще не обрабатывают удаленные соединения и аутентификацию (такие какClaude Desktop
возможноCursor
), вы можете использоватьmcp-remote
. Этоnpm
Пакет, выполняющий роль моста между локальными клиентами и удаленными серверами. Он позволяет разработчикам и пользователям предварительно просматривать интерфейс с удаленнымиMCP
опыт взаимодействия с сервером без необходимости ждать, пока клиент сам обновит свою поддержку.Cloudflare
Предоставляет информацию о том, как включитьmcp-remote
вместе сClaude Desktop
,Cursor
,Windsurf
эпидемияMCP
Рекомендации по использованию клиента в сочетании с клиентом. НапримерClaude Desktop
в файл конфигурации, просто добавьте конфигурацию, подобную следующей:{ "mcpServers": { "remote-example": { "command": "npx", "args": [ "mcp-remote", "https://remote-server.example.com/sse" // 替换为你的远程服务器 URL ] } } }
Наступает эра удаленных MCP
Протокол контекста удаленной модели (Remote MCP
), несомненно. AI Agent
Область является важным направлением развития. Когда клиентские приложения будут широко поддерживать удаленную MCP
сервер, когда его пользовательская база расширится от разработчиков до гораздо более широкой группы людей - которые, возможно, даже никогда не слышали о MCP
Термин.
Для поставщиков услуг создание удаленных MCP
Сервер - это сервер, который объединяет свои собственные сервисы в систему, используемую миллионами пользователей. AI
Критический путь в помощниках и инструментах. Сообщается, что многие крупные интернет-компании активно создают MCP
серверов, и в то же время заставляет вас с нетерпением ждать тех, кто известен своими Agent-first
, иMCP-native
путь к рождению зарождающегося бизнеса.
на основании Cloudflare
Предоставляет инструменты и платформы, которые разработчики могут использовать уже сейчас, чтобы начать создавать удаленные объекты, ориентированные на будущее. MCP
Приложения. Это не только обновление технологического стека, но и обновление AI Agent
Важное исследование того, как интегрировать интернет-услуги. По мере развития экосистемы удаленные MCP
Она обещает породить более интеллектуальный и персонализированный пользовательский опыт. Разработчики могут ознакомиться с Документация для разработчиков Cloudflare Получите больше информации и начните практиковаться.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...