Token导航 LogoToken导航

MCP Server · AI代理

just4mcps (Hraisikai)

一个基于角色访问控制的认证MCP网关,提供集中式身份验证和细粒度的工具级权限管理。

stdio官方级别未说明来源级核验工具 0
TypeScriptClaude权限管理Claude Desktop

快速开始

作者 / 组织
Hraisikai
提供方
Hraisikai
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

just4mcps (Hraisikai) 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

仅4MCP

具有基于角色的访问控制的经过身份验证的MCP(模型上下文协议)网关。Just4MCP位于您的MCP客户端(Claude Desktop等)和上游MCP服务器之间,通过任何符合OIDC的身份提供者和SurrealDB支持的细粒度工具级权限提供集中身份验证。

建筑

MCP Client (Claude Desktop, etc.)
  → Ingress (JWT validation via Keycloak JWKS)
    → FastAPI MCP Proxy (role extraction + tool ACL from SurrealDB)
      → Upstream MCP Server A
      → Upstream MCP Server B
      → ...

特性

  • OAuth2+PKCE身份验证 --使用机密客户端与任何OIDC提供商(Keycloak、Auth0、Okta、Azure AD等)配合使用(机密保留在服务器端)
  • RFC 9728/RFC 8414 OAuth发现 --MCP客户端可以自动发现授权服务器
  • 基于角色的访问控制 --SurrealDB中存储的每个组、每个工具的权限
  • 每用户凭据 --需要用户特定令牌的上游MCP服务器的加密凭据存储
  • 管理仪表盘 --用于管理MCP服务器注册、工具权限和组访问的web UI
  • MCP协议代理 --透明的SSE/流式HTTP代理到上游服务器
  • 热可重新加载配置 --可以在运行时通过管理UI添加/删除上游服务器

先决条件

  • OIDC身份提供者 (Keycloak、Auth0、Okta、Azure AD等)——用于身份验证
  • Docker&Docker编写 --促进地方发展
  • Kubernetes集群 (k3s、k8s等)——用于生产部署
  • 容器注册表 --托管您构建的图像

快速入门:Docker Compose

这是运行本地开发环境的最快方法。

1.克隆和配置

git clone 
cd just4mcps/mcp-gateway
cp backend/.env.example backend/.env

编辑 backend/.env 带上你的Keycloak细节:

KEYCLOAK_URL=https://your-keycloak.example.com
KEYCLOAK_REALM=your-realm
KEYCLOAK_CLIENT_ID=mcp-gateway
KEYCLOAK_CLIENT_SECRET=your-client-secret

2.更新前端Keycloak配置

在 compose.yml,更新前端环境变量以匹配您的Keycloak实例:

environment:
  - VITE_KEYCLOAK_URL=https://your-keycloak.example.com
  - VITE_KEYCLOAK_REALM=your-realm
  - VITE_KEYCLOAK_CLIENT_ID=mcp-gateway

3.启动堆栈

docker compose up --build

这将启动三项服务:

服务端口描述
网关8000FastAPI后端
前端5173React开发服务器(Vite)
surrealdb8001surrealdb数据库

4.打开仪表板

导航至 http://localhost:5173 并使用您的Keycloak凭据登录。从管理仪表板,您可以注册上游MCP服务器并配置工具权限。

部署:Kubernetes

1.创建命名空间

kubectl apply -f k8s/namespace/

2.创造秘密

复制示例秘密模板并填写您的值:

cp k8s/proxy/secrets.example.yaml k8s/proxy/secrets.yaml
cp k8s/surrealdb/secrets.example.yaml k8s/surrealdb/secrets.yaml

使用您的实际凭据编辑这两个文件。要生成加密密钥,请执行以下操作:

python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

应用秘密:

kubectl apply -f k8s/surrealdb/secrets.yaml
kubectl apply -f k8s/proxy/secrets.yaml

3.部署SurrealDB

kubectl apply -f k8s/surrealdb/
kubectl rollout status deployment/surrealdb -n mcp-platform --timeout=120s
注: PVC在 k8s/surrealdb/pvc.yaml 没有 storageClassName 集。取消注释并将其设置为与集群的存储类相匹配(例如。 standard, longhorn, local-path).

4.构建并推送容器镜像

构建后端和前端图像并将其推送到您的注册表:

# Backend
docker build -t your-registry.example.com/just4mcps/proxy:latest mcp-gateway/backend/
docker push your-registry.example.com/just4mcps/proxy:latest

# Frontend
docker build --target prod -t your-registry.example.com/just4mcps/frontend:latest mcp-gateway/frontend/
docker push your-registry.example.com/just4mcps/frontend:latest

5.用你的价值观更新清单

在应用之前,请编辑这些文件以匹配您的环境:

  • k8s/proxy/deployment.yaml --映像注册表、Keycloak URL/realm/client、管理组、网关URL、CORS源
  • k8s/proxy/ingressroute.yaml --域名、Keycloak JWKS URL、TLS证书解析器
  • k8s/mcp-gateway/frontend/deployment.yaml --映像注册表,Keycloak URL/realm/client

6.部署代理和前端

kubectl apply -f k8s/proxy/
kubectl rollout status deployment/mcp-proxy -n mcp-platform --timeout=120s

kubectl apply -f k8s/mcp-gateway/frontend/
kubectl rollout status deployment/mcp-frontend -n mcp-platform --timeout=120s

7.配置入口

包括 k8s/proxy/ingressroute.yaml 是Traefik入口路线。如果您使用不同的入口控制器(nginx、Istio等),请相应地调整路由规则。主要路线如下:

路径需要JWT目的
/.well-known/oauth-*否MCP OAuth发现(RFC 9728)
/api/auth/*否令牌交换代理
/api/{slug}/mcp应用程序已验证MCP协议端点
/api/*是管理员API
/*否前端SPA

添加上游MCP服务器

部署后,上游MCP服务器完全通过管理仪表板进行管理,不需要进行清单更改。

  1. 使用属于配置的管理员组之一的帐户登录仪表板。
  2. 导航至 MCP服务器 然后单击 注册服务器.
  3. 提供服务器的名称、slug(URL安全标识符)和上游URL。
  4. 网关将自动连接并发现可用工具。
  5. 首选 群组 为Keycloak组分配工具级权限。

MCP客户端连接到 https://your-gateway.example.com/api/{slug}/mcp 并通过OAuth2-PKCE进行身份验证。网关透明地处理凭证注入和工具级访问控制。

配置参考

所有配置都是通过环境变量完成的。后端使用 媒染剂设置 --将它们设置在您的 .env 文件或直接在部署清单中。

变量必填默认描述
KEYCLOAK_URL是--OIDC提供商的基本URL(例如。 https://auth.example.com)
KEYCLOAK_REALM是--领域或租户路径段(Keycloak:领域名称;其他:见下文注释)
KEYCLOAK_CLIENT_ID是--OAuth2客户端ID
KEYCLOAK_CLIENT_SECRET无--客户机密(适用于机密客户)
KEYCLOAK_GROUPS_CLAIM没有groups包含组/角色成员资格的JWT声明(适用于任何提供者)
ADMIN_GROUPS没有["/admins"]具有管理员访问权限的组路径的JSON列表
SURREAL_URL没有ws://localhost:8000/rpc超现实的websocket URL
SURREAL_USER没有rootSurrealDB用户名
SURREAL_PASS没有rootSurrealDB密码
SURREAL_NAMESPACE没有just4mcpsSurrealDB命名空间
SURREAL_DATABASE没有mcp_gatewaySurrealDB数据库名称
GATEWAY_PUBLIC_URL否-API的公共基础URL(包括/API前缀(如果适用))
CORS_ORIGINS没有["http://localhost:5173"]允许的CORS源的JSON列表
CREDENTIAL_ENCRYPTION_KEY没有用于加密每个用户凭据的Fernet密钥
OIDC URL结构说明: 网关将OIDC端点构造为 {KEYCLOAK_URL}/realms/{KEYCLOAK_REALM}/protocol/openid-connect/*,这与Keycloak的URL模式相匹配。对于其他提供商,设置 KEYCLOAK_URL 和 KEYCLOAK_REALM 以便生成的URL正确解析,或分叉 keycloak_issuer 财产在 config.py 以匹配您的提供商的发现端点结构。

前端环境变量

这些在容器开始时通过以下方式注入 docker-entrypoint.sh 进入 window.__env__:

变量默认值描述
VITE_API_URLhttp://localhost:8000后端API基本URL
VITE_KEYCLOAK_URL--OIDC提供商基本URL
VITE_KEYCLOAK_REALM--领域/租户路径段
VITE_KEYCLOAK_CLIENT_ID--OAuth2客户端ID

身份提供者设置

Just4MCP可与任何符合OIDC标准的身份提供者配合使用。核心要求是:

  1. 一个机密的OAuth2客户端 --启用了授权码+PKCE授权
  2. JWT中的组/角色声明 --网关从可配置的JWT声明中读取组成员资格(默认值: groups)实施RBAC

将重定向URI设置为 https://your-gateway.example.com/* 您的注销后重定向到 https://your-gateway.example.com.

该团体声称

这是关键部分。网关需要在访问令牌(或ID令牌)中包含一个包含组名或角色名数组的声明。索赔名称可通过以下方式配置 KEYCLOAK_GROUPS_CLAIM (无论名称如何,它都适用于任何提供商)。你的 ADMIN_GROUPS 列表必须与您的提供者在该声明中输入的值相匹配。

例如,如果您的提供商发出 "groups": ["/admins", "/developers"],然后设置 ADMIN_GROUPS='["/admins"]' 授予这些用户管理员权限。

供应商特定指导

钥匙锁:创建机密客户端,然后添加 组成员 映射到您的客户端范围,令牌声明名称设置为 groups.创建组(例如。 /admins)并分配用户。

身份验证0:创建常规Web应用程序。使用Auth0操作(登录流)在自定义声明下向访问令牌添加组/角色成员资格,如 https://your-app/groups.Set KEYCLOAK_GROUPS_CLAIM 以匹配该索赔名称。

八月:使用授权码+PKCE创建Web应用程序。将组声明添加到您的授权服务器(安全→ API → 默认→ 索赔)按您所需的组进行筛选。索赔名称应匹配 KEYCLOAK_GROUPS_CLAIM.

Azure AD / 登录 ID:注册应用程序,启用ID令牌,并配置 令牌配置 → 添加组声明默认情况下,Azure会发出组对象ID——您可能希望将其配置为发出组名,或者将ID映射到您的 ADMIN_GROUPS 配置。

发展

Docker Compose设置包括后端和前端的热重新加载:

cd mcp-gateway
docker compose up --build --watch
  • 后端更改 backend/app/ 触发自动重启。
  • Vite的开发服务器会立即接收前端更改。

许可证

此项目根据MIT许可证获得许可——请参阅 许可证 了解详情。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

认证网关TypeScript本地部署角色访问控制MCP协议OIDC认证权限管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
just4mcps (Hraisikai)

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

just4mcps (Hraisikai) 怎么安装?

公开资料给出的安装命令是 python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())",运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

just4mcps (Hraisikai) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

just4mcps (Hraisikai) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

just4mcps (Hraisikai) 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

just4mcps (Hraisikai) 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP