agentcore除了可以部署agentcore应用程序之外,还可以部署MCP server。
换句话说,只要提供了容器镜像,ping和,那么就可以部署任意的应用程序,上面两个是比较典型的例子。
常规的MCP server 长这样,
1 |
如果要部署到云端的话,
1 |
默认会使用Agentcore runtime来启动,和sagemaker一样,需要有 /ping 和 /invokation的路由,并且容器host在8080端口,启动之后服务就会自动加一个网关来转发到这个应用的8080端口。
你可能还听见过Agentcore Gateway,这个是给一些其他的MCP server,Rest api或者。
甚至是apigateway和lambda。
启动之后,我们就会得到一个URL。
agentcore runtime的是
由于在url有arn,所以需要做一个http的转译,否则有些MCP的客户端可能无法处理识别这个。
agentcore gateway的是。
然后就是认证,Agentcore runtime接受JWT和IAM两种认证方式
而gateway除了这几种之外还可以接受无认证的方式。
这里我们重点介绍JWT的认证,一般是用于和SSO的集成,而这里的JWT通常指的是access token。
对于登陆系统而言,一开始使用用户名和密码登录之后,后端会返回一个JWT来代替用户的身份,然后我们把这个加在请求头里
请求头通常会这样写:
Authorization: Bearer <token>
Authorization是 HTTP 标头中的一个字段。Bearer表示这是一个 Bearer token 类型。<token>是实际的访问令牌。
例如,假设你获得了一个 access token,它可能长成这个样子:
Authorization: Bearer abcdefghijklmnopqrstuvwxyz1234567890
具体流程:
登录:用户通过用户名和密码登录后,身份提供者(如身份认证服务器)生成一个
access token,并将其返回给客户端(例如,浏览器、移动应用)。访问资源:客户端在需要访问受保护资源时(例如,API),会在请求中添加
Authorization: Bearer <token>头部。这样,服务器就能知道这个请求背后是一个已经认证并授权的用户。服务器验证:服务器接收到请求后,验证
Bearer token是否有效。如果有效,服务器根据 token 中的权限信息返回相应的资源;如果无效或已过期,则拒绝访问。


