简单的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,并重试列表操作=)
