适用于模型上下文协议(MCP)服务器的轻量级授权代理,根据MCP授权规范执行授权。
<a href=""></a>
<a href="">
</a>
<a href="">
</a>
<a href="">
</a>
<a href="">
</a>
audience声明,并强制作用域要求。MCP-Protocol-Version头进行。前提条件
- 运行中的MCP服务器(如果您还没有MCP服务器,请使用示例MCP服务器)
- 支持MCP授权规范的MCP客户端
从Github发布页面下载最新版本。
在演示模式下启动代理(使用预配置的身份验证与Asgardeo沙盒):
./openmcpauthproxy --demo
.\openmcpauthproxy.exe --demo
要启用通过您的Asgardeo组织的授权:
在Asgardeo中注册并创建一个组织
创建一个M2M应用程序
授权此应用程序调用“应用程序管理API”,使用internal_application_mgt_create范围
更新config.yaml,添加以下参数。
base_url: "http://localhost:8000" # 您的MCP服务器的URL
listen_port: 8080 # 代理监听地址
resource_identifier: "http://localhost:8080" # 代理服务器URL
scopes_supported: # 对于MCP服务器所需的作用域
- "read:tools"
- "read:resources"
audience: "<audience_value>" # 访问令牌受众
authorization_servers: # 授权服务器发行者标识符
- "https://api.asgardeo.io/t/acme"
jwks_uri: "https://api.asgardeo.io/t/acme/oauth2/jwks" # JWKS URL
./openmcpauthproxy --asgardeo
当使用stdio模式时,代理:
注意:任何指定的命令(例如下面示例中的
npx)必须首先安装在您的系统上
config.yaml中配置stdio模式:stdio:
enabled: true
user_command: "npx -y @modelcontextprotocol/server-github" # 示例使用GitHub MCP服务器
env: # 环境变量(可选)
- "GITHUB_PERSONAL_ACCESS_TOKEN=gitPAT"
./openmcpauthproxy --demo
# 在演示模式下启动(使用Asgardeo沙盒)
./openmcpauthproxy --demo
# 使用您自己的Asgardeo组织启动
./openmcpauthproxy --asgardeo
# 使用stdio传输模式而不是SSE
./openmcpauthproxy --demo --stdio
# 启用调试日志
./openmcpauthproxy --demo --debug
# 显示所有可用选项
./openmcpauthproxy --help
我们感谢您的贡献,无论是改进文档、添加新功能还是修复错误。要开始,请参阅我们的贡献指南。