Skycloak
chính thứcMáy chủ Model Context Protocol cho Skycloak quản lý Keycloak. Quản lý cụm, realm, ứng dụng, SSO và người dùng từ bất kỳ máy khách MCP nào.
Bạn có thể làm gì với Skycloak MCP?
Quản lý các cụm Skycloak (Keycloak được quản lý), realm và SSO của bạn từ bất kỳ máy khách MCP nào.
- Đánh giá nâng cấp cụm — Hỏi cụm nào đang tụt hậu về nâng cấp Keycloak và nhận lộ trình nâng cấp qua
list_cluster_upgradesvàget_cluster_upgrade_path. - Cung cấp realm — Tạo realm với đăng nhập Google và GitHub bằng
create_realmvàcreate_identity_provider. - Chuyển tiếp SIEM — Thiết lập đích SIEM chuyển tiếp sự kiện quản trị đến webhook Datadog qua
create_siem_destination. - Thiết lập tên miền tùy chỉnh — Thêm tên miền tùy chỉnh, lấy bản ghi DNS và xác minh bằng
create_domainvàverify_domain.
Tài liệu
skycloak-mcp
Máy chủ Model Context Protocol chính thức cho Skycloak (Keycloak được quản lý): quản lý cụm, realm, ứng dụng và SSO của bạn từ bất kỳ máy khách MCP nào (Claude Desktop, Claude Code, Cursor).
Trạng thái: bản phát hành sớm. Phạm vi công cụ đang được mở rộng; xem changelog để biết những gì hiện có.
Bắt đầu nhanh
claude mcp add --transport http skycloak https://mcp.skycloak.io
Không cần API key, không cần client ID, không cần cấu hình. Trình duyệt của bạn mở ra, bạn đăng nhập vào Skycloak và các công cụ xuất hiện. Bất kỳ máy khách MCP nào hỗ trợ streamable HTTP đều hoạt động theo cách tương tự: chỉ cần cung cấp URL và không gì khác.
Sau đó hãy yêu cầu điều gì đó:
- "Cụm Keycloak nào của tôi đang chậm nâng cấp?"
- "Tạo một realm staging trên cụm EU với đăng nhập Google và GitHub."
- "Ai đã được thêm vào realm production trong tuần qua?"
- "Thiết lập đích SIEM chuyển tiếp sự kiện quản trị đến webhook Datadog của chúng tôi."
Xác thực & bảo mật
- HTTP được lưu trữ, với OAuth (không cần cấu hình thông tin xác thực). Trỏ máy khách của bạn đến
https://mcp.skycloak.iomà không cần header. Máy chủ trả lời401bằng con trỏ đến siêu dữ liệu RFC 9728 của nó tại/.well-known/oauth-protected-resource, máy khách chạy luồng ủy quyền mã trình duyệt với realm đăng nhập Skycloak và mã truy cập nhận được sẽ được trao đổi lấy API key ngắn hạn, có phạm vi workspace mà phiên chạy sử dụng. Key kéo dài một giờ và được gia hạn tự động. Không có gì được lưu trữ trong cấu hình máy khách của bạn. - HTTP được lưu trữ, với API key. Tạo key trong bảng điều khiển Skycloak và gửi nó dưới dạng
Authorization: Bearer <key>(hoặcAPI-Key: <key>). Mỗi yêu cầu mang thông tin xác thực riêng và chỉ hoạt động với workspace của thông tin xác thực đó. Máy chủ không lưu trạng thái phiên, vì vậy một yêu cầu không bao giờ kế thừa trạng thái của người gọi khác. Key không được xác minh trước khi sử dụng: API Skycloak là cơ quan có thẩm quyền, vì vậy key không hợp lệ sẽ xuất hiện dưới dạng401ở lần gọi công cụ đầu tiên thay vì tại thời điểm kết nối. - Công cụ khớp với vai trò của bạn. Qua OAuth, danh sách công cụ được cắt giảm theo phạm vi mà phiên được phép, vì vậy thành viên workspace chỉ đọc sẽ không được hiển thị các công cụ ghi mà có thể trả lời
403. Với API key, toàn bộ bề mặt được đăng ký, vì phạm vi của key không hiển thị với máy chủ và một cuộc gọi không được phép sẽ xuất hiện dưới dạng403từ API. - Stdio cục bộ. Chạy
skycloak-mcp initvà phê duyệt trong trình duyệt của bạn (luồng ủy quyền thiết bị OAuth 2.0). Nó tạo API key có phạm vi workspace, lưu trữ trong keychain hệ điều hành của bạn và tự động phát hiện workspace mặc định của bạn (truyền--workspace <id>để chọn workspace khác).skycloak-mcp logoutxóa key đã lưu trữ. - Không đầu / CI. Đặt biến môi trường
SKYCLOAK_API_KEY(tạo key trong bảng điều khiển Skycloak) để bỏ qua trình duyệt hoàn toàn. Nó luôn được ưu tiên hơn keychain. - Các thao tác ghi được kiểm soát bởi thông tin xác thực của bạn, không phải bởi cờ. Máy chủ được lưu trữ tại
https://mcp.skycloak.iochạy có khả năng ghi và những gì bạn thực sự có thể thay đổi bị giới hạn bởi phạm vi của key và vai trò workspace của bạn: thành viên chỉ đọc không thể thay đổi bất cứ điều gì, bất kể danh sách công cụ nói gì. Thêm?readonly=truevào URL để buộc bề mặt công cụ chỉ đọc cho một phiên. Tệp nhị phân cục bộ hoạt động ngược lại và không đăng ký công cụ ghi nào trừ khi được khởi động với--allow-writes. - Thông tin xác thực cụm là tùy chọn.
get_cluster_credentialstrả về thông tin xác thực quản trị Keycloak của một cụm, mà trợ lý giữ key sẽ nhìn thấy, vì vậyinitkhông yêu cầu phạm vi đó theo mặc định. Sử dụng key mang phạm vi đó: tạo key trong bảng điều khiển hoặc qua stdio đăng nhập vớiskycloak-mcp init --allow-credentials. Nếu không có nó, công cụ trả về 403 giải thích cả hai cách. - Các công cụ phá hủy yêu cầu xác nhận: ví dụ: xóa realm cần đối số
confirm=truerõ ràng. - Các yêu cầu bị giới hạn tốc độ theo gói Skycloak của bạn; trên phản hồi
429, máy chủ hiển thịRetry-After.
Công cụ
129 công cụ: 58 chỉ đọc và 71 ghi. Các công cụ chỉ đọc luôn khả dụng. Trên máy chủ được lưu trữ, các công cụ ghi cũng được đăng ký và được kiểm soát bởi phạm vi thông tin xác thực của bạn; tệp nhị phân cục bộ chỉ đăng ký chúng khi được khởi động với --allow-writes.
Tên công cụ mang tiền tố skycloak_ mà bảng dưới đây bỏ qua, vì vậy list_clusters là skycloak_list_clusters trong máy khách của bạn.
| Khu vực | Chỉ đọc | Ghi (--allow-writes) |
|---|---|---|
| Cụm | list_clusters, get_cluster, list_cluster_locations, list_cluster_types, list_cluster_features, list_cluster_versions, list_cluster_upgrades, get_cluster_upgrade_path, get_cluster_credentials, get_cluster_insights, get_cluster_maintenance_window | create_cluster, update_cluster, delete_cluster, cancel_cluster_upgrade, set_cluster_maintenance_window, delete_cluster_maintenance_window |
| Bảo mật biên | get_cluster_security, list_cluster_captcha_domains | update_cluster_security, add_cluster_captcha_domain, remove_cluster_captcha_domain |
| Realm | list_realms, get_realm | create_realm, update_realm, delete_realm |
| Ứng dụng | list_applications, get_application, list_application_roles, list_application_sessions | create_application, update_application, delete_application, assign_application_role, remove_application_role, rotate_application_secret |
| Nhà cung cấp danh tính | list_identity_providers, get_identity_provider, list_identity_provider_templates, discover_oidc | create_identity_provider (OIDC), update_identity_provider, delete_identity_provider, test_identity_provider |
| Người dùng, vai trò & nhóm | list_realm_users, get_realm_user, list_realm_roles, get_realm_role, list_realm_groups, get_realm_group, list_realm_group_members, list_user_roles, list_user_groups | create_realm_user, update_realm_user, delete_realm_user, create_realm_role, update_realm_role, delete_realm_role, create_realm_group, update_realm_group, delete_realm_group, assign_realm_user_role, remove_realm_user_role, add_realm_user_to_group, remove_realm_user_from_group |
| Tên miền tùy chỉnh | list_domains, get_domain, list_domain_routes, get_domain_route | create_domain, verify_domain, delete_domain, create_domain_route, update_domain_route, delete_domain_route |
| Thương hiệu & chủ đề | list_themes, get_theme, get_theme_assignment, get_client_theme_assignment, get_login_branding, get_email_branding, download_theme_content | set_theme_assignment, set_client_theme_assignment, update_theme, delete_theme, upsert_login_branding, delete_login_branding, upsert_email_branding, delete_email_branding |
| Tiện ích mở rộng | list_extensions, list_cluster_extensions | install_extension, upgrade_extension, update_extension, uninstall_extension, delete_extension |
| SMTP | get_smtp | upsert_smtp, delete_smtp, test_smtp |
| Xuất & nhật ký | list_exports, get_export, get_logs, get_security_logs, query_events | create_export, delete_export, export_cluster_events |
| Nhập & xuất realm | get_realm_export, get_realm_import | create_realm_export, create_realm_import, create_realm_import_upload_url |
| SIEM | list_siem_destinations, get_siem_destination | create_siem_destination, update_siem_destination, delete_siem_destination, test_siem_destination |
| Webhook | list_webhook_event_types, list_webhook_subscriptions, get_webhook_subscription | create_webhook_subscription, update_webhook_subscription, delete_webhook_subscription, test_webhook_subscription |
Quy ước: các công cụ phá hủy (delete_*, uninstall_extension, cancel_cluster_upgrade) yêu cầu confirm=true. create_cluster là bất đồng bộ: thăm dò get_cluster cho đến khi cụm ở trạng thái available. create_domain trả về bản ghi DNS mà khách hàng phải tạo; verify_domain kích hoạt kiểm tra DNS. set_theme_assignment kích hoạt chủ đề tùy chỉnh theo loại chủ đề Keycloak (chuỗi rỗng đặt lại về mặc định tích hợp). update_cluster_security không chạm vào cài đặt CAPTCHA. Nhập/xuất realm di chuyển cấu hình của một realm và tách biệt với create_export, công cụ xuất toàn bộ cơ sở dữ liệu của một cụm: cả hai đều bất đồng bộ và kho lưu trữ realm luôn được mã hóa, vì vậy mật khẩu dùng để xuất cần thiết để nhập lại. Một realm có thể được nhập trực tiếp từ bản xuất hiện có (source_export_id) hoặc từ kho lưu trữ đã tải lên (create_realm_import_upload_url, PUT, sau đó upload_s3_key); việc nhập tạo một realm và từ chối xung đột tên thay vì ghi đè, đồng thời cần confirm=true vì nó mang theo người dùng và thông tin xác thực.
Lời nhắc
Tám lời nhắc cung cấp cho bạn điểm khởi đầu vào bề mặt công cụ đó. Máy khách hiển thị chúng dưới dạng lệnh gạch chéo hoặc hành động đề xuất; mỗi lời nhắc nhận đối số (realm, cụm, khoảng thời gian) và hướng dẫn mô hình sử dụng đúng công cụ theo đúng thứ tự.
| Lời nhắc | Chức năng |
|---|---|
audit_self_registration | Tìm mọi realm vẫn cho phép tự đăng ký, trên một cụm hoặc tất cả các cụm |
review_upgrades | Phát hiện cụm chậm phiên bản Keycloak và vạch ra lộ trình nâng cấp |
triage_failed_logins | Lấy các lần đăng nhập thất bại gần đây cho một realm và nhóm chúng theo IP nguồn |
review_identity_providers | Liệt kê các kết nối SSO của một realm và kiểm tra xem một kết nối cụ thể có được bật không |
review_admin_changes | Hiển thị ai đã thay đổi gì trong một realm gần đây, tập trung vào cài đặt đăng nhập và bảo mật |
provision_environment | Tạo cụm, thêm realm và kết nối nhà cung cấp danh tính, xác nhận từng bước |
set_up_custom_domain | Thêm tên miền tùy chỉnh, trả lại bản ghi DNS chính xác, xác minh và định tuyến đến một realm |
rotate_client_secret | Tạo lại client secret của ứng dụng với phạm vi ảnh hưởng được nêu rõ trước tiên |
Các lời nhắc được kiểm soát giống như các công cụ chúng đề cập: ba lời nhắc thay đổi chỉ được cung cấp cho các phiên có thể gọi các công cụ ghi mà chúng tham chiếu và hướng dẫn của chúng yêu cầu mô hình xác nhận với bạn trước khi thay đổi bất cứ điều gì. Yêu cầu confirm=true đối với các công cụ phá hủy vẫn được áp dụng bên trên.
Kỹ năng
Trong khi lời nhắc là điểm khởi đầu, kỹ năng là một sổ tay vận hành đầy đủ mà mô hình tải theo yêu cầu. Máy chủ đi kèm bốn kỹ năng, được phục vụ qua bản nháp Tiện ích mở rộng Kỹ năng SEP-2640: nó khai báo io.modelcontextprotocol/skills trong các khả năng của mình, trả lời skills/list và skills/get, đồng thời phục vụ từng SKILL.md như một tài nguyên thông thường tại skill://<name>/SKILL.md với hàm băm sha256 trong mục danh sách của nó. Thư mục plugin của OpenAI nhập các kỹ năng chính xác theo hình thức này.
| Kỹ năng | Nội dung mã hóa |
|---|---|
auth-incident-triage | Phân loại "người dùng không thể đăng nhập": tách biệt sự cố nền tảng khỏi tấn công và thay đổi cấu hình, sử dụng sự kiện, nhật ký WAF và tình trạng cụm. Chỉ đọc |
enterprise-sso-rollout | Kết nối IdP doanh nghiệp vào một realm từ đầu đến cuối: xác thực nhà phát hành, đăng ký ứng dụng thượng nguồn, cấu hình broker, kiểm tra kết nối và xác minh dựa trên sự kiện đăng nhập thực tế |
keycloak-migration-doctor | Kiểm tra trước bản xuất, nhập hoặc di chuyển Keycloak dựa trên các trình chặn mà bộ phận hỗ trợ thực sự gặp phải (chính sách script, đường dẫn /auth cũ, kỳ vọng xuất một phần) và chẩn đoán công việc thất bại bằng cách đọc error_message thực tế thay vì thông báo bảng điều khiển chung chung |
keycloak-upgrade-readiness | Đánh giá độ lệch phiên bản, xác định những gì phiên bản Keycloak mới phá vỡ (tiện ích mở rộng, chủ đề) và sắp xếp triển khai trên các môi trường với bản xuất làm kế hoạch khôi phục |
Các kỹ năng tuân theo cùng kiểm soát như các công cụ chúng đề cập: ba quy trình làm việc xây dựng quanh công cụ ghi bị giữ lại khỏi các phiên chỉ đọc và một phiên có phạm vi chỉ được đề xuất kỹ năng mà nó thực sự có công cụ. Các nguồn nằm trong internal/tools/skills/, một thư mục cho mỗi kỹ năng, ở định dạng Agent Skills tiêu chuẩn, vì vậy chúng cũng hoạt động khi được sao chép trực tiếp vào thư mục kỹ năng cục bộ.
Kết nối
Đối với HTTP được lưu trữ, cách đơn giản nhất là OAuth, không cần thông tin xác thực nào:
claude mcp add --transport http skycloak https://mcp.skycloak.io
Lần gọi đầu tiên mở trình duyệt của bạn, bạn phê duyệt trên trang đăng nhập Skycloak và các công cụ xuất hiện. Nếu bạn thuộc nhiều workspace, hãy chỉ định workspace bạn muốn:
claude mcp add --transport http skycloak "https://mcp.skycloak.io?workspace=<workspace-id>"
Nếu không, hãy tạo API key trong bảng điều khiển Skycloak và cấu hình máy khách MCP của bạn để gửi nó dưới dạng bearer token:
claude mcp add --transport http skycloak https://mcp.skycloak.io --header "Authorization: Bearer sk_sc_XXX"
Điều này thêm nội dung sau vào .claude.json:
{
"mcpServers": {
"skycloak": {
"type": "http",
"url": "https://mcp.skycloak.io",
"headers": {
"Authorization": "Bearer sk_sc_XXX"
}
}
}
}
Đối với stdio cục bộ, hãy đăng nhập một lần, sau đó trỏ máy khách của bạn đến skycloak-mcp run:
skycloak-mcp init # one-time browser sign-in; stores a key in your keychain
Claude Desktop / Cursor (cục bộ, stdio):
{
"mcpServers": {
"skycloak": {
"command": "skycloak-mcp",
"args": ["run", "--transport", "stdio"]
}
}
}
Claude Code:
claude mcp add skycloak -- skycloak-mcp run --transport stdio
Đối với môi trường headless / CI (không có trình duyệt), bỏ qua init và truyền khóa thay vào đó: thêm "env": { "SKYCLOAK_API_KEY": "sk_sc_..." } vào cấu hình, hoặc claude mcp add skycloak --env SKYCLOAK_API_KEY=sk_sc_... -- skycloak-mcp run --transport stdio.
Chỉ thêm --allow-writes khi bạn có ý định thực hiện thay đổi (đăng nhập bằng skycloak-mcp init --allow-writes, hoặc dùng khóa có phạm vi ghi).
Thêm ?readonly=true vào một URL HTTP được lưu trữ để chỉ hiển thị các công cụ chỉ đọc cho phiên HTTP đó, hoặc ?readonly=false để yêu cầu bề mặt công cụ có khả năng ghi. Tham số truy vấn mặc định là false, nhưng các công cụ ghi chỉ được đăng ký khi máy chủ được khởi động với --allow-writes.
Thêm ?workspace=<uuid> để chọn không gian làm việc mà một phiên OAuth sẽ thao tác. Chỉ cần thiết khi bạn thuộc nhiều hơn một không gian làm việc; với một không gian làm việc duy nhất, máy chủ sẽ tự chọn cho bạn, và nếu bạn thuộc nhiều không gian mà không chỉ định cái nào, kết nối sẽ thất bại kèm thông báo liệt kê chúng.
Chạy giao thức vận chuyển HTTP
skycloak-mcp run --transport http --http-addr :8080
Nó không cần thông tin xác thực riêng: người gọi tự cung cấp thông tin xác thực của họ cho từng yêu cầu, vì vậy không có gì được tiêm vào lúc triển khai. GET /healthz và GET /readyz không yêu cầu xác thực và chỉ báo cáo rằng tiến trình đang chạy; chúng cố ý không thăm dò API Skycloak, vì vậy một sự cố thượng nguồn không thể làm hỏng đồng loạt các lần kiểm tra của mọi bản sao. Máy chủ không giữ trạng thái phiên, vì vậy các bản sao không cần gắn kết phiên và có thể được mở rộng hoặc triển khai lại tự do. SIGTERM dừng các kết nối mới và xả các cuộc gọi đang xử lý.
Đường dẫn OAuth luôn bật khi SKYCLOAK_ISSUER và SKYCLOAK_DASHBOARD_URL được thiết lập, điều này mặc định là có. GET /.well-known/oauth-protected-resource sau đó được phục vụ mà không cần xác thực, đặt tên realm làm máy chủ ủy quyền. Giá trị resource của nó được lấy từ SKYCLOAK_PUBLIC_URL khi được thiết lập, và nếu không thì lấy từ Host và scheme của chính yêu cầu, vì vậy một triển khai máy chủ đơn sau ingress không cần cấu hình thêm. Scheme đến từ X-Forwarded-Proto khi có mặt, và nếu không thì mặc định là https cho mọi thứ trừ máy chủ loopback, vì TLS kết thúc ở thượng nguồn và việc công bố định danh http:// sẽ không khớp với URL mà máy khách đã kết nối. Đặt SKYCLOAK_PUBLIC_URL nếu ingress của bạn viết lại Host. Tài liệu cũng liệt kê openid profile email làm scopes_supported của nó, và thử thách WWW-Authenticate lặp lại chúng dưới dạng tham số scope, vì vậy máy khách đọc một trong hai sẽ yêu cầu realm cung cấp chúng: openid là bắt buộc, vì quá trình trao đổi token khiến bảng điều khiển gọi endpoint userinfo của Keycloak và Keycloak từ chối token được cấp mà không có nó. Một token đến mà không có nó sẽ bị từ chối tại bước xác minh với 401 và thử thách, thay vì được chuyển đến một quá trình trao đổi không thể thành công, vì vậy máy khách vẫn giữ một khoản cấp từ trước sẽ ngừng thử lại và đăng nhập lại. Xóa trống một trong hai biến issuer hoặc dashboard sẽ tắt hoàn toàn OAuth, và máy chủ quay lại thách thức bằng khóa API và không gì khác.
OPENAI_APPS_CHALLENGE_TOKEN phục vụ token xác minh thư mục plugin của OpenAI tại /.well-known/openai-apps-challenge, dưới dạng văn bản thuần túy và không gì khác. Nếu không được thiết lập, tuyến đường không được đăng ký và đường dẫn trả về 404.
Quá trình khởi động ghi một dòng nhật ký với cấu hình kết nối đã phân giải (oauth=, issuer=, dashboard=, public_url=, endpoint=, allow_writes=), vì vậy một triển khai cấu hình sai có thể được phát hiện mà không cần triển khai lại. Mọi yêu cầu bị từ chối trên đường dẫn OAuth đều ghi một dòng nhật ký nêu tên giai đoạn thất bại (verify, exchange hoặc scopes), trạng thái mà người gọi nhận được, và lỗi cơ bản. Một lỗi xác minh bổ sung kiểm tra đã từ chối token (expired, wrong_issuer, bad_signature, unknown_key_id, wrong_token_type, no_openid_scope, v.v.); một lỗi trao đổi bổ sung trạng thái của bảng điều khiển và máy chủ được gọi. Người gọi xuất hiện dưới dạng chủ thể của token sau khi được xác minh, và không bao giờ dưới dạng thông tin xác thực: token truy cập, tiêu đề Authorization và khóa API được tạo ra không bao giờ bị ghi nhật ký.
Cấu hình
| Biến môi trường | Mặc định |
|---|---|
SKYCLOAK_API_KEY | không có (tùy chọn cho stdio; máy khách HTTP cung cấp tiêu đề API-Key thay vào đó) |
SKYCLOAK_ENDPOINT | https://api.skycloak.io |
SKYCLOAK_API_VERSION | phiên bản API hiện tại |
SKYCLOAK_ISSUER | https://login.app.skycloak.io/realms/skycloak (đăng nhập CLI, và máy chủ ủy quyền mà giao thức vận chuyển HTTP xác minh token) |
SKYCLOAK_CLIENT_ID | skycloak-mcp (chỉ dành cho luồng thiết bị CLI) |
SKYCLOAK_DASHBOARD_URL | https://app.skycloak.io (tạo khóa CLI và khóa phiên HTTP) |
SKYCLOAK_PUBLIC_URL | không có (suy ra từ mỗi yêu cầu; đặt nó khi ingress viết lại Host) |
OPENAI_APPS_CHALLENGE_TOKEN | Phục vụ token xác minh thư mục plugin của OpenAI tại /.well-known/openai-apps-challenge. Nếu không được thiết lập, đường dẫn đó trả về 404. |
Lệnh: init (đăng nhập qua trình duyệt), run (phục vụ), logout (xóa khóa đã lưu). init chấp nhận --workspace <id>, --allow-writes, --allow-credentials, và --ttl-days (mặc định 90).
| Cờ | Mặc định | Mô tả |
|---|---|---|
--transport | stdio | stdio hoặc http |
--http-addr | :8080 | địa chỉ lắng nghe cho giao thức vận chuyển HTTP |
--allow-writes | false | bật các công cụ thay đổi dữ liệu cho stdio và cho phép các phiên HTTP có readonly=false đăng ký công cụ ghi |
Phát triển
make build # build the server binary
make test # unit tests
make run # run on stdio for local testing
make inspector # MCP Inspector against the local binary
make lint # golangci-lint
make generate # regenerate the API client from the OpenAPI spec
Máy khách API trong internal/apiclient được tạo từ đặc tả OpenAPI của Skycloak bằng oapi-codegen.
Giữ đồng bộ với API
Máy khách trong internal/apiclient được tạo từ internal/apiclient/openapi.yaml bằng oapi-codegen; chạy make generate để làm mới nó. CI sẽ thất bại nếu mã đã tạo được cam kết lệch khỏi đặc tả. Các yêu cầu được thử lại trên 429/5xx với backoff nhận biết Retry-After.
Phân phối
Được phát hành dưới dạng tệp nhị phân GitHub và hình ảnh container ghcr.io/sky-cloak/skycloak-mcp trên mỗi tag, và được xuất bản lên MCP Registry dưới tên io.skycloak/skycloak-mcp. Hầu hết mọi người không cần cả hai: máy chủ được lưu trữ không cần cài đặt.
Bảo mật
Vui lòng báo cáo lỗ hổng một cách riêng tư. Xem SECURITY.md.
Người đóng góp
Được xây dựng tại Skycloak bởi Guilliano Molaire, Neville Omangi và Aphilas. Lịch sử kho lưu trữ đã được nén lại khi được mở công khai, vì vậy nhật ký cam kết không phản ánh ai đã viết phần nào.
Giấy phép
Apache-2.0. Mô tả OpenAPI trong internal/apiclient/openapi.yaml được tạo từ API nền tảng Skycloak và thuộc bản quyền (c) Skycloak; nó được đưa vào đây để máy khách có thể được tạo và xác minh. Xem NOTICE.