Just-MCP-OAuth-Proxy 示例
使用FastMCP的OAuth代理身份验证入口
进入ID应用程序注册
遵循以下链接:https://github.com/jlowin/fastmcp/blob/v2.13.0rc2/docs/integrations/azure.mdx
- 十、 Azure 门户 “Microsoft Entra ID”>“应用程序注册”
- \[X\] “新注册”
- 名字: just-mcp-oauth-proxy-example - 支持的账户类型:“任何组织目录中的账户(任何 Microsoft Entra ID 租户 - 多租户)” - 重定向URI: Web - http://localhost:6274/oauth/callback (对于MCP检查员,稍后添加ngrok或类似工具)
- \[X\] “注册”
- \[X\] “公开API”:配置您的应用程序ID URI并定义作用域
- 转到应用程序注册侧边栏中的“公开API”。 - 点击 添加 在“Application ID URI”旁边(原本应为“Add”而非“Set”)并选择以下选项之一: - 保持默认设置 api://} - 把它记下来以备后用作为 identifier_uri - 点击“添加范围”并为您的应用创建一个范围 - 范围名称: read - 谁可以同意:管理员和用户 - 管理员同意显示名称: Read access to just-mcp-oauth-proxy-example - 管理员同意说明: Allows read access to just-mcp-oauth-proxy-example - 用户同意显示名称: Read access to just-mcp-oauth-proxy-example - 用户同意说明: Allows read access to just-mcp-oauth-proxy-example - 状态:已启用 - “添加范围” - 记下范围(“读取”)
- \[X\] “配置访问令牌版本”:确保您的应用程序使用访问令牌v2
- 在应用程序注册侧边栏中,转到“清单”。 - 注意这解释了为什么默认情况下总是使用旧的、已弃用的 Azure AD Graph 清单! - 提示你可以通过“Entra ID 管理门户”进行检查!https://entra.microsoft.com/ > “Azure Active Directory” > “应用程序注册” > 选择你的应用程序 > “清单” > “编辑清单” > 查看 JSON 属性 accessTokenAcceptedVersion
- \[X\] “证书与密钥”>“新建客户端密钥”
- 描述: just-mcp-oauth-proxy-example-secret - 过期时间: In 6 months - “Add”翻译成中文是“添加” - 记下这个密钥值(立即记下,之后将不再显示)
- \[X\] “概览”:记下“应用程序(客户端)ID”和“目录(租户)ID”
- 应用程序(客户端)ID一个类似UUID的(字符串/标识符) 835f09b6-0f0f-40cc-85cb-f32c5829a149 - 目录(租户)ID一个类似UUID的(字符串/标识符) 08541b6e-646d-43de-a0eb-834e6713d6d5
- 将自己添加为应用程序注册的所有者
跑步
设置所需的环境变量,以使用并配置与Entra ID的OAuth代理。 见 .env - 我使用1password CLI从上面的应用程序注册中注入客户端ID、密钥和租户ID。 (./run.sh main.py)
然后我用MCP Inspector进行测试。检查是否有新版本发布。
具有连接类型 via proxy据我了解,fastmcp 默认情况下不会添加 CORS 头。npx @modelcontextprotocol/inspector@0.17.1兼容 FastMCP 2.13.0rc2 和 MCP Inspector 0.17.1
测试使用:
fastmcp 2.13.0rc2(可译为“fastmcp 2.13.0候选发布版2”)
main-self.py 翻译成中文可以是“主-自我.py”或者根据上下文更自然地表达为“主程序-自我模块.py”(如果这是指一个程序中的主要部分和自我管理/自我处理的模块)。不过,具体翻译还需结合该文件的实际用途和上下文来确定最准确的表述
- \[X\] MCP Inspector 0.17.1 - 本地主机(localhost)
via proxy(工具/列表,工具/调用,版本,获取用户信息)
- \[ \] MCP Inspector 0.17.1 - 本地主机
direct(跨域资源共享问题)
- \[ \] MCP Inspector 0.17.1 - fastmcp.cloud(可翻译为:“\[ \] MCP 检查器 0.17.1 - fastmcp.cloud”)
via proxy(CORS问题,fastmcp-cloud未处理auth=public的情况?)
- \[ \] ChatGPT网页版
- \[X\] 添加,列表/工具 - \[ \] 工具调用 => 401
- \[ \] Claude Desktop(可译为“克劳德桌面版”或根据具体语境简化为“克劳德桌面应用”)
- \[ \] 克劳德·韦布
更新fastmcp依赖
在(某处)更改版本 pyproject.toml
fastmcp==2.13.0rc2然后运行: uv sync
