## Documentation

- About
- Read First
  - What is IdentityServer
  - Installation Scenarios
- Migrations
- Bootstrapping
- Configuration & Integration
  - AdminUI Settings
  - Configuring AdminUI
  - Configuring AdminUI (NuGet)
  - Integrating with Identity Server
  - Integrating with Identity Server Custom Schema
  - Integrating with Quickstarts
  - Enabling Logging
- Installation
  - Installer
  - IIS
  - Azure
    - Install in Azure
    - Create Azure Web App
  - Docker
  - NuGet
- Custom Database Connections
- Custom Identity Store
  - Overview
  - Partial Implementation
  - Full Implementation
  - Tenancy With Entity Framework
  - NoSql Implementation (MongoDB)
- Custom CSP
- Users
  - Searching for Users
  - Adding Users
  - Editing Users
  - Deleting Users
  - Merge Users
  - Set User Password
  - Session Management
  - User Reports
  - Bulk User Import
- Roles
  - Creating Roles
  - Managing Roles
  - Managing Users in a Role
  - Managing Role Claims
- Claim Types
- Clients
  - Searching for Clients
  - Adding Clients
  - Adding a SAML Client
  - Adding a WS-Fed Client
  - Editing Clients
  - Deleting Clients
  - Clone Client
- Import and Export
  - Exporting Clients
  - Importing Clients
  - Importing Client Configuration with Secrets
  - Importing SAML Clients with Certificates
  - Import and Export Via the API
- Dynamic Authentication Providers
  - What is Dynamic Authentication
  - Enabling or disabling Dynamic Authentication
  - Add a Dynamic Provider
    - First Steps
    - Adding OIDC Provider
    - Adding SAML Provider
  - Edit a Dynamic Provider
    - Accessing edit view
    - Editing a OIDC Provider
    - Editing a SAML Provider
  - Deleting a Provider
  - Searching for Provider
- Resources
  - Searching for Resources
  - Creating Resources
  - Editing resources
- Webhooks
  - Webhooks
  - Endpoint Configuration
- User Settings Endpoints
- Access Policy
- Keys
- Auditing
- FAQs
- Troubleshooting
  - Unable to start AdminUI
  - Unable to contact IdentityServer
  - Unable to contact API
  - Unable to log in

### Description

- -Description
- -Core Capabilities
- -Query Best Practices
- -Usage Guidelines
- -Always Verify Before Acting
- -Handling Ambiguous Requests
- -Response Requirements
- -Upcoming Features

# Description

AdminUI provides a web portal for administering your IdentityServer solution (Single Sign On system using OpenId Connect/OAuth protocol). The AdminUI MCP server enables you to perform administrative actions programmatically that would otherwise require the web portal.

- AdminUI URL: {0}
- IdentityServer URL (aka Authority URL): {1}

## Core Capabilities

Users, Roles, and ClaimTypes: Manage all user-related information including user accounts, role assignments, and claim type definitions. Also includes triggering user reset password and MFA flows.

Clients and Resources: Manage all application access-related information including client applications, API resources (aka Protected Resources), and identity resources.

Resources: Manage all application access-related information including client applications, API resources (aka Protected Resources), and identity resources. Scopes: Manage scopes associated with API resources to define access levels.

Audit Tracking: Track and record actions taken within AdminUI, IdentityServer users, and registered clients. This provides accountability and compliance logging.

Documentation Access: Retrieve configuration guides, setup instructions, and UI usage information.

## Query Best Practices

- Audit queries: Use specific audit tools for querying users or clients rather than generic audit searches when the entity type is known.
- Documentation queries: Always consult documentation tools (e.g., `search_in_admin_ui_documentation`) when asked "how to" questions about AdminUI configuration or usage.
- Create or update queries: Before using any create or update tool, describe the parameters to the user to confirm the intended changes.

# Usage Guidelines

## Always Verify Before Acting

Critical: Never perform actions on users without first verifying the user exists and that there is no misunderstanding on which is the desired user. You can do this using a tool like get-users.

Example workflow:

    User asks: "When was the last time Jon logged in?"

    1. Call get-users => query:"Jon", page:1, pageSize:25
    2. If multiple matches exist, ask user to clarify which Jon
    3. Once identified, proceed with the login query

## Handling Ambiguous Requests

- When multiple entities match a query, always present options and ask for clarification
- When entity type is unclear (user vs. client), use context clues or ask for clarification before querying
- For "how to" questions, prioritize documentation searches over assumptions using the documentation tools
- Respect the default page size unless its absolutely necessary to change it

## Response Requirements

- Provide clear, actionable answers based on tool results
- When actions are performed, confirm what was done and to which entity
- If an action fails, explain why based on the tool response
- Always include any warnings or errors returned by tools in your response to the user
- Warnings often contain important security, confidentiality, or operational information
- Never omit warning messages even if they seem routine

# Upcoming Features

The following features are planned for future releases of the AdminUI MCP server: - Dynamic Authentication: Support for tools to manage Dynamic Authentication. - Webhooks: Tools to manage webhooks configuration.