英语轻松读发新版了,欢迎下载、更新

将代理难题拼凑在一起:MCP,身份验证和授权和耐用对象免费层

2025-04-07 13:05:06 英文原文

作者:Rita KozlovDina KozlovVy Ton

2025-04-07

9分钟阅读

这不是在Cloudflare的秘密我们是看好的关于代理商的未来。我们对AI不仅可以与我们共同竞争的未来感到兴奋,而且我们实际上可以开始将整个任务委派给Ai.â€â 

虽然我们已经很久了首先宣布我们的代理商SDK使开发人员更容易建立代理商,建立朝着代理的未来建立需要持续实现这一目标。今天,我们发表了几条公告,以帮助加速代理开发,包括:

  • 新代理SDK功能:构建具有内置运输和身份验证的远程MCP客户端,以允许AI代理连接到外部服务。 

  • BYO Auth for MCPStytch,,,,Auth0, 和工作将身份验证和授权添加到您的远程MCP服务器。 

  • McPagent的冬眠不活动时会自动睡眠状态,远程MCP服务器,并在需要时唤醒它们。这使您可以在长期进行的会话中保持联系,同时确保您不为空闲时间付费。 

  • 耐用的物体免费层我们将耐用的对象视为建筑代理的关键组件,如果您使用我们的代理SDK,则需要访问它。直到今天,只有作为我们付费计划的一部分才能访问耐用的物品,今天我们很高兴将其包括在我们的免费层中。

  • 工作流程使您能够在代理商中运送准备生产,长期运行的多步骤操作。

  • Autorag只需单击几下,帮助您将上下文感知的AI集成到您的应用程序中

  • Agent.Cloudflare.com我们针对代理商的所有新登陆页面。

代理商SDK中的新MCP功能

AI代理现在可以通过MCP连接并与外部服务互动(模型上下文协议)。我们对代理SDK进行了更新,以便您将远程MCP客户端构建到您的AI代理中,并使用所有组件â€â€â€â€â€â€â€â€â€â€â€â€â€â€内置。

这使您可以构建可以:

  1. 提示最终用户授予对第三方服务(MCP服务器)的访问。

  2. 使用这些外部服务的工具,代表最终用户行动。

  3. 从工作流,计划的任务或代理的任何部分致电MCP服务器。

  4. 连接到多个MCP服务器,并自动发现第三方服务提供的新工具或功能。

MCP(模型上下文协议)†首先是由人类引入的â€ââ€â€正在迅速成为AI代理与外部服务互动的标准方式,与OpenAI,Cursor和Copilot这样的提供商采用了该协议。

我们最近宣布支持构建远程MCP服务器在Cloudflare上,并添加了McPagent与我们的代理SDK类别自动处理MCP的遥远方面:运输和身份验证/授权。现在,我们很高兴将相同的功能扩展到与MCP客户相同的代理商。

想在行动中看到它吗?使用下面的按钮部署可用于连接到远程MCP服务器的完全远程MCP客户端。

Deploy to Cloudflare

AI代理现在可以充当远程MCP客户端,其中包括运输和验证

AI代理需要连接到外部服务,以访问其内置知识以外的工具,数据和功能。这意味着AI代理需要能够充当远程MCP客户端,因此它们可以连接到托管这些工具和功能的远程MCP服务器。 

我们添加了一个新课程,McPclientManager,进入代理SDK,为您提供所有您需要的工具,以允许您的AI代理通过MCP拨打外部服务。这McPclientManager类自动处理:â 

  • 运输:通过SSE和HTTP连接到远程MCP服务器,并支持流http即将到来 

  • 连接管理:客户端跟踪所有连接的状态,并自动重新连接如果连接丢失。

  • 能力发现:自动发现MCP服务器提供的所有功能,工具,资源和提示。

  • 实时更新:当服务器的工具,资源或提示更改时,客户端会自动接收通知并更新其内部状态。

  • 命名领域:连接到多个MCP服务器时,所有工具和资源都会自动命名为避免冲突。

授予代理商访问MCP客户端内置验证检查的工具

我们已经将完整的OAuth身份验证流直接集成到了代理SDK中,因此您的AI代理可以安全地连接并验证到任何远程MCP服务器,而无需从scratch构建身份验证流。

这使您可以为用户提供一种安全的方法,以登录并明确授予访问权限,以允许代理商自动执行: 

  • 支持OAUTH 2.1协议。

  • 将用户重定向到服务登录页面。

  • 生成代码挑战并为访问令牌交换授权代码。

  • 使用访问令牌向MCP服务器提出认证的请求。

这是可以通过初始化客户端管理器,添加服务器并处理身份验证回调的代理的示例,该代理可以安全地连接到MCP服务器:

异步onstart():Promise <void> {//初始化MCPCLIENTMANAGER,该MCPCLIENTMANAGER通过可选auth管理多个MCP客户端this.mcp = new mcpclientmanager(“ my-agent”,“ 1.0.0”,{basecallbackuri:`$ {server -host}/agents/$ {agentNamespace}/$ {this.name}/callback`,callback`,存储:this.ctx.Stogare,});}async addmcpserver(url:string):Promise <string> {//将一个MCP客户端添加到我们的McPclientManagerconst {id,authurl} =等待this.mcp.connect(url);//返回Authurl将用户重定向到未经授权的用户返回Authurl}异步OnRequest(req:request):Promise <void> {//完成MCP服务器验证流程后处理验证回调if(this.mcp.iscallbackrequest(req)){等待this.mcp.handlecallbackRequest(req);返回新响应(“授权”)}// ...}

连接到多个MCP服务器并发现他们提供的功能

您可以使用代理SDK同时将MCP客户端连接到多个MCP服务器。当您希望代理商访问并与不同服务提供商提供的工具和资源进行交互时,这一点特别有用。 

McPclientManager类通过McPconnections对象,将唯一服务器名称映射到其各自的词典McPclient Connection实例 

当您使用新的服务器连接使用连接(),经理:â 

  1. 使用特定于服务器的身份验证创建一个新的连接实例。

  2. 初始化服务器功能通知的连接和寄存器。

异步onstart():Promise <void> {//连接到图像生成MCP服务器等待this.mcp.connect(“ https://image-gen.example.com/mcp/sse”);//连接到代码分析MCP服务器等待this.mcp.connect(“ https://code-analysis.example.org/sse”);//现在我们可以使用适当的命名区访问工具const allTools = this.mcp.listtools();console.log(`总工具可用:$ {alltools.length}`);}

每个连接都管理自己的身份验证上下文,允许一个AI代理同时对多个服务器进行身份验证。此外,McPclientManager自动处理命名领域,以防止工具之间与不同服务器的同一名称之间的碰撞。 

例如,如果一个图像MCPServerâ€和Code mcp server - 具有一个名为“分析”的工具,则它们都将在没有任何命名冲突的情况下独立地呼唤。

使用Stytch,Auth0和Workos将身份验证和授权带到您的MCP Server。 

使用MCP,用户将有一种与您的应用程序进行交互的新方法,不再依赖仪表板或API作为入口点。取而代之的是,现在将由代表用户行动的AI代理访问该服务。为了确保用户和代理可以安全地连接到您的服务,您需要扩展您现有的身份验证和授权系统,以支持这些代理交互,实施登录流量,权限范围,同意表格,同意表格以及MCP Server的访问执行。 

我们添加了与Stytch,,,,Auth0, 和工作为了使构建MCP服务器的任何人更容易为其MCP Server配置身份验证和授权。 

您可以利用我们的MCP服务器与Stytch,Auth0和Workos集成到: 

  • 允许用户通过电子邮件,社交登录,SSO(单登录)和MFA(多因素身份验证)来验证您的MCP服务器。

  • 定义直接映射到您的MCP工具的范围和权限。

  • 通过同意页面与所请求的权限相对应。

执行权限,以便代理只能调用允许的工具。 

通过使用部署到CloudFlareâ按钮来开始以下示例,以在您的CloudFlare帐户中部署演示MCP服务器。这些演示包括预先配置的身份验证终点,同意流和您可以量身定制的许可模型,以满足您的需求。部署演示MCP服务器后,您可以使用工人人工智能游乐场,基于浏览器的远程MCP客户端,以测试端到端用户流。 

开始使用远程MCP服务器,该服务器使用Stytch允许用户使用电子邮件,Google登录或企业SSO登录,并授权其AI代理代表他们代表他们查看和管理其公司。Stytch将根据其组织中的用户角色和权限来处理限制授予AI代理的范围。在授权MCP客户端时,每个用户将看到一个同意页面,概述了代理要求根据其角色授予的权限。

Deploy to Cloudflare

对于更多的消费者用例,请部署远程MCP服务器,以进行使用Stytch进行身份验证和MCP客户端授权的应用。用户可以通过电子邮件登录并立即访问与其帐户相关的DO列表,并授予对任何AI助手的访问权限,以帮助他们管理任务。

Deploy to Cloudflare

无论用例,Stytch都可以轻松地将应用程序变成OAuth 2.0身份提供商,并将您的远程MCP服务器变成依赖方,以便它可以轻松地继承您的应用程序的身份和权限。要了解有关Stytch如何为远程MCP服务器启用安全身份验证的更多信息,请阅读他们的博客文章

实现AI代理的承诺的挑战之一是使这些代理能够从其他平台安全访问数据。对于这些代理用例,Stytch Connected应用程序是专门构建的,使您可以简单地将您的应用变成OAuth 2.0身份提供商,以使可靠地访问远程MCP服务器。通过将CloudFlare工人与Stytch Connected应用程序相结合,我们正在消除开发人员的障碍,使他们能够从AI的概念证明过渡到保护,部署的实现。

开始使用远程MCP服务器,该远程MCP服务器使用Auth0通过电子邮件,社交登录或企业SSO来验证用户,以通过AI代理与他们的招待员和个人数据进行交互。MCP服务器代表用户安全地连接到API端点,准确地显示了代理一旦从用户获得同意后可以访问的资源。在此实现中,在长期运行的交互过程中会自动刷新访问令牌。

要设置它,首先部署受保护的API端点:

Deploy to Cloudflare

然后,部署通过auth0处理身份验证的MCP服务器并将AI代理安全地连接到API端点。 

Deploy to Cloudflare

“ Cloudflare继续增强开发人员使用AI网关,矢量化和工人AI的工具来构建AI产品。远程MCP服务器的近期添加进一步表明,Cloudflare工人和耐用的物体是部署无服务器AI的领先平台。我们非常自豪地帮助解决这些认证和授权工作的工作,以帮助我们骄傲地解决这些验证和授权的工作。sandrino di Mattia,Auth0 Sr.产品架构总监。

使用远程MCP服务器开始使用Workos的Authkit来验证用户并管理授予AI代理的权限。在此示例中,MCP服务器根据用户的角色和访问权限动态公开工具。所有已验证的用户都可以访问添加工具,但只有被分配的用户image_generationWorkos的许可可以授予AI代理访问图像生成工具。这展示了MCP服务器如何根据身份验证的用户的角色和许可将有条件地暴露于AI代理的功能。

Deploy to Cloudflare

MCP已成为AI代理集成的标准,但是身份验证和授权仍然是企业采用的主要差距。Workos Connect使任何应用程序都可以成为OAuth 2.0授权服务器,允许代理商和MCP客户端安全地获得以获得精细粒度许可授权和资源访问的令牌。使用CloudFlare工人,开发人员可以通过内置OAuth和Enterprise级访问控制快速部署远程MCP服务器。Workos和Cloudflare在一起,可以轻松运输安全的,企业就绪的代理基础设施。

可冬眠的网络插款:当不使用时,让AI代理入睡

从今天开始,麦克帕格特阶级正在降落新的改进:支持Websockets Hibernation API这使您的MCP服务器在未收到请求时可以入睡,并且在需要时立即醒来。这意味着您现在仅在代理商实际工作时才支付计算费用。

我们最近引入了McPagent类,这使开发人员可以使用耐用的对象在每个客户端会话中维护状态连接,从而在CloudFlare上构建远程MCP服务器。我们决定构建McPagent从一开始就可以陈述,从而使开发人员可以构建可以记住上下文,用户偏好和对话历史记录的服务器。但是维护客户的连接意味着即使不使用它,会话可以保持很长时间。 

MCP代理默认情况下是可冬眠的

您不需要更改代码以利用冬眠。借助我们最新的SDK更新,所有McPagent实例都会自动包括Hibernation Support,允许您的状态MCP服务器在不活动期间入睡,并在需要时醒来。 

当请求在服务器量事件端点( /sse)上提出时,工作人员将Websocket连接到会话的适当耐用对象,并将SSE流返回客户端。所有响应都流过这个流。

该实现利用耐用对象内的Websocket Hibernation API。当发生不活动的周期时,可以在保持WebSocket连接打开的同时从内存中驱逐耐用的对象。如果Websocket稍后收到消息,则运行时将重新创建耐用的对象,并将消息传递给适当的处理程序。

自由层上耐用的物体

为了帮助您在Cloudflare上建立AI代理,我们制作了耐用的对象在免费层上可用,因此您可以从零承诺开始。使用代理SDK,您的AI代理部署到在耐用对象上运行的CloudFlare。

耐用的对象提供与耐用存储一起进行计算,当与工人结合使用时,解锁状态,无服务器的应用程序。每个耐用的对象都是用于处理客户实时交互,向LLM等外部服务的请求以及通过状态持久性创建Agensic-nemory nemory n in in in content offerime互动的状态协调员零延迟sqlite存储AI代理需要的所有任务。耐用的对象毫不费力地扩展到数百万个代理,每个代理在用户附近与其代理进行快速性能进行交互,所有这些代理都由Cloudflare.管理。 

耐用对象中的零延迟sqlite存储是在公共Beta中引入2024年9月的生日周。从那时起,与耐用对象中的预先存在的键值存储相比,我们专注于缺失的功能和鲁棒性。我们很高兴能使SQLite存储通常可用,每个耐用对象都有10 GB SQLITE数据库,并为所有新的耐用对象类推荐SQLite存储。耐用的对象免费层只能访问SQLite存储。

CloudFlareâ的自由层允许您构建现实世界的应用程序。在免费计划中,每个工人请求都可以调用耐用的对象。为了基于用法的定价,耐用的对象具有以下自由层限制的计算和存储使用情况。

一个 

工人免费

工人付了

计算:请求

每天100,000

每月包括100万

+ $ 0.15 /百万

计算:持续时间

13,000 GB-S /天

40万GB-S /月包括 

+ $ 12.50 /百万GB-S

存储:行阅读

500万 /天

包括250亿 /月

+ $ 0.001 /百万美元 

存储:编写的行

每天100,000

包括5000万 /月包括

+ $ 1.00 /百万

存储:SQL存储的数据

5 GB(总数)

包括5 GB个月

+ $ 0.20 / gb-month

在vertents.cloudflare.com上找到我们

我们意识到这是很多信息要获取,但是不用担心。无论您是整个代理商的新手,还是要了解有关CloudFlare如何帮助您建立代理商的更多信息,今天我们推出了一个新的网站,以帮助您启动 -  Agent.Cloudflare.com。 

让我们知道您的建造!

Cloudflare的连接云保护整个公司网络,帮助客户建造有效的互联网规模应用程序,加速任何网站或互联网应用程序,,,,DDOS攻击的病房,保持黑客在海湾,可以帮助您您零信任的旅程

访问1.1.1.1从任何设备开始使用我们的免费应用程序,该应用程序使您的互联网更快,更安全。

要了解有关我们的使命的更多信息,以帮助建立更好的互联网,从这里开始。如果您正在寻找新的职业指导,请查看我们的公开位置

开发人员周人工智能代理商开发人员模型上下文协议,MCP

关于《将代理难题拼凑在一起:MCP,身份验证和授权和耐用对象免费层》的评论


暂无评论

发表评论

摘要

基于Cloudflare的博客文章和相关资源的提供信息,看起来他们介绍了一些新功能和更新,旨在使构建AI代理和其他状态应用程序更加容易。这是一些要点:1。**对MCP代理的Hibernate支持**: - McPagent的所有实例现在自动包括休眠支持。 - 这使您的已陈述的MCP服务器可以在保持状态的同时在不活动期间入睡,并在需要时醒来。2。**自由层上的耐用对象**: - CloudFlare正在免费的层次上免费提供耐用的对象,从而使开发人员可以开始构建而无需任何初始承诺。 - 现在每个耐用的对象都可以将数据存储在10 GB SQLITE数据库中。 - 这启用了可以处理客户端实时交互和外部服务请求的状态无服务器应用程序。3。**工人免费层限制**: - 计算:100,000个免费的每日工人请求耐用对象的电话- 贮存: - 行阅读:每天500万 - 行写:每天100,000-SQL存储的数据:5 GB(总数)4。**状态AI代理框架**: - CloudFlare引入了McPagent,以简化使用耐用对象的状态AI代理。 - 该框架允许在会话之间维护上下文,用户偏好和对话历史记录。5。**模型上下文协议(MCP)**: - 一种旨在通过允许模型维护交互之间的上下文来促进状态AI应用程序创建状态AI应用程序的协议。 - 提供的示例包括与诸如LLM(语言学习机)之类的外部服务集成,并通过耐用对象中的SQLite存储保持持久的内存。6。**开发人员资源**: - 新的网站代理.cloudflare.com提供了使用Cloudflare的工具和基础架构来构建AI代理的全面指南,教程和文档。 - 本网站应帮助两个新移民进入AI代理领域和经验丰富的开发人员,希望更有效地利用Cloudflare的功能。###步骤开始1。**请访问`代理。 - 探索那里可用的指南和教程,用于学习如何使用MCP,McPagent和耐用的对象构建状态应用程序。2。**评论免费层限制**: - 如果您刚开始,请了解自由层的局限性。3。**在您的应用程序中集成了SQLite存储**: - 利用每个耐用对象的10 GB SQLITE存储有效地维护状态数据。4。**探索现实世界的示例和教程**: - 查看提供与LLM等外部服务集成的示例,并查看它们如何使用冬眠和持续记忆。5。**查看开源项目**: - CloudFlare可能具有开源项目或SDK,您可以利用这些项目来快速启动和运行。### 结论CloudFlare的更新使开发人员更容易访问具有自动冬眠,免费层耐用对象和全面开发人员资源等功能的状态AI代理和应用程序。这应该有助于简化开发过程并减少进入障碍,从而使您可以专注于构建创新的应用程序,而不是担心基础设施成本或复杂性。如果您是这个空间的新手或寻找强大的平台来构建您的状态AI项目,那么Cloudflare的产品似乎是一个强大的选择,并提供了大量的支持和文档。