Build PingOne-Powered Applications in Gemini Code Assist with CData Code Assist MCP

Somya Sharma
Somya Sharma
Technical Marketing Engineer
Use the CData Code Assist MCP for PingOne to explore live PingOne Data in Gemini Code Assist to assist with building PingOne-powered applications.

Gemini Code Assist is an AI-powered coding companion that integrates intelligent code generation into everyday development workflows. With support for MCP, Gemini Code Assist can connect to live enterprise data sources directly from Visual Studio Code, enabling natural language interaction with structured data without switching context or manually writing data access code.

Model Context Protocol (MCP) is an open standard for connecting LLM clients to external services through structured tool interfaces. MCP servers expose capabilities such as schema discovery and live querying, allowing AI agents to retrieve and reason over real-time data safely and consistently.

This guide walks through installing the CData Code Assist MCP for PingOne, configuring the connection to PingOne, connecting the Code Assist MCP add-on to Gemini Code Assist, and querying live PingOne data from within the editor.

Prerequisites

Before starting, ensure the following requirements are met:

  1. Visual Studio Code is installed on the machine
  2. Gemini Code Assist extension is enabled in Visual Studio Code
  3. CData Code Assist MCP for PingOne has been installed
  4. Access to PingOne

Note: Gemini Code Assist must already be set up and functional in Visual Studio Code before configuring MCP servers. MCP servers are accessed when Gemini Code Assist is running in Agent mode.

Step 1: Download and install the CData Code Assist MCP for PingOne

  1. To begin, download the CData Code Assist MCP for PingOne
  2. Find and double-click the installer to begin the installation
  3. Run the installer and follow the prompts to complete the installation

When the installation is complete, the Code Assist MCP add-on is ready for configuration by connecting to PingOne.

Step 2: Configure the connection to PingOne

  1. After installation, open the CData Code Assist MCP for PingOne configuration wizard

    NOTE: If the wizard does not open automatically, search for "CData Code Assist MCP for PingOne" in the Windows search bar and open the application.

  2. In MCP Configuration > Configuration Name, either select an existing configuration or choose to create a new one
  3. Name the configuration (e.g. "cdata_pingone") and click OK
  4. Enter the appropriate connection properties in the configuration wizard

    To connect to PingOne, configure these properties:

    • Region: The region where the data for your PingOne organization is being hosted.
    • AuthScheme: The type of authentication to use when connecting to PingOne.
    • Either WorkerAppEnvironmentId (required when using the default PingOne domain) or AuthorizationServerURL, configured as described below.

    Configuring WorkerAppEnvironmentId

    WorkerAppEnvironmentId is the ID of the PingOne environment in which your Worker application resides. This parameter is used only when the environment is using the default PingOne domain (auth.pingone). It is configured after you have created the custom OAuth application you will use to authenticate to PingOne, as described in Creating a Custom OAuth Application in the Help documentation.

    First, find the value for this property:

    1. From the home page of your PingOne organization, move to the navigation sidebar and click Environments.
    2. Find the environment in which you have created your custom OAuth/Worker application (usually Administrators), and click Manage Environment. The environment's home page displays.
    3. In the environment's home page navigation sidebar, click Applications.
    4. Find your OAuth or Worker application details in the list.
    5. Copy the value in the Environment ID field. It should look similar to:
      WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

    Now set WorkerAppEnvironmentId to the value of the Environment ID field.

    Configuring AuthorizationServerURL

    AuthorizationServerURL is the base URL of the PingOne authorization server for the environment where your application is located. This property is only used when you have set up a custom domain for the environment, as described in the PingOne platform API documentation. See Custom Domains.

    Authenticating to PingOne with OAuth

    PingOne supports both OAuth and OAuthClient authentication. In addition to performing the configuration steps described above, there are two more steps to complete to support OAuth or OAuthCliet authentication:

    • Create and configure a custom OAuth application, as described in Creating a Custom OAuth Application in the Help documentation.
    • To ensure that the driver can access the entities in Data Model, confirm that you have configured the correct roles for the admin user/worker application you will be using, as described in Administrator Roles in the Help documentation.
    • Set the appropriate properties for the authscheme and authflow of your choice, as described in the following subsections.

    OAuth (Authorization Code grant)

    Set AuthScheme to OAuth.

    Desktop Applications

    Get and Refresh the OAuth Access Token

    After setting the following, you are ready to connect:

    • InitiateOAuth: GETANDREFRESH. To avoid the need to repeat the OAuth exchange and manually setting the OAuthAccessToken each time you connect, use InitiateOAuth.
    • OAuthClientId: The Client ID you obtained when you created your custom OAuth application.
    • OAuthClientSecret: The Client Secret you obtained when you created your custom OAuth application.
    • CallbackURL: The redirect URI you defined when you registered your custom OAuth application. For example: https://localhost:3333

    When you connect, the driver opens PingOne's OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:

    1. The driver obtains an access token from PingOne and uses it to request data.
    2. The OAuth values are saved in the location specified in OAuthSettingsLocation, to be persisted across connections.

    The driver refreshes the access token automatically when it expires.

    For other OAuth methods, including Web Applications, Headless Machines, or Client Credentials Grant, refer to the Help documentation.

  5. Click Connect to authenticate with PingOne through OAuth
  6. Then, click Save Configuration to save the Code Assist MCP add-on

This process creates a .mcp configuration file that Gemini Code Assist will reference when launching the Code Assist MCP add-on. With the Code Assist MCP add-on configured, it is ready to connect to Gemini Code Assist.

Step 3: Connect the Code Assist MCP add-on to Gemini Code Assist

  1. Ensure Visual Studio Code is installed and the Gemini Code Assist extension is enabled
  2. From the configuration wizard, click Next after saving and testing the connection
  3. Select Gemini Code Assist from the AI MCP Tool dropdown
  4. Click Copy JSON to copy the generated MCP configuration to the clipboard
  5. Paste the copied JSON into the appropriate configuration file based on the desired scope:
    • User-level: Configuration applies across all projects for the current user
    • Workspace-level: Configuration applies only to the current workspace or project

    NOTE: The configuration includes the path to Java 17+ executable and the CData Code Assist MCP add-on JAR file. The final argument must match the MCP configuration name saved in the wizard (e.g. "cdata_pingone").

  6. Save the configuration file and restart Visual Studio Code if necessary

Step 4: Query live PingOne data in Gemini Code Assist

  1. Open Visual Studio Code and select Gemini Code Assist in the activity bar
  2. Enter /mcp in the chat prompt to verify the connection status. The PingOne Code Assist MCP add-on should appear with a green connection indicator
  3. Ask questions about PingOne data using natural language. For example:
    "Provide the list of all tables available in my PingOne data connection."
  4. Generate code that works with live PingOne data. For example:
    "Write a function to retrieve records from the [CData].[Administrators].Users table where Id matches a given value."

Gemini Code Assist is now fully integrated with the CData Code Assist MCP add-on and can use the MCP tools exposed to explore schemas, execute live queries against PingOne, and generate data-aware code.

Build with Code Assist MCP. Deploy with CData Drivers.

Download Code Assist MCP for free and give your AI tools schema-aware access to live PingOne data during development. When you're ready to move to production, CData PingOne Drivers deliver the same SQL-based access with enterprise-grade performance, security, and reliability.

Visit the CData Community to share insights, ask questions, and explore what's possible with MCP-powered AI workflows.

Ready to get started?

Download a free PingOne Code Assist MCP to get started:

 Download Now

Learn more:

PingOne Icon PingOne Code Assist MCP

The CData Code Assist MCP for PingOne provides schema-aware context for AI-assisted code generation with live PingOne data.