PingOne Advanced Identity Cloud MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AIC_BASE_URL | Yes | The base URL of your PingOne Advanced Identity Cloud tenant (e.g., your-tenant.forgeblocks.com or https://your-tenant.forgeblocks.com) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| createManagedObjectDefinitionA | Create a new managed object type definition in PingOne AIC by appending to the managed config. IMPORTANT: Call getManagedObjectSchema with includeFullDefinition=true on an existing object first to understand the expected definition structure. |
| createManagedObjectB | Create a new managed object in PingOne AIC |
| deleteManagedObjectDefinitionA | Delete a managed object type definition from PingOne AIC. Removes the object type from the managed config. IMPORTANT: This will fail if other object types have relationship properties referencing this object type. |
| deleteManagedObjectA | Delete a managed object by ID from PingOne AIC |
| getManagedObjectSchemaA | Retrieve schema definition for a managed object type in PingOne AIC |
| getManagedObjectA | Retrieve a managed object's complete profile by ID in PingOne AIC |
| listManagedObjectsB | Retrieve the list of all managed object types available in PingOne AIC |
| patchManagedObjectDefinitionA | Modify an existing managed object type definition in PingOne AIC using ForgeRock PATCH operations. Operations use field paths relative to the object (e.g., /schema/properties/email). IMPORTANT: Cannot modify relationship properties — use patchManagedObjectRelationship for those. |
| patchManagedObjectRelationshipA | Add, update, or remove a custom relationship property on a managed object type in PingOne AIC via the schema service. Only works with properties that have a "custom_" prefix. For add/update, provide the full relationship property definition. |
| patchManagedObjectA | Update specific fields of a managed object in PingOne AIC using JSON Patch operations |
| queryManagedObjectsB | Query managed objects in PingOne AIC using CREST query filter syntax |
| getLogSourcesA | Retrieve the list of available log sources in PingOne AIC |
| queryLogsA | Query PingOne AIC logs to investigate issues or understand system behavior. Useful for debugging journey execution failures, authentication errors, script exceptions, and API issues. Transaction IDs from error responses can be used to trace specific requests. |
| createThemeA | Create a new theme for a realm in PingOne AIC. IMPORTANT: Call getThemeSchema first to understand all available fields, their types, enum values, and requirements before creating a theme. |
| deleteThemeA | Delete a theme from a realm in PingOne AIC |
| getThemeSchemaA | Get comprehensive schema documentation for PingOne AIC themes including the expected payload structure, field types, enum values, and constraints. Use this before creating or updating themes to understand requirements. |
| getThemeA | Retrieve a specific theme by ID or name from PingOne AIC |
| getThemesA | Retrieve all themes for a specific realm in PingOne AIC |
| setDefaultThemeA | Set a theme as the default for a realm in PingOne AIC |
| updateThemeB | Update an existing theme in PingOne AIC |
| deleteVariableB | Delete an environment variable (ESV) from PingOne AIC |
| getVariableA | Retrieve a specific environment variable (ESV) by ID with decoded value |
| queryESVsC | Query environment secrets or variables (ESVs) in PingOne AIC by ID |
| setVariableA | Create or update an environment variable (ESV) in PingOne AIC |
| enableAiAgentA | Enable the AI Agents feature in PingOne AIC. IMPORTANT: this action is one-way and cannot be undone. Re-running this tool is safe. Use |
| installIdmFeatureA | Install an IDM feature in PingOne AIC. IMPORTANT: this action is one-way and cannot be undone. Run |
| listFeaturesA | List all available features in PingOne AIC and whether they are installed. Returns a unified list of IDM features and AIC platform features (e.g. AI Agents) with install status. This is the single tool to call when checking what features exist and their state. |
| validateIdmFeatureA | Check whether an IDM feature can be installed without making any changes. Returns a result with |
| createJourneyA | Create or replace an authentication journey (upsert operation — if a journey with the same name already exists, it is overwritten). Node IDs can be human-readable (e.g., "login-page") and will be automatically transformed to UUIDs. Use "success" or "failure" as connection targets for terminal nodes. Returns the mapping of original IDs to generated UUIDs. |
| createScriptA | Create a new Scripted Decision Node script for use in authentication journeys. Use getScriptedDecisionNodeBindings to see available variables and allowed imports before writing the script. |
| deleteJourneyNodesA | Batch delete orphaned node instances. Use this to clean up nodes that were removed from a journey during an update (via updateJourney) but still exist in AM. Note: Deleting an entire journey automatically cleans up its nodes, so this tool is only needed after journey updates that remove nodes. |
| deleteJourneyA | Delete an authentication journey from a realm. AM automatically cleans up all node instances within the journey, including PageNode child nodes. |
| deleteScriptA | Delete an AM script by its ID. Warning: This is a permanent deletion and cannot be undone. Ensure the script is not referenced by any journey nodes before deleting. |
| getAMScriptA | Retrieve an AM script by its ID. Returns the complete script including name, description, language, and source code. |
| getDynamicNodeOutcomesA | Calculate the dynamic outcomes for a node based on its configuration. Use this for nodes whose outcomes depend on their config, such as: PageNode (outcomes depend on child nodes - pass { nodes: [...] }), ChoiceCollectorNode (outcomes depend on choices array - pass { choices: [...] }), and similar configurable nodes. This helps determine what connections to wire when building journeys. |
| getJourneyPreviewUrlA | Generate the preview URL for testing an authentication journey. Returns a URL that can be opened in a browser to test the journey flow. |
| getJourneyA | Retrieve a specific authentication journey (tree) by name from a realm in PingOne AIC. Automatically fetches and includes complete node schemas and configurations for all nodes in the journey. Returns comprehensive journey data with embedded node details. |
| getNodeTypeDetailsA | Get complete details (schema, default template, and outcomes) for one or more node types. Use this before building journeys to understand what configuration each node type requires and what outcomes it produces. |
| getScriptedDecisionNodeBindingsA | Retrieve the available bindings (variables, functions) and allowed import libraries for Scripted Decision Node scripts. This is essential reference information when writing journey scripts - it shows what APIs and classes are available in the scripting environment. |
| listJourneysA | Retrieve all authentication journeys (trees) for a specific realm in PingOne AIC. Returns journey metadata including ID, description, and the default journey for the realm. |
| listNodeTypesA | Discover all available authentication node types in a realm. Returns node type metadata including ID, name, and tags. Use this to understand what node types can be used when building journeys. |
| listScriptsA | List Scripted Decision Node scripts (evaluatorVersion 2.0) in a realm. Returns script metadata including ID, name, description, language, and context. Use getAMScript to retrieve the full script content. |
| setDefaultJourneyA | Set the default authentication journey for a realm. This journey will be used when no specific journey is requested during authentication. |
| updateJourneyNodeA | Update a single node's configuration without modifying the journey structure. This is a FULL REPLACEMENT of the node configuration - to preserve existing fields, first fetch the current configuration using getJourney, merge your changes, then call this tool with the complete configuration. |
| updateJourneyA | Update an existing authentication journey. Fetches the current journey, merges any caller-provided metadata fields (description, identityResource, mustRun, innerTreeOnly, uiConfig, enabled, maximumSessionTime, maximumIdleTime), and PUTs the result back. If nodes and/or entryNodeId are provided, the graph is replaced atomically using the same UUID transformation pipeline as createJourney; otherwise the existing graph is preserved unchanged. Fields not supplied by the caller are preserved from the fetched journey. |
| updateScriptA | Update an existing Scripted Decision Node script. You can update any combination of name, description, or script content. |
| createOidcAppA | Creates an OIDC application. Only supply the oauth2Client fields you want to set; defaults are applied for the rest. |
| deleteOidcAppB | Deletes an OIDC application. |
| getOidcAppSchemaA | Returns the schema for an OIDC application. By default returns a compact summary of property names, types, and allowed values. Set summary=false for full details. Call this before createOidcApp or updateOidcApp to understand available fields. |
| getOidcAppA | Retrieves a complete OIDC application configuration. |
| listOidcAppsA | Lists OIDC applications in a realm with summary fields only. Use getOidcApp for full details of a specific app. |
| updateOidcAppA | Updates an OIDC application. You can update the client configuration, the application metadata, or both. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pingidentity/aic-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server