mcpField
A
Asgardeo MCP Server

Asgardeo MCP Server

Local
github.com/asgardeoSecurity3Updated 25w ago

About Asgardeo MCP Server

Asgardeo MCP Server exposes LLM tools for managing an Asgardeo organization or WSO2 Identity Server. It supports application, API resource, user, and claim management, including natural-language login-flow updates; the project marks the software experimental and not for production use.

Key features

  1. 01List, create, and update applications
  2. 02Configure OAuth/OIDC and claims
  3. 03Manage API resources and authorization
  4. 04Create users and list claims
  5. 05Update login flows using natural language

Use cases

  1. 01Review organization applications and their details
  2. 02Create different application types
  3. 03Configure API resources and permissions for apps
  4. 04Modify an application's login flow

MCP support

The MCP server exposes tools for managing applications, API resources, users, and claims in Asgardeo or WSO2 Identity Server. MCP clients can invoke these tools for identity configuration tasks, including through natural-language requests.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Asgardeo MCP Server

The Asgardeo MCP Server allows you to manage your Asgardeo organization or WSO2 Identity Server deployment seamlessly using LLM tools, enabling natural language interactions for various configuration tasks.

Important

Experimental Feature Notice
This software includes experimental functionality and is not intended for use in production environments. Features, APIs, and functionality may change as the implementation evolves without prior notice.

Key Use Cases

With tools like Claude Desktop, you can:

  • List Applications: Retrieve a list of all applications in your organization.
  • Create Applications: Set up single-page, web, mobile or m2m applications and integrate it with the Asgardeo authentication SDK.
  • Retrieve Application Details: Fetch detailed information about specific applications.
  • Configure Login Flows: Customize the login flow of an application using natural language prompts and the available tools, enabling seamless user authentication experiences.
Demonstrations
  • Listing Applications in Claude
    Listing applications in Claude

  • Fetching Application Details in Claude
    Getting application details in Claude


How to Use

On Asgardeo / WSO2 Identity Server
  1. Create an M2M Application: Set up an M2M application in your organization.
  2. Authorize Management APIs: Grant the following scopes to the application:
APIScopes
Application Management API (/api/server/v1/applications)internal_application_mgt_view, internal_application_mgt_update, internal_application_mgt_create
API Resource Management API (/api/server/v1/api-resources)internal_api_resource_create, internal_api_resource_view
Identity Provider Management API (/api/server/v1/identity-providers)internal_idp_view
Authenticators Management API (/api/server/v1/authenticators)internal_authenticator_view
Claim Management API (/api/server/v1/claim-dialects)internal_claim_meta_view
SCIM2 Users API (/scim2/Users)internal_user_mgt_create
OIDC Scope Management API (/api/server/v1/oidc/scopes)internal_oidc_scope_mgt_view
  1. Copy Credentials: Save the client ID and client secret of the M2M application.
On Your Machine
  1. Clone the Repository:
git clone https://github.com/asgardeo/asgardeo-mcp-server.git
  1. Install Dependencies:
go mod tidy
  1. Build the Executable:
go build -o asgardeo-mcp

This will create the asgardeo-mcp binary in the current directory (e.g., /Users/<user directory>/asgardeo-mcp-server/asgardeo-mcp). Note down this absolute path as you will need it in the next step.

  1. Configure Your MCP Client:
VS Code (GitHub Copilot)
  • Install the GitHub Copilot extension.
  • Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and select MCP: Open User Configuration.
  • Add the following server configuration to the mcp.json file:
    {
      "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>"
                }
              }
      }
    }
    
  • Save the file and start the MCP server from mcp.json.
Claude Desktop
  • Open Claude Desktop and navigate to Settings > Developer.
  • Edit the claude_desktop_config.json file:
    "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>"
     }
    }
    
  • Restart Claude Desktop.
Cursor
  • Open Cursor and navigate to Settings > MCP.
  • Edit the mcp.json file:
    "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>"
     }
    }
    

Note

  • If you are using the WSO2 Identity Server, you need to set an additional environment variable named PRODUCT_MODE to wso2is.
  • Also, replace the BASE_URL with your WSO2 Identity Server base URL (e.g., https://<your-wso2is-host>/t/<tenant-domain>).
  • Additionally, if you are using WSO2 Identity Server for local development or in internal networks, you may need to set the certificate authority (CA) for the server to avoid SSL errors. You can do this by setting the CERT_PATH environment variable to the path of your CA certificate file.

Available Tools

The Asgardeo MCP Server provides the following tools for interacting with your organization:

Application Management
Tool NameDescriptionParameters
list_applicationsLists all applications in your organizationNone
create_single_page_appCreates a new Single Page Applicationapplication_name (required): Name of the application
redirect_url (required): Redirect URL for the application
create_webapp_with_ssrCreates a new web application with server-side renderingapplication_name (required): Name of the application
redirect_url (required): Redirect URL for the application
create_mobile_appCreates a new Mobile Applicationapplication_name (required): Name of the application
redirect_url (required): Redirect URL for the application
create_m2m_appCreates a new Machine-to-Machine Applicationapplication_name (required): Name of the application
get_application_by_nameGets details of an application by nameapplication_name (required): Name of the application to search for
get_application_by_client_idGets details of an application by client IDclient_id (required): Client ID of the application
update_application_basic_infoUpdates basic information of an applicationid (required): ID of the application
name, description, image_url, access_url, logout_return_url (optional)
update_application_oauth_configUpdates OAuth/OIDC configurations of an applicationid (required): ID of the application
redirect_urls, allowed_origins, user_access_token_expiry_time, application_access_token_expiry_time, refresh_token_expiry_time, etc. (optional)
update_application_claim_configUpdates claim configurations of an applicationid (required): ID of the application
claims (required): List of requested claim URIs (Claim URIs should be specified using the default WSO2 claim dialect. Eg: http://wso2.org/claims/username)
authorize_apiAuthorizes an application to access an APIappId (required): ID of the application
id (required): ID of the API resource
policyIdentifier (required, default: "RBAC"): Authorization policy
scopes (required): Scopes to authorize
list_authorized_apiLists authorized API resources of an applicationapp_id (required): ID of the application
update_login_flowUpdates login flow in an application based on a natural language promptapp_id (required): ID of the application
user_prompt (required): Natural language description of the desired login flow
API Resource Management
Tool NameDescriptionParameters
list_api_resourcesLists API resources in your organizationfilter (optional): Filter expression
limit (optional): Maximum results to return
search_api_resources_by_nameSearches for API resources by namename (required): Name of the API resource to search for
get_api_resource_by_identifierGets an API resource by its identifieridentifier (required): Identifier of the API resource
create_api_resourceCreates a new API resourceidentifier (required): Identifier for the API resource
name (required): Name of the API resource
requiresAuthorization (required): Whether the API requires authorization
scopes (required): List of scopes for the API
User Management
Tool NameDescriptionParameters
create_userCreates a user in your organizationusername (required): Username
password (required): Password
email (required): Email address
first_name (required): User's first name
last_name (required): User's last name
userstore_domain (optional, default: "DEFAULT"): Userstore domain
Claim Management
Tool NameDescriptionParameters
list_claimsLists claims in your organizationNone

Note

If you are using the WSO2 Identity Server and planning to use update_login_flow tool, make sure to follow the steps in Subscribe to AI features.


Example Prompts

Application Management
  • Create a SPA:

    Create a new Single Page Application named "My Demo App" with redirect URL "https://example.com/callback".
    
  • Update Application:

    Update my application with ID "abc123" to have a new name "Updated App".
    
  • Update Application Login Flow:

    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 Application Claim Configuration:

    Update the claim configuration of my application with ID "abc123" to include "username", and "last_name".
    
API Resource Management
  • Create and Authorize API:
    Create a new API resource named "Customer API" and authorize my application to access it with "read:customers" scopes.
    
User Management
  • Create a User:
    Create a test user with the username and email address '[email protected]'.
    
Claim Management
  • Get Claim list:
    List all claims in my Asgardeo organization.
    

Troubleshooting

Authentication & Permissions
  • Invalid Credentials: Verify your client ID, client secret, and organization name in the base URL
  • 403 Forbidden: Check if your M2M application has all required scopes authorized
Setup & Connection
  • Build Issues: Ensure Go 1.18+ is installed, run go mod tidy before building
  • MCP Connection: Verify executable path is absolute and correct, check permissions (chmod +x asgardeo-mcp)
Getting Help

If issues persist after troubleshooting:

  • Check GitHub issues
  • Create a new detailed issue including error messages and environment info
  • Join the WSO2 community forums for support

Contributing

Contributions are welcome! Submit issues or pull requests via the GitHub repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.