MCP服务器认证服务

一个通过本地REST端点进行上游认证的MCP服务器原型,限制工具访问并需要用户通过外部URL进行GitHub认证。

  • by BarDweller
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 bardweller/ozzynet-mcp-server

使用说明

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

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

在这种情况下,外部url被quarkus-oidc包装,需要通过github进行身份验证

然后将github的访问令牌存储在用户使用的sessionid的mcp中

注意:您必须编辑application.properties以添加您的GitHub OAuth应用程序的客户端id和密钥。

需求

  • JBang 的
  • OAuth2应用程序与GitHub
  • MCP客户端喜欢claude

使用GitHub创建OAuth2应用程序

引导到https://github.com/settings/developers

从左侧导航中选择OAuth应用程序

单击“新建OAuth应用程序”

为其命名,并将回调url设置为 http://127.0.0.1:8080/auth

将客户端ID复制到application.properties 单击“生成新的客户端密钥”并将密钥复制到application.properties

更新claude桌面配置json。..

对于窗户。..

{
    "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列出存储库的问题。.

例如,列出夸库西奥夸克回购的问题

Claude将请求调用getSessionId工具的权限 然后,Claude将调用listIssues工具,并报告它无法使用它,因为您需要进行身份验证,并将向您提供 表单的链接http://127.0.0.1/auth?sessionId= ..当你点击该按钮时,你将被重定向到github,通过授权 您创建的OAuthApp。身份验证完成后,您可以返回claude,并重试列表操作=)