PingOne Advanced Identity Cloud MCP Server
OfficialThe PingOne Advanced Identity Cloud MCP Server enables AI assistants to manage and interact with PingOne AIC environments through natural language, without needing the admin console or API scripts. It supports tools like Claude, Cursor, VS Code with GitHub Copilot, Gemini CLI, and Codex.
Managed Objects (Users, Roles, Groups, Organizations, Custom Types)
List available managed object types and retrieve schema definitions
Query objects using CREST filter syntax with pagination and sorting
Full CRUD: get, create, patch, and delete managed objects by ID
Themes (Login & Account Page Customization)
Get theme schema, list, get, create, update, and delete themes
Set the default theme for a realm (alpha or bravo)
Logging & Monitoring
Discover available log sources
Query logs with flexible filtering by time range, source, transaction ID, and payload content
Environment Secrets and Variables (ESVs)
Query, retrieve (with decoded values), create, update, and delete environment variables and secrets
AM Authentication Journeys (local deployment only, not available in Docker)
List, get (with full node schemas/configs), save, delete, and set default journeys
Generate preview URLs to test journeys in a browser
Discover available node types and their schemas, outcomes, and templates
Update individual nodes, batch delete orphaned nodes
Manage Scripted Decision Node scripts: list, get (with base64 decoding), create, update, and delete
Get scripted decision node bindings (available variables and allowed imports)
Security & Compliance
OAuth 2.0 PKCE flow with OS keychain token storage (local) or Device Code Flow with ephemeral storage (Docker)
User-based authentication for full audit trails, input validation, and tenant isolation
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PingOne Advanced Identity Cloud MCP Server show me all failed login attempts from the last hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PingOne Advanced Identity Cloud MCP Server
Features • Use Cases • Prerequisites • Getting Started • Authentication • Available Tools • Agent Skills • Docker Deployment • Security • Monitoring & Audit • Troubleshooting • Development • License
Security Notice
Depending on the requests made to the MCP server, tenant configuration or data may be returned. Do not use the MCP server with untrusted MCP clients, agent code or LLM inference.
Review Generated Configuration
Configuration can be generated dynamically using LLM and user feedback represented dynamically back to agents/conversations. Be sure to review generated configuration before promoting to production environments, or those serving live identity/access requests.
An MCP (Model Context Protocol) server that enables AI assistants to interact with PingOne Advanced Identity Cloud environments. Manage users, roles, groups, organizations, customize authentication themes, analyze logs, and query identity data directly from your AI conversations.
Ask questions like "Find all alpha_users with email starting with john@example.com", "Create a new theme called 'Corporate Brand' with primary color #0066cc", or "Show me all ERROR level logs from the am-authentication source in the last hour".
Features
Administer your AIC environment using natural language - Interact with PingOne AIC from whichever AI tool you use daily. No need to switch to the admin console or write API scripts - just ask your AI assistant.
Secure authentication - Supports OAuth 2.0 PKCE flow for local deployment and Device Code Flow for containerized deployment. All actions are user-based and auditable. Tokens stored securely in OS keychain (local) or ephemerally (Docker).
Broad tool support - Supports full CRUD operations against any managed object type in your environment (users, roles, groups, organizations, and custom types), authentication journey and script management, theme customization, advanced log querying, and environment variable configuration.
Related MCP server: DaVinci MCP Server
Use Cases
Journey Management - "Show me the Login journey", "Create a new MFA journey", "Add a scripted decision node to the registration flow", "Set Login as the default journey"
Authentication Customization - "Create a branded theme with our corporate colors", "Show me all themes in production", "Set the new theme as default"
Audit & Monitoring - "Show me failed login attempts in the last hour", "Find all logs for transaction abc-123", "What log sources are available?"
Identity Operations - "Find all users with admin in their username", "Create a new developer role", "Update the email for user xyz123"
Configuration Management - "List all environment variables", "Create a new API key variable", "Update the database connection string"
Getting Started
Prerequisites
Node.js 18+
PingOne Advanced Identity Cloud Sandbox or Development Tenant
MCP-compatible client (Claude Code, Claude Desktop, Cursor, VS Code with GitHub Copilot, Gemini CLI, Codex, etc.)
Configure Your MCP Client
The MCP server requires the AIC_BASE_URL environment variable to be set to your PingOne AIC hostname.
Add this to your MCP client configuration:
{
"mcpServers": {
"aic-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@ping-identity/aic-mcp-server"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}Required: Replace your-tenant.forgeblocks.com with your PingOne AIC tenant URL.
Client-specific instructions:
Add this to your Claude MCP configuration (claude.json for Claude Code or claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"aic-mcp-server": {
"command": "npx",
"args": ["-y", "@ping-identity/aic-mcp-server"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}Add this to your Cursor MCP configuration (.cursor/mcp.json):
{
"mcpServers": {
"aic-mcp-server": {
"command": "npx",
"args": ["-y", "@ping-identity/aic-mcp-server"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}
Add this to your Copilot MCP configuration (mcp.json):
{
"mcpServers": {
"aic-mcp-server": {
"command": "npx",
"args": ["-y", "@ping-identity/aic-mcp-server"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}Add this to your Gemini CLI MCP configuration (settings.json):
{
"mcpServers": {
"aic-mcp-server": {
"command": "npx",
"args": ["-y", "@ping-identity/aic-mcp-server"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}Add this to your Codex MCP configuration (~/.codex/config.toml):
[mcp_servers.aic-mcp-server]
command = "npx"
args = ["-y", "@ping-identity/aic-mcp-server"]
env = {"AIC_BASE_URL" = "your-tenant.forgeblocks.com"}Restart your MCP client and start asking questions! Your browser will open for authentication when you use the first tool in a session.
Authentication
The server uses OAuth 2.0 PKCE flow for secure user authentication:
First Tool Use - Browser opens automatically for user login at PingOne AIC when you use a tool for the first time in a session
Token Storage - Access tokens stored securely in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
Automatic Reuse - Cached tokens used for subsequent tool calls within the same session
Auto Re-authentication - When tokens expire during a session, browser opens again for new login
Docker Deployment: Uses OAuth 2.0 Device Code Flow with ephemeral token storage (tokens deleted on container restart).
Security Features:
User-based actions provide complete audit trail
All actions traceable to authenticated users for compliance
Administrator Access Required: This server requires administrative authentication and provides administrative capabilities to your PingOne AIC development and sandbox environments. All operations are performed as the authenticated administrator and are fully auditable.
Development and Sandbox Environments Only: This server can only be used with development and sandbox environments. Use with trusted AI assistants in secure contexts. AI-driven operations can make mistakes - review and test changes carefully before promoting to higher environments.
Available Tools
The server provides tools for AI agents to interact with your PingOne AIC environment:
Managed Objects
Generic CRUD operations for any managed object type in your environment, plus administrative tools for managing object type definitions and relationship properties.
Tool | Description | Usage Examples |
| Discover all managed object types in your environment | - |
| Get schema definition for an object type | - |
| Query objects with filters, pagination, sorting | - |
| Retrieve an object's complete profile | - |
| Create a new managed object | - |
| Update object fields | - |
| Delete an object | - |
| Create a new managed object type definition | - |
| Modify an existing managed object type definition using ForgeRock PATCH operations | - |
| Delete a managed object type definition from the managed config | - |
| Add, update, or remove a custom relationship property (must use | - |
Themes
Customize login and account page appearance.
Tool | Description | Usage Examples |
| Get complete theme schema documentation | - |
| List all themes in a realm | - |
| Get a theme's complete configuration | - |
| Create a new theme | - |
| Update theme properties | - |
| Delete a theme | - |
| Set a theme as the realm default | - |
Logging
Query and analyze authentication and activity logs.
Tool | Description | Usage Examples |
| List available log sources | - |
| Query logs with time range, source, and content filters | - |
ESVs (Environment Secrets and Variables)
Manage environment secrets and variables.
Tool | Description | Usage Examples |
| Query variables or secrets by ID pattern | - |
| Retrieve a variable with decoded value | - |
| Create or update a variable | - |
| Delete a variable | - |
Feature Management
Inspect and enable optional features in PingOne AIC. A single listFeatures tool returns a unified view of all IDM and AIC platform features with install status. Install operations are one-way and cannot be undone from these tools.
Tool | Description | Usage Examples |
| List all features (IDM + AIC platform) and their install status | - |
| Check whether an IDM feature can be installed without making any changes | - |
| Install an IDM feature (one-way — cannot be undone). Run | - |
| Enable AI Agents (one-way — cannot be undone). Re-running is safe | - |
Applications (Not available when using Docker)
**📍 Not available when using MCP from a Docker container **: Application tools are automatically excluded in Docker deployments because they require browser-based PKCE authentication which is incompatible with the Device Code Flow used in containers.
Manage OIDC applications in a realm.
Tool | Description | Usage Examples |
| Get the OIDC app schema (compact summary by default, full detail with section filtering available) | - |
| List OIDC applications in a realm with summary fields | - |
| Retrieve a complete OIDC application configuration | - |
| Create a new OIDC application | - |
| Update an OIDC application (partial updates — send only changed fields) | - |
| Delete an OIDC application | - |
AM Journeys (Not available when using Docker)
**📍 Not available when using MCP from a Docker container **: AM Journey tools are automatically excluded in Docker deployments because they require browser-based PKCE authentication which is incompatible with the Device Code Flow used in containers.
Manage authentication journeys, node types, and scripts.
Tool | Description | Usage Examples |
| List all authentication journeys in a realm | - |
| Get journey with node schemas and configs automatically included | - |
| Create or replace an authentication journey atomically (upsert) | - |
| Update an existing journey's metadata and/or replace its node graph | - |
| Delete a journey and its associated nodes | - |
| Set the default authentication journey for a realm | - |
| Generate a preview URL to test a journey in a browser | - |
| Discover all available authentication node types | - |
| Get schema, template, and outcomes for node types | - |
| Calculate outcomes for a node based on its configuration | - |
| Update a single node's configuration | - |
| Batch delete orphaned node instances | - |
| List Scripted Decision Node scripts in a realm | - |
| Get AM script with automatic base64 decoding | - |
| Create a new Scripted Decision Node script | - |
| Update an existing script's name, description, or content | - |
| Delete an AM script | - |
| Get available bindings and allowed imports for scripting | - |
Key Feature: The getJourney tool automatically fetches and includes all node schemas and configurations in parallel, so you get complete journey details in a single call - no need to manually fetch node information.
Agent Skills
This repository ships agent skills that extend your AI assistant's ability to work with the AIC MCP server. Once installed, your agent can take on operational tasks — like auditing MCP usage in your environment — without needing explicit instructions.
Skill | What it does | Try it |
Audits MCP server activity in AIC logs — authentication events, user-attributed actions, and API traffic | "Show me what's been done via the MCP server today" |
Install the Skills
Option 1 — Skills CLI (works with any supported agent):
npx skills add pingidentity/aic-mcp-serverOption 2 — Manual installation:
Clone the repository and copy the skills from .claude/skills/ to your agent's skills directory. See your agent's documentation for the correct location:
Once installed, verify by asking your agent "What skills do you have?" — you should see monitor-usage in the list.
Docker Deployment
⚠️ EXPERIMENTAL: Docker deployment uses OAuth 2.0 Device Code Flow with MCP form elicitation. This requires MCP client support for form elicitation, which is currently limited. If your client doesn't support it, use the local deployment method above.
Build Image
npm run docker:buildConfigure Your MCP Client
Claude Code or Claude Desktop
Add this to your Claude MCP configuration (claude.json for Claude Code or claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"aic-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"AIC_BASE_URL=your-tenant.forgeblocks.com",
"pingidentity/aic-mcp-server:latest"
]
}
}
}Authentication: When authentication is required, your MCP client should display a URL. Click it to authenticate in your browser, then accept the prompt in your client.
Token Storage: Tokens are stored ephemerally in the container filesystem (/app/tokens/token.json) and deleted on container restart for enhanced security.
Security
The PingOne AIC MCP Server implements multiple security layers:
Secure credential storage - Tokens stored in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) for local deployment, or ephemerally in container filesystem for Docker
No plain text secrets - No sensitive information stored in configuration files
OAuth 2.0 authentication - PKCE flow for local deployment prevents authorization code interception; Device Code flow for containerized deployment
User-based authentication - All API calls are authenticated as the user who logged in, providing complete audit trails
Input validation - Built-in protections against path traversal and query injection attacks
Tenant isolation - Tokens are validated against the configured
AIC_BASE_URLto prevent accidental cross-tenant operations
Monitoring & Audit
All operations performed through the MCP server are executed as the authenticated user — there are no anonymous or service-account-attributed actions. Every tool invocation produces a full audit trail in the AIC audit logs, attributable to the individual who authenticated the session.
Authentication events
The server authenticates using two registered OAuth 2.0 clients:
AICMCPClient— used for the initial user login (PKCE or Device Code flow)AICMCPExchangeClient— used to obtain scoped tokens for each tool call via RFC 8693 token exchange
Filtering the am-authentication log source for either of these client IDs will surface all MCP authentication activity. Each token exchange references the original user login, providing a complete chain from the tool call back to the authenticated identity.
Attributing actions to a user
All API calls made by the server carry the scoped token issued to the authenticated user. Configuration changes (journeys, scripts, OIDC apps) appear in AM audit logs and identity operations (managed objects, groups, relationships) appear in IDM audit logs — all attributed to the user identity, not a service account.
Identifying MCP traffic
All requests from the server include a User-Agent header of the form aic-mcp-server/<version>. This can be used to filter access logs and isolate MCP-originated traffic from browser sessions, automated reconciliation jobs, and other API clients.
"FATAL: AIC_BASE_URL environment variable is not set"
Set the AIC_BASE_URL environment variable in your MCP client configuration to your PingOne AIC tenant URL (e.g., your-tenant.forgeblocks.com or https://your-tenant.forgeblocks.com).
"Port 3000 is already in use"
Another service is using port 3000 (required for OAuth redirect). Stop that service and try again.
"Browser doesn't open during authentication"
Check that the open package has permissions to launch your browser, or manually navigate to the URL shown in the error message.
Docker: "URL not displayed during authentication"
Your MCP client may not support form elicitation yet. Use the local deployment method instead.
Development
To build the server from source for development:
# Clone the repository
git clone https://github.com/pingidentity/aic-mcp-server.git
cd aic-mcp-server
# Install dependencies
npm install
# Compile TypeScript
npm run buildThen configure your MCP client to use the local build:
{
"mcpServers": {
"aic-mcp-server": {
"command": "node",
"args": ["/absolute/path/to/aic-mcp-server/dist/index.js"],
"env": {
"AIC_BASE_URL": "your-tenant.forgeblocks.com"
}
}
}
}For type checking without building:
npm run typecheckThe project includes a comprehensive test suite covering all tools and authentication flows.
# Run all tests
npm test
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverage
# Update tool schema snapshots
npm run test:snapshots:updateUse the MCP Inspector to visually test tools in a web interface:
# Development mode (no build required - faster iteration)
AIC_BASE_URL=your-tenant.forgeblocks.com npm run dev:inspect
# Production mode (requires build first)
npm run build
AIC_BASE_URL=your-tenant.forgeblocks.com npm run inspectHosts a web interface for interactive tool testing and OAuth flow debugging.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Feedback & Issues
We welcome your feedback! Please use this repository's issue tracker to submit feedback, bug reports, or enhancement requests. For existing issues, you can add a 👍 reaction to help our team gauge priority.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Available Tools
57 toolscreateCorsPolicyCreate CORS PolicyA
Create a new CORS policy on the global AM CorsService. All seven policy fields are required. A user-facing policyId may optionally be supplied; if omitted, AM assigns one. The policy ID is returned in the success response.
Inputs: maxAge (required), enabled (required), exposedHeaders (required), acceptedHeaders (required), +4 more.
createJourneyCreate JourneyAIdempotent
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.
Inputs: realm (required), journeyData (required), journeyName (required), description, +1 more.
createManagedObjectCreate Managed ObjectC
Create a new managed object in PingOne AIC
Inputs: objectData (required), objectType (required).
createManagedObjectDefinitionCreate Managed Object DefinitionA
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.
Inputs: objectName (required), objectDefinition (required).
createOidcAppCreate OIDC AppA
Creates an OIDC application. Only supply the oauth2Client fields you want to set; defaults are applied for the rest.
Inputs: name (required), realm (required), owners (required), clientId (required), +1 more.
createScriptCreate AM ScriptA
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.
Inputs: name (required), realm (required), script (required), description.
createThemeCreate ThemeA
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.
Inputs: realm (required), themeData (required).
deleteCorsPolicyDelete CORS PolicyADestructive
Delete a CORS policy by its ID from the global AM CorsService. Warning: this is a permanent deletion and cannot be undone.
Inputs: policyId (required).
deleteJourneyDelete JourneyADestructive
Delete an authentication journey from a realm. AM automatically cleans up all node instances within the journey, including PageNode child nodes.
Inputs: realm (required), journeyName (required).
deleteJourneyNodesDelete Journey Nodes (Batch)ADestructive
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.
Inputs: nodes (required), realm (required).
deleteManagedObjectDelete Managed ObjectBDestructive
Delete a managed object by ID from PingOne AIC
Inputs: objectId (required), objectType (required).
deleteManagedObjectDefinitionDelete Managed Object DefinitionADestructive
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.
Inputs: objectName (required).
deleteOidcAppDelete OIDC AppBDestructive
Deletes an OIDC application.
Inputs: name (required), realm (required).
deleteScriptDelete AM ScriptADestructive
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.
Inputs: realm (required), scriptId (required).
deleteThemeDelete ThemeBDestructive
Delete a theme from a realm in PingOne AIC
Inputs: realm (required), themeIdentifier (required).
deleteVariableDelete Environment Variable (ESV)ADestructive
Delete an environment variable (ESV) from PingOne AIC
Inputs: variableId (required).
enableAiAgentEnable AI Agents (End-to-End)ADestructiveIdempotent
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 listFeatures to check current status.
Inputs: no named parameters.
getAMScriptGet AM ScriptARead-only
Retrieve an AM script by its ID. Returns the complete script including name, description, language, and source code.
Inputs: realm (required), scriptId (required).
getCorsPolicyGet CORS PolicyARead-only
Retrieve a single CORS policy by its ID from the global AM CorsService. Returns the full policy including origins, methods, headers, maxAge, allowCredentials, and enabled status.
Inputs: policyId (required).
getDynamicNodeOutcomesGet Dynamic Node OutcomesARead-only
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.
Inputs: realm (required), config (required), nodeType (required).
getJourneyGet AM Journey (with Node Details)ARead-only
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.
Inputs: realm (required), journeyName (required).
getJourneyPreviewUrlGet Journey Preview URLARead-only
Generate the preview URL for testing an authentication journey. Returns a URL that can be opened in a browser to test the journey flow.
Inputs: realm (required), journeyName.
getLogSourcesGet Log SourcesARead-only
Retrieve the list of available log sources in PingOne AIC
Inputs: no named parameters.
getManagedObjectGet Managed ObjectBRead-only
Retrieve a managed object's complete profile by ID in PingOne AIC
Inputs: objectId (required), objectType (required).
getManagedObjectSchemaGet Managed Object SchemaBRead-only
Retrieve schema definition for a managed object type in PingOne AIC
Inputs: objectType (required), includeFullDefinition.
getNodeTypeDetailsGet Node Type DetailsARead-only
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.
Inputs: realm (required), nodeTypes (required).
getOidcAppGet OIDC AppARead-only
Retrieves a complete OIDC application configuration.
Inputs: name (required), realm (required).
getOidcAppSchemaGet OIDC App SchemaARead-only
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.
Inputs: realm (required), summary, sections, includeDefaults.
getScriptedDecisionNodeBindingsGet Scripted Decision Node BindingsARead-only
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.
Inputs: realm (required).
getThemeGet ThemeARead-only
Retrieve a specific theme by ID or name from PingOne AIC
Inputs: realm (required), themeIdentifier (required).
getThemesGet ThemesARead-only
Retrieve all themes for a specific realm in PingOne AIC
Inputs: realm (required).
getThemeSchemaGet Theme SchemaARead-only
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.
Inputs: no named parameters.
getVariableGet Environment Variable (ESV)ARead-only
Retrieve a specific environment variable (ESV) by ID with decoded value
Inputs: variableId (required).
installIdmFeatureInstall IDM FeatureADestructive
Install an IDM feature in PingOne AIC. IMPORTANT: this action is one-way and cannot be undone. Run validateIdmFeature first to check the feature can be installed. For AI Agents, use enableAiAgent instead. Use listFeatures to see what is available.
Inputs: featureName (required).
listCorsPoliciesList CORS PoliciesARead-only
List all CORS policies configured on the global AM CorsService. Returns policy metadata including IDs and configured origins, methods, and headers.
Inputs: no named parameters.
listFeaturesList FeaturesARead-only
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.
Inputs: no named parameters.
listJourneysList AM JourneysARead-only
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.
Inputs: realm (required).
listManagedObjectsList Managed ObjectsARead-only
Retrieve the list of all managed object types available in PingOne AIC
Inputs: no named parameters.
listNodeTypesList AM Node TypesARead-only
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.
Inputs: realm (required).
listOidcAppsList OIDC AppsARead-only
Lists OIDC applications in a realm with summary fields only. Use getOidcApp for full details of a specific app.
Inputs: realm (required), queryFilter.
listScriptsList AM ScriptsARead-only
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.
Inputs: realm (required).
patchManagedObjectPatch Managed ObjectB
Update specific fields of a managed object in PingOne AIC using JSON Patch operations
Inputs: objectId (required), revision (required), objectType (required), operations (required).
patchManagedObjectDefinitionPatch Managed Object DefinitionA
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.
Inputs: objectName (required), operations (required).
patchManagedObjectRelationshipPatch Managed Object RelationshipADestructive
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.
Inputs: action (required), objectType (required), propertyName (required), propertyDefinition.
queryESVsQuery Environment Secrets and Variables (ESVs)BRead-only
Query environment secrets or variables (ESVs) in PingOne AIC by ID
Inputs: type (required), pageSize, sortKeys, queryTerm, +1 more.
queryLogsQuery LogsARead-only
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.
Inputs: sources (required), endTime, pageSize, beginTime, +3 more.
queryManagedObjectsQuery Managed ObjectsBRead-only
Query managed objects in PingOne AIC using CREST query filter syntax
Inputs: objectType (required), fields, pageSize, sortKeys, +2 more.
setDefaultJourneySet Default JourneyAIdempotent
Set the default authentication journey for a realm. This journey will be used when no specific journey is requested during authentication.
Inputs: realm (required), journeyName (required).
setDefaultThemeSet Default ThemeAIdempotent
Set a theme as the default for a realm in PingOne AIC
Inputs: realm (required), themeIdentifier (required).
setVariableSet Environment Variable (ESV)AIdempotent
Create or update an environment variable (ESV) in PingOne AIC
Inputs: type (required), variableId (required), value, description.
updateCorsPolicyUpdate CORS PolicyAIdempotent
Update an existing CORS policy by ID on the global AM CorsService. Performs a full replacement on the wire (fetch-then-PUT): the current policy is fetched first, any provided fields are merged over it, and the complete policy is PUT back to AM. Fields not supplied are preserved from the existing policy.
Inputs: policyId (required), maxAge, enabled, exposedHeaders, +4 more.
updateJourneyUpdate JourneyAIdempotent
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.
Inputs: realm (required), journeyName (required), nodes, enabled, +8 more.
updateJourneyNodeUpdate Journey NodeAIdempotent
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.
Inputs: realm (required), config (required), nodeId (required), nodeType (required).
updateOidcAppUpdate OIDC AppAIdempotent
Updates an OIDC application. You can update the client configuration, the application metadata, or both.
Inputs: name (required), realm (required), oauth2Client, managedApplication.
updateScriptUpdate AM ScriptAIdempotent
Update an existing Scripted Decision Node script. You can update any combination of name, description, or script content.
Inputs: realm (required), scriptId (required), name, script, +1 more.
updateThemeUpdate ThemeAIdempotent
Update an existing theme in PingOne AIC
Inputs: realm (required), themeUpdates (required), themeIdentifier (required).
validateIdmFeatureValidate IDM FeatureARead-only
Check whether an IDM feature can be installed without making any changes. Returns a result with success (true/false) and a message explaining any blockers. Run this before installIdmFeature.
Inputs: featureName (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 57 tools
Tools are mostly distinct by resource+action, but several retrieval pairs overlap: queryESVs vs getVariable (both fetch ESVs by ID), listManagedObjects (lists types) vs queryManagedObjects (queries instances), and createJourney (upsert) vs updateJourney. Descriptions help, but an agent could misselect without careful reading.
Core pattern is verb_noun, but verb choices vary for similar operations (get vs list vs query, create vs set vs update vs patch) and acronym casing is inconsistent (OidcApp, getAMScript, queryESVs, enableAiAgent). getAMScript also breaks from the Script-prefixed script tools (createScript, deleteScript, updateScript, listScripts).
57 tools is excessive for a single MCP server; while the platform is broad, this many tools increases selection burden and cognitive load. Each sub-domain has a reasonable set, but the total is unwieldy.
Coverage is strong for managed objects, themes, variables, features, CORS, journeys, scripts, and OIDC apps, with full CRUD in most areas. However, platform-level gaps exist (e.g., no realm CRUD, no list-variables operation, no SAML or user-specific tools), which could block some workflows.
Maintenance
Related MCP Connectors
Enables AI assistants to retrieve event data and execute event management operations in Nunify.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
AI-native project and portfolio management platform for PMOs. OAuth + PAT.
Related MCP Servers
AlicenseAqualityBmaintenanceScalekit is the MCP gateway for AI agents. It connects agents to 500+ connectors and 20,000+ actions through one endpoint, works with any agent framework, and makes every call as the user, with OAuth, credentials, and permissions handled. Cloud or self-hosted35547 npm5Apache 2.0
DaVinci MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and troubleshoot PingOne DaVinci identity orchestration flows, applications, connectors, variables, and forms through standardized MCP tools.121 npm1Apache 2.0
OneLogin MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables managing users, apps, roles, authentication, and security settings through natural language, providing comprehensive access to the OneLogin API.4,028 npm6MIT- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely access Okta Identity Governance APIs for managing users, groups, apps, access requests, and certifications with configurable deployment modes and safety controls.-