mcpField
I
Implementing an MCP Client with Browser-based OAuth

Implementing an MCP Client with Browser-based OAuth

本地服务
github.com/asibyl开发工具077 周前更新

关于 Implementing an MCP Client with Browser-based OAuth

面向开发者的浏览器端 MCP 客户端,可连接支持 OAuth 的 Streamable HTTP 服务器,用于检查连接和工具调用;提示词与资源列表尚未实现。

主要功能

  1. 01浏览器端 OAuth 流程
  2. 02连接 Streamable HTTP 服务器
  3. 03列出服务器工具
  4. 04输入参数并调用工具
  5. 05检查工具响应

适用场景

  1. 01测试受 OAuth 保护的 MCP 服务
  2. 02查看传输过程与消息交换
  3. 03调用工具并检查响应

MCP 相关

作为 MCP 客户端连接提供 `/authorize` 和 `/token` 端点的 Streamable HTTP 服务器。它获取服务器能力、列出并运行工具,同时展示响应以供检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

使用基于浏览器的 OAuth 实现 MCP 客户端

概述

本项目旨在实现一个支持端到端 OAuth 的 MCP 客户端,与 Streamable HTTP 服务配合使用,然后借助它检查传输过程以及与 MCP 服务交换的消息。

演示

https://github.com/user-attachments/assets/278bf15e-a762-47ac-8b2d-8f4a8e64eada

运行模式

至少需要实现一个 OAuthClientProvider,用于在会话存储中保存和检索身份验证信息。当用户在 Connect 面板中请求连接到服务时,客户端会通过 useConnection hook 处理此请求,其中 connect 方法分为两个步骤:

步骤 1:没有可用的访问令牌 -> (1) 通过服务的 authorize 端点触发 OAuth 流程;(2) 服务返回授权码后,获取访问令牌

步骤 2:有可用的访问令牌,但尚未建立传输连接:(1) 创建客户端和传输;(2) 连接到服务;(3) 获取服务能力

步骤 1 在 步骤 2 之前执行,以便与需要授权的 MCP 服务通信。因此,此客户端只能用于实现客户端授权的服务,具体来说,就是实现了 /authorize 和 /token 端点的服务。

客户端连接到服务并获取服务能力后,用户可以选择在 Tools 选项卡中列出其工具。目前尚未实现列出服务提供的提示词和资源(这些选项卡没有内容)。

列出工具后,用户可以在 Run 面板中输入所需的输入参数,选择调用任意工具。

工具通过服务执行时,用户可以在 Inspect 面板中查看响应。

附注:如果这看起来和 MCP Inspector 很像,这并非巧合。本项目借鉴了其中许多内容,同时尽可能保持简单。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。