Mcpauth

Mcpauth

🚀 @mcpauth/auth

@mcpauth/auth 是一款功能全面、可自行托管的 OAuth 2.0 服务器,专为现代人工智能时代以及 模型上下文协议 (MCP) 而设计。它能让你通过强大且灵活的 OAuth 2.0 实现来保护你的 MCP 应用程序,并且一切尽在你的掌控之中。

🚀 快速开始

你可以查看部署在 Vercel 上的 @mcpauth/auth 实时演示: https://mcpauth-nextjs.vercel.app/ 此演示的源代码可在本仓库的 目录中找到。 更多实时示例,请参阅文档中的 示例页面

📚 详细文档

@mcpauth/auth 的文档可在 https://mcpauth-docs.vercel.app/ 查看。

✨ 主要特性

掌控你的数据和认证

使用 @mcpauth/auth,你可以自行托管服务器,拥有数据的所有权。无需单独的授权服务器,也不会被供应商锁定。

现代 MCP 客户端的必备之选

像 OpenAI 的 ChatGPT 等主要的 MCP 客户端需要 OAuth 2.0 来对用户进行身份验证,并授权访问工具和资源。@mcpauth/auth 提供了符合要求且安全的服务器,助你与这些现代客户端进行集成。

无缝集成现有认证系统

采用新的认证系统时,最大的挑战在于将其与现有的用户管理系统集成。@mcpauth/auth 通过一个强大的函数 authenticateUser 解决了这个问题。 这个函数允许你接入任何现有的认证逻辑。无论你的用户是通过会话 cookie、承载令牌还是外部系统进行身份验证,你都可以通过几行代码来验证他们,并将他们与 OAuth 流程关联起来。 例如,如果你使用 @auth/express 进行会话管理,实现方式非常简单:

  authenticateUser: async (request: Request) => {
// 从 cookie 中获取用户的现有会话
const session = await getSession(request, authConfig);
// 如果用户已通过身份验证,则返回用户对象;否则返回 null
return (session?.user as OAuthUser) ?? null;
},

这种灵活性意味着你可以在不重建整个认证栈的情况下,为你的应用程序添加符合 MCP 标准的 OAuth 层。

🔧 技术细节

兼容性

@mcpauth/auth 旨在适应你现有的技术栈。以下是目前支持的框架和数据库存储的总结:

属性 详情
框架 Next.jsExpress。适配器可实现与流行的 Node.js 框架的无缝集成。
数据库 PrismaDrizzle。存储负责处理 OAuth 实体的所有数据库交互。

如果你未找到你偏好的框架或数据库,请在 GitHub 上创建一个问题来请求新的适配器或存储

ChatGPT 深度研究连接器说明

ChatGPT 的深度研究自定义连接器 是一项新功能,允许你将 OpenAI 的 ChatGPT 与你自己的数据结合使用。这是开始使用 MCP 的绝佳方式,并且需要一个 OAuth 2.0 服务器来对用户进行身份验证,并授权访问工具和资源。 @mcpauth/auth 提供了符合要求且安全的服务器,助你与 ChatGPT 的深度研究自定义连接器进行集成。 ChatGPT 的自定义连接器存在一些问题(所有 MCP 服务器都存在)。他们一直在积极修复其中许多问题,但仍有一些问题存在。例如,添加新的自定义连接器后,你经常会收到 “此连接器未实现我们的架构” 错误。这是一个已知问题,刷新页面通常可以解决。

🤝 贡献代码

我们欢迎社区的所有贡献!

📄 许可证

ISC 许可证

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-30 14:54

相似服务问题