@mcpauth/auth
一个功能齐全、可自托管的OAuth 2.0服务器,专为现代人工智能时代和 模型上下文协议(MCP).
@mcpauth/auth 使您能够通过您控制的强大而灵活的OAuth 2.0实现来保护您的MCP应用程序。
现场演示
查看实时演示 @mcpauth/auth 在Vercel上部署:
https://mcpauth-nextjs.vercel.app/
此演示的源代码可在 apps/nextjs 此存储库的目录。
有关更多实时示例,请参阅 示例页面 在文件中。
文档
文件 @mcpauth/auth 可在 https://mcpauth-docs.vercel.app/.
为什么是@mcpauth/auth?
拥有您的数据和身份验证
随着 @mcpauth/auth,你托管服务器,你拥有数据。没有单独的授权服务器。没有供应商锁定。
现代MCP客户端所需
像OpenAI的ChatGPT这样的主要MCP客户端需要OAuth 2.0来对用户进行身份验证,并授权访问工具和资源。 @mcpauth/auth 提供了与这些现代客户端集成所需的兼容、安全的服务器。
无缝集成您现有的身份
采用新的身份验证系统的最大挑战是将其与现有的用户管理集成。 @mcpauth/auth 通过一个强大的功能解决了这个问题: authenticateUser.
此功能允许您插入 _任何_ 现有的身份验证逻辑。无论您的用户是通过会话cookie、承载令牌还是外部系统进行身份验证,您都可以通过几行代码对其进行验证并将其链接到OAuth流。
例如,如果您正在使用 @auth/express 对于会话管理,您的实现很简单:
authenticateUser: async (request: Request) => {
// Grab the user's existing session from a cookie
const session = await getSession(request, authConfig);
// Return the user object if they are authenticated, or null if not
return (session?.user as OAuthUser) ?? null;
},这种灵活性意味着您可以将兼容的MCP OAuth层添加到您的应用程序中,而无需重建整个身份验证堆栈。
兼容性
@mcpauth/auth 旨在适应您现有的堆栈。以下是我们目前支持的框架和数据库存储的摘要:
| 类型 | 支持 | 备注 |
|---|---|---|
| 框架 | Next.js, 快速 | 适配器提供与流行的Node.js框架的无缝集成。 |
| 数据库 | 棱镜, 细雨 | 存储处理OAuth实体的所有数据库交互。 |
没有看到您喜欢的框架或数据库?
ChatGPT深度研究连接器注意事项
ChatGPT的深度研究定制连接器 是一项新功能,允许您将OpenAI的ChatGPT与自己的数据一起使用。这是开始使用MCP的好方法,需要OAuth 2.0服务器对用户进行身份验证并授权访问工具和资源。
@mcpauth/auth 提供了与ChatGPT的Deep Research自定义连接器集成所需的兼容、安全的服务器。
ChatGPT的自定义连接器(跨所有MCP服务器)存在一些问题。他们一直在积极解决其中许多问题,但仍有一些问题存在。例如,添加新的自定义连接器后,您经常会收到“此连接器未实现我们的模式”错误。这是一个已知的问题,刷新页面通常可以修复它。
贡献
我们对所有社区贡献持开放态度!
许可证
国际协调委员会
