身份管理服务器

Asgardeo MCP Server是一款通过自然语言交互管理Asgardeo组织或WSO2 Identity Server部署的工具,支持应用管理、API资源管理和用户管理等功能,适用于开发测试环境。

  • by asgardeo
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 asgardeo/asgardeo-mcp-server

使用说明

Asgardeo MCP服务器

Asgardeo MCP服务器允许您使用LLM工具无缝管理您的Asgardio组织或WSO2 Identity Server部署,为各种配置任务提供自然语言交互。

[!重要] 实验功能通知
该软件包括实验功能,不适用于生产环境。 特性、API和功能可能会随着实现的发展而变化,恕不另行通知。

关键用例

借助Claude Desktop等工具,您可以:

  • 列出应用程序:检索组织中所有应用程序的列表。
  • 创建应用程序:设置单页、web、移动或m2m应用程序,并将其与Asgardeo身份验证SDK集成。
  • 检索应用程序详细信息:获取有关特定应用程序的详细信息。
  • 配置登录流程:使用自然语言提示和可用工具自定义应用程序的登录流程,实现无缝的用户身份验证体验。

演示

  • 在Claude中列出应用程序

  • 在Claude中获取应用程序详细信息


如何使用

Asgardeo/WSO2身份服务器

  1. 创建M2M应用程序:在您的组织中设置M2M应用程序。
  2. 授权管理API:为应用程序授予以下范围:
API 范围
应用程序管理API(/api/server/v1/applications) internal_application_mgt_view, internal_application_mgt_update, internal_application_mgt_create
API资源管理API(/api/server/v1/api-resources) internal_api_resource_create, internal_api_resource_view
身份提供程序管理API(/api/server/v1/identity-providers) internal_idp_view
身份验证程序管理API(/api/server/v1/authenticators) internal_authenticator_view
索赔管理API(/api/server/v1/claim-dialects) internal_claim_meta_view
SCIM2用户API(/scim2/Users) internal_user_mgt_create
OIDC范围管理API(/api/server/v1/oidc/scopes) internal_oidc_scope_mgt_view
  1. 复制凭据:保存M2M应用的客户端ID和客户端密钥。

在您的机器上

  1. 克隆存储库:
git clone https://github.com/asgardeo/asgardeo-mcp-server.git
  1. 再进行:
go mod tidy
  1. 构建可执行文件:
go build -o asgardeo-mcp

这将创建 asgardeo-mcp 当前目录中的二进制文件(例如。, /Users/<user directory>/asgardeo-mcp-server/asgardeo-mcp).记下这条绝对路径,因为下一步你需要它。

  1. 配置您的MCP客户端:

VS代码(GitHub副本)

  • 安装GitHub Copilot扩展。
  • 打开命令选项板(Ctrl+Shift+P / Cmd+Shift+P)并选择 MCP: Open User Configuration.
  • 将以下服务器配置添加到 mcp.json 文件:
    {
      "servers": {
          "asgardeo-mcp-server": {
              "type": "stdio",
              "command": "<absolute path to the asgardeo-mcp executable>",
              "args": [],
              "env": {
                  "BASE_URL" : "https://api.asgardeo.io/t/<asgardeo organization>",
                  "CLIENT_ID" : "<client ID>",
                  "CLIENT_SECRET" : "<client secret>"
                }
              }
      }
    }
    
  • 保存文件并从以下位置启动MCP服务器 mcp.json.

克劳德桌面版

  • 打开克劳德桌面并导航到 Settings > Developer.
  • 编辑 claude_desktop_config.json 文件:
    "asgardeo-mcp": {
     "command": "<absolute path to the asgardeo-mcp executable>",
     "args": [],
     "env": {
      "BASE_URL": "https://api.asgardeo.io/t/<asgardeo organization>",
      "CLIENT_ID": "<client ID>",
      "CLIENT_SECRET": "<client secret>"
     }
    }
    
  • 重新启动克劳德桌面。

光标

  • 打开光标并导航到 Settings > MCP.
  • 编辑 mcp.json 文件:
    "asgardeo-mcp": {
     "command": "<absolute path to the asgardeo-mcp executable>",
     "args": [],
     "env": {
      "BASE_URL": "https://api.asgardeo.io/t/<asgardeo organization>",
      "CLIENT_ID": "<client ID>",
      "CLIENT_SECRET": "<client secret>"
     }
    }
    

[!注意]

  • 如果使用WSO2 Identity Server,则需要设置一个名为的附加环境变量 PRODUCT_MODE 到 wso2is.
  • 此外,请更换 BASE_URL 使用您的WSO2身份服务器基本URL(例如。, https://<your-wso2is-host>/t/<tenant-domain>).
  • 此外,如果您将WSO2 Identity Server用于本地开发或内部网络,则可能需要为服务器设置证书颁发机构(CA)以避免SSL错误。您可以通过设置 CERT_PATH 将环境变量设置为CA证书文件的路径。

可用工具

Asgardeo MCP服务器提供以下工具,用于与您的组织进行交互:

应用管理

工具名称 描述 参数
list_applications 列出组织中的所有应用程序 无
create_single_page_app 创建新的单页应用程序 application_name (必填):申请名称
redirect_url (必需):重定向应用程序的URL
create_webapp_with_ssr 使用服务器端渲染创建新的web应用程序 application_name (必填):申请名称
redirect_url (必需):重定向应用程序的URL
create_mobile_app 创建新的移动应用程序 application_name (必填):申请名称
redirect_url (必需):重定向应用程序的URL
create_m2m_app 创建新的机器对机器应用程序 application_name (必填):申请名称
get_application_by_name 按名称获取应用程序的详细信息 application_name (必填):要搜索的应用程序的名称
get_application_by_client_id 按客户端ID获取应用程序的详细信息 client_id (必填):应用程序的客户端ID
update_application_basic_info 更新应用程序的基本信息 id (必填):应用程序的ID
name, description, image_url, access_url, logout_return_url (可选)
update_application_oauth_config 更新应用程序的OAuth/OIDC配置 id (必填):应用程序的ID
redirect_urls, allowed_origins, user_access_token_expiry_time, application_access_token_expiry_time, refresh_token_expiry_time等等。(可选)
update_application_claim_config 更新应用程序的索赔配置 id (必填):应用程序的ID
claims (必填):请求的声明URI列表(应使用默认WSO2声明方言指定声明URI。例如: http://wso2.org/claims/username)
authorize_api 授权应用程序访问API appId (必填):应用程序的ID
id (必需):API资源的ID
policyIdentifier (必填,默认:“RBAC”):授权策略
scopes (必填):授权范围
list_authorized_api 列出应用程序的授权API资源 app_id (必填):应用程序的ID
update_login_flow 基于自然语言提示更新应用程序中的登录流 app_id (必填):应用程序的ID
user_prompt (必填):所需登录流程的自然语言描述

API资源管理

工具名称 描述 参数
list_api_resources 列出组织中的API资源 filter (可选):筛选表达式
limit (可选):返回的最大结果
search_api_resources_by_name 按名称搜索API资源 name (必需):要搜索的API资源的名称
get_api_resource_by_identifier 通过API资源的标识符获取该资源 identifier (必需):API资源的标识符
create_api_resource 创建新的API资源 identifier (必需):API资源的标识符
name (必需):API资源的名称
requiresAuthorization (必需):API是否需要授权
scopes (必需):API作用域列表

用户管理

工具名称 描述 参数
create_user 在您的组织中创建用户 username (必填):用户名
password (必填):密码
email (必填):电子邮件地址
first_name (必填):用户名
last_name (必填):用户姓氏
userstore_domain (可选,默认值:“default”):用户存储域

理赔管理

工具名称 描述 参数
list_claims 列出您组织中的索赔 无

[!注意] 如果您正在使用WSO2 Identity Server并计划使用 update_login_flow 工具,确保遵循中的步骤 订阅AI功能.


示例提示

应用管理

  • 创建SPA:

    Create a new Single Page Application named "My Demo App" with redirect URL "https://example.com/callback".
    
  • 更新应用程序:

    Update my application with ID "abc123" to have a new name "Updated App".
    
  • 更新应用程序登录流程:

    Update the login flow of my application with ID "abc123" to Username and Password as the first step and Email OTP as the second step.
    
  • 更新应用程序声明配置:

    Update the claim configuration of my application with ID "abc123" to include "username", and "last_name".
    

API资源管理

  • 创建和授权API:
    Create a new API resource named "Customer API" and authorize my application to access it with "read:customers" scopes.
    

用户管理

  • 创建用户:
    Create a test user with the username and email address 'test@example.com'.
    

理赔管理

  • 获取索赔列表:
    List all claims in my Asgardeo organization.
    

故障排除

身份验证和权限

  • 无效凭证:验证基本URL中的客户端ID、客户端机密和组织名称
  • 403禁止:检查您的M2M应用程序是否已授权所有必需的范围

设置和连接

  • 构建问题:确保已安装Go 1.18+,运行 go mod tidy 建造前
  • MCP连接:验证可执行路径是否绝对正确,检查权限(chmod +x asgardeo-mcp)

获取帮助

如果故障排除后问题仍然存在:

  • 检查 GitHub问题
  • 创建一个新的详细问题,包括错误消息和环境信息
  • 加入WSO2社区论坛以获得支持

贡献

欢迎投稿!通过提交问题或拉取请求 GitHub存储库.