Ozzynet Mcp Server

Ozzynet Mcp Server

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

本项目是一个原型,其中 MCP 服务器提供工具,但会根据内部状态限制对这些工具的访问权限,同时要求用户通过外部 URL 进行身份验证。在当前场景下,外部 URL 使用 Quarkus OIDC 包装,需通过 GitHub 完成身份验证。GitHub 返回的访问令牌会存储在 MCP 中,与用户使用的会话 ID 关联。

⚠️ 重要提示

您必须编辑 application.properties 文件,添加您的 GitHub OAuth 应用的客户端 ID 和客户端密钥。

🚀 快速开始

✨ 主要特性

  • 提供 MCP 服务器工具。
  • 根据内部状态限制工具访问权限。
  • 通过外部 URL(基于 Quarkus OIDC 包装)实现 GitHub 身份验证。
  • 存储 GitHub 访问令牌与用户会话 ID 关联。

📦 安装指南

环境要求

  • JBang
  • 具有 GitHub 的 OAuth2 应用
  • MCP 客户端,如 claude

创建具有 GitHub 的 OAuth2 应用

  1. 导航到 https://github.com/settings/developers
  2. 从左侧菜单中选择 “OAuth Apps”。
  3. 点击 “新建 OAuth App”。
  4. 为应用命名,并将回调 URL 设置为 http://127.0.0.1:8080/auth
  5. 复制客户端 ID 到 application.properties 文件。
  6. 点击 “生成新客户端秘密”,并将生成的秘密复制到 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 列出仓库的 issue,例如列出 quarkusioquarkus 仓库的问题:

  1. Claude 会要求权限以调用 getSessionId 工具。
  2. Claude 接着会调用 listIssues 工具,并提示无法使用该工具,因为需要进行身份验证,同时会提供一个链接,格式为 http://127.0.0.1/auth?sessionId=
  3. 点击该链接,将会被重定向到 GitHub,通过之前创建的 OAuthApp 进行授权。
  4. 授权完成后,返回 claude 并重新尝试列出操作即可。
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-26 22:21

相似服务问题