返回市场
阿斯加尔多MCP服务器

阿斯加尔多MCP服务器

作者:asgardeo3 星标更新:2025-08-12

项目介绍

Asgardeo MCP 服务器

Asgardeo MCP 服务器允许您使用大语言模型工具无缝管理您的 Asgardeo 组织或 WSO2 身份服务器部署,支持各种配置任务的自然语言交互。

[!IMPORTANT] 实验性功能通知
本软件包含实验性功能,并不适用于生产环境。 功能、API 和功能可能会在实施过程中发生变化,且不会提前通知。

主要用例

使用像 Claude Desktop 这样的工具,您可以:

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

演示

  • 在 Claude 中列出应用程序
    在 Claude 中列出应用程序

  • 在 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_update, 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
  1. 配置您的 MCP 客户端

VS Code (GitHub Copilot)

  • 安装 GitHub Copilot 扩展。
  • 打开 VS Code 设置 (文件 > 首选项 > 设置)。
  • 搜索 "MCP" 并编辑 settings.json 文件:
    "mcp": {
      "servers": {
          "asgardeo-mcp-server": {
              "type": "stdio",
              "command": "<绝对路径到 asgardeo-mcp 可执行文件,例如 /Users/<用户目录>/<仓库路径>/asgardeo-mcp-server/asgardeo-mcp>",
              "args": [],
              "env": {
                  "BASE_URL" : "https://api.asgardeo.io/t/<asgardeo 组织>",
                  "CLIENT_ID" : "<客户端 ID>",
                  "CLIENT_SECRET" : "<客户端密钥>"
                }
              }
      }
      }
    
  • 保存文件并从 settings.json 启动 MCP 服务器。

Claude Desktop

  • 打开 Claude Desktop 并导航至 设置 > 开发者
  • 编辑 claude_desktop_config.json 文件:
    "asgardeo-mcp": {
     "command": "<绝对路径到 asgardeo-mcp 可执行文件,例如 /Users/<用户目录>/<仓库路径>/asgardeo-mcp-server/asgardeo-mcp>",
     "args": [],
     "env": {
      "BASE_URL": "https://api.asgardeo.io/t/<asgardeo 组织>",
      "CLIENT_ID": "<客户端 ID>",
      "CLIENT_SECRET": "<客户端密钥>"
     }
    }
    
  • 重启 Claude Desktop。

Cursor

  • 打开 Cursor 并导航至 设置 > MCP
  • 编辑 mcp.json 文件:
    "asgardeo-mcp": {
     "command": "<绝对路径到 asgardeo-mcp 可执行文件,例如 /Users/<用户目录>/<仓库路径>/asgardeo-mcp-server/asgardeo-mcp>",
     "args": [],
     "env": {
      "BASE_URL": "https://api.asgardeo.io/t/<asgardeo 组织>",
      "CLIENT_ID": "<客户端 ID>",
      "CLIENT_SECRET": "<客户端密钥>"
     }
    }
    

[!NOTE]

  • 如果您使用的是 WSO2 身份服务器,需要设置一个名为 PRODUCT_MODE 的附加环境变量为 wso2is
  • 同时,替换 BASE_URL 为您自己的 WSO2 身份服务器基础 URL(例如,https://<您的 wso2is 主机>/t/<租户域>)。
  • 此外,如果您使用 WSO2 身份服务器进行本地开发或在内部网络中,可能需要设置服务器的证书颁发机构(CA),以避免 SSL 错误。您可以通过设置 CERT_PATH 环境变量为您的 CA 证书文件路径来实现这一点。

可用工具

Asgardeo MCP 服务器提供了以下工具用于与您的组织互动:

应用程序管理

工具名称描述参数
list_applications列出组织中的所有应用程序
create_single_page_app创建一个新的单页应用程序application_name (必需):应用程序名称<br>redirect_url (必需):应用程序的重定向 URL
create_webapp_with_ssr创建一个新的带有服务器端渲染的 Web 应用程序application_name (必需):应用程序名称<br>redirect_url (必需):应用程序的重定向 URL
create_mobile_app创建一个新的移动应用程序application_name (必需):应用程序名称<br>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<br>name, description, image_url, access_url, logout_return_url (可选)
update_application_oauth_config更新应用程序的 OAuth/OIDC 配置id (必需):应用程序的 ID<br>redirect_urls, allowed_origins, user_access_token_expiry_time, application_access_token_expiry_time, refresh_token_expiry_time 等 (可选)
update_application_claim_config更新应用程序的声明配置id (必需):应用程序的 ID<br>claims (必需):请求声明 URI 的列表 (声明 URI 应该使用默认的 WSO2 声明方言指定。例如:http://wso2.org/claims/username)
authorize_api授权应用程序访问 APIappId (必需):应用程序的 ID<br>id (必需):API 资源的 ID<br>policyIdentifier (必需,默认值:"RBAC"):授权策略<br>scopes (必需):要授权的作用域
list_authorized_api列出应用程序已授权的 API 资源app_id (必需):应用程序的 ID
update_login_flow根据自然语言提示更新应用程序的登录流程app_id (必需):应用程序的 ID<br>user_prompt (必需):所需登录流程的自然语言描述

API 资源管理

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

用户管理

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

声明管理

工具名称描述参数
list_claims列出组织中的声明

[!NOTE] 如果您使用的是 WSO2 身份服务器并且计划使用 update_login_flow 工具,请确保遵循 订阅 AI 功能 中的步骤。


示例提示

应用程序管理

  • 创建一个 SPA

    创建一个名为 "My Demo App" 的新单页应用程序,其重定向 URL 为 "https://example.com/callback"。
    
  • 更新应用程序

    将我的 ID 为 "abc123" 的应用程序更新为新的名称 "Updated App"。
    
  • 更新应用程序登录流程

    将我 ID 为 "abc123" 的应用程序的登录流程更新为用户名和密码作为第一步,电子邮件 OTP 作为第二步。
    
  • 更新应用程序声明配置

    将我 ID 为 "abc123" 的应用程序的声明配置更新为包括 "username" 和 "last_name"。
    

API 资源管理

  • 创建和授权 API
    创建一个名为 "Customer API" 的新 API 资源,并授权我的应用程序使用 "read:customers" 作用域访问它。
    

用户管理

  • 创建一个用户
    创建一个测试用户,用户名和电子邮件地址为 'test@example.com'。
    

声明管理

  • 获取声明列表
    列出我 Asgardeo 组织中的所有声明。
    

故障排除

认证与权限

  • 无效凭证:验证您的客户端 ID、客户端密钥以及基础 URL 中的组织名称
  • 403 Forbidden:检查您的 M2M 应用程序是否已授权所有必要的范围

设置与连接

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

获取帮助

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

  • 查看 GitHub 问题
  • 创建一个包含错误消息和环境信息的新详细问题
  • 加入 WSO2 社区论坛寻求支持

贡献

欢迎贡献!通过 GitHub 仓库 提交问题或拉取请求。