mcpField
S
Simple MCP Server with upstream auth via local rest endpoint

Simple MCP Server with upstream auth via local rest endpoint

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

关于 Simple MCP Server with upstream auth via local rest endpoint

这是一个通过会话认证限制工具访问的 MCP 服务原型。它使用 Quarkus OIDC 和 GitHub OAuth,并按会话保存用户的 GitHub 访问令牌,适用于 MCP 服务原型开发。

主要功能

  1. 01基于会话控制工具访问
  2. 02通过 GitHub OAuth 认证
  3. 03按会话保存访问令牌

适用场景

  1. 01构建需认证才能使用的 MCP 工具原型
  2. 02在列出仓库问题前要求 GitHub 授权

MCP 相关

它提供的 MCP 工具是否可用取决于会话认证。用户通过本地 URL 使用 Quarkus OIDC 和 GitHub OAuth 完成认证。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

通过本地 REST 端点进行上游身份验证的简单 MCP 服务

这是一个原型:MCP 服务提供工具,但会根据内部状态限制其访问权限,要求用户通过外部 URL 进行身份验证。

在此示例中,外部 URL 使用 quarkus oidc 封装,要求通过 github 进行身份验证。

随后,github 的访问令牌会存储在 MCP 中,并与用户使用的 sessionid 关联。

注意:你必须编辑 application.properties,添加 GitHub OAuth 应用的 client-id 和 secret。

要求

  • JBang
  • GitHub OAuth2 应用
  • 类似 claude 的 MCP 客户端

创建 GitHub OAuth2 应用

访问 https://github.com/settings/developers

在左侧导航栏中选择 OAuth Apps

点击“New OAuth App”

填写应用名称,并将回调 URL 设为 http://127.0.0.1:8080/auth

将 client ID 复制到 application.properties 点击“generate a new client secret”,并将 secret 复制到 application.properties

更新 claude 桌面版配置 JSON……

Windows 系统……

{
    "mcpServers": {
        "ozzynet": {
            "command": "cmd",
            "args": [
                "/c",
                "C:\\Users\\YOURUSERNAME\\.jbang\\bin\\jbang.cmd",
                "--quiet",
                "org.ozzy:stiletto:1.0.0-SNAPSHOT:runner" ]
        }
    }
}

Mac 系统……

{
    "mcpServers": {
        "ozzynet": {
            "command": "jbang",
            "args": [
                "--quiet",
                "org.ozzy:stiletto:1.0.0-SNAPSHOT:runner" ]
        }
    }
}

测试……

让 claude 列出某个仓库的问题……

例如,列出 quarkusio 的 quarkus 仓库中的问题

Claude 会请求获得调用 getSessionId 工具的许可 Claude 随后会调用 listIssues 工具,并报告无法使用该工具,因为你需要先通过身份验证;它会提供一个类似 http://127.0.0.1/auth?sessionId= 的链接。点击该链接后,你会被重定向到 github,通过你创建的 OAuthApp 进行授权。完成身份验证后,你可以返回 claude 并重试列出问题的操作 =)

评论

支持 Markdown

第一次接触 MCP?

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

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