Asgardeo MCP服务器
Asgardeo MCP服务器允许您使用LLM工具无缝管理您的Asgardio组织或WSO2 Identity Server部署,为各种配置任务提供自然语言交互。
\[!重要\] 实验功能通知\ 该软件包括实验功能,不适用于生产环境。 特性、API和功能可能会随着实现的发展而变化,恕不另行通知。
关键用例
借助Claude Desktop等工具,您可以:
- 列出应用程序:检索组织中所有应用程序的列表。
- 创建应用程序:设置单页、web、移动或m2m应用程序,并将其与Asgardeo身份验证SDK集成。
- 检索应用程序详细信息:获取有关特定应用程序的详细信息。
- 配置登录流程:使用自然语言提示和可用工具自定义应用程序的登录流程,实现无缝的用户身份验证体验。
演示
- 在Claude中列出应用程序\
- 在Claude中获取应用程序详细信息\
Getting application details in Claude
______________________________________________________________________
如何使用
Asgardeo/WSO2身份服务器
- 创建M2M应用程序:在您的组织中设置M2M应用程序。
- 授权管理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 |
- 复制凭据:保存M2M应用的客户端ID和客户端密钥。
在您的机器上
- 克隆存储库:
git clone https://github.com/asgardeo/asgardeo-mcp-server.git- 再进行:
go mod tidy- 构建可执行文件:
go build -o asgardeo-mcp这将创建 asgardeo-mcp 当前目录中的二进制文件(例如。, /Users//asgardeo-mcp-server/asgardeo-mcp).记下这条绝对路径,因为下一步你需要它。
- 配置您的MCP客户端:
VS代码(GitHub副本)
- 安装GitHub Copilot扩展。
- 打开命令选项板(
Ctrl+Shift+P/Cmd+Shift+P)并选择MCP: Open User Configuration. - 将以下服务器配置添加到
mcp.json文件:
{
"servers": {
"asgardeo-mcp-server": {
"type": "stdio",
"command": "",
"args": [],
"env": {
"BASE_URL" : "https://api.asgardeo.io/t/",
"CLIENT_ID" : "",
"CLIENT_SECRET" : ""
}
}
}
}- 保存文件并从以下位置启动MCP服务器
mcp.json.
克劳德桌面版
- 打开克劳德桌面并导航到
Settings > Developer. - 编辑
claude_desktop_config.json文件:
"asgardeo-mcp": {
"command": "",
"args": [],
"env": {
"BASE_URL": "https://api.asgardeo.io/t/",
"CLIENT_ID": "",
"CLIENT_SECRET": ""
}
}- 重新启动克劳德桌面。
光标
- 打开光标并导航到
Settings > MCP. - 编辑
mcp.json文件:
"asgardeo-mcp": {
"command": "",
"args": [],
"env": {
"BASE_URL": "https://api.asgardeo.io/t/",
"CLIENT_ID": "",
"CLIENT_SECRET": ""
}
}\[!注意\] - 如果使用WSO2 Identity Server,则需要设置一个名为的附加环境变量PRODUCT_MODE到wso2is. - 此外,请更换BASE_URL使用您的WSO2身份服务器基本URL(例如。,https:///t/). - 此外,如果您将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)
获取帮助
如果故障排除后问题仍然存在:
- 检查
- 创建一个新的详细问题,包括错误消息和环境信息
- 加入WSO2社区论坛以获得支持
______________________________________________________________________
贡献
欢迎投稿!通过提交问题或拉取请求 .
