Configuring the MCP Server

PeopleSoft delivers the MCP Server with the PeopleTools environment. You can connect this server to an MCP-compatible LLM client to build your own AI solution.

Prerequisites

Before configuring an external LLM client for MCP Server integration, ensure that you have the PeopleSoft Application Service API details required to execute the intended use case. You must configure the OpenAPI specification details for getting the Application Service details, like the service URL, API endpoint, HTTP method, required parameters, and request-body information.

Connecting an External LLM Client to the PeopleSoft MCP Server

You can connect an MCP-compatible external LLM client, such as Codex or Cline, to the PeopleSoft MCP Server and invoke configured Application Services REST APIs. Use the stream server mode of the MCP Server to connect to external LLM clients.

Use the following workflow to connect an MCP-compatible external LLM client to the PeopleSoft MCP Server in the stream server mode:

  1. Start the PeopleSoft MCP Server in the stream server mode. See the Starting the MCP Server in Stream Server Mode section later in this topic.
  2. Configure the MCP server connection in the external LLM client. See the Configuring the MCP Server Connection in the External LLM Client section later in this topic.

Starting the MCP Server in Stream Server Mode

In the stream server mode, the PeopleSoft MCP Server exposes tools that an LLM client can discover and invoke to access PeopleSoft Application Services. Specify the MCP Server settings in a response file, then start the server.

Follow these steps to start the MCP Server in the stream server mode:
  1. Log in to the server via SSH as the psadm2 user, then change to the PS_HOME directory.

  2. Create the following response file:
    /tmp/psft_mcp_stream_response.json
  3. Use the following MCP configuration file to define your MCP Server setup:
    {
      "openApiSpecsStreamServer": [],
      "genericConfig": {
        "fastMcpHost": "0.0.0.0",
        "fastMcpPort": 8002,
        "sslCertFile": "",
        "logDir": "/tmp/ps_assistant/logs",
        "logLevel": "INFO",
        "envVars": {
          "CLIENT_ID": "<CLIENT_ID>",
          "CLIENT_SECRET": "<CLIENT_PASSWORD>",
          "AUTH_URL": "http://<PIA_URL>/psp/ps/?cmd=login"
        }
      }
    }
    

    For details about the MCP Server configuration parameters and a configuration example, see the Configuration Parameters and Example for the MCP Server section later in this topic.

  4. Login as the psadm2 user and use one of the following options to start the server:
    • Using the response file:
      Response file for Linux:
      nohup $PS_HOME/python/python "$PS_HOME/bin/ps_assistant/psft_mcp_server_stream.py" --response-file /tmp/psft_mcp_stream_response.json > /tmp/psft_mcp_server_stream.out 2>&1 &
      Response file for Windows:
      "%PS_HOME%\python\python.exe" "%PS_HOME%\bin\server\WINX86\ps_assistant\psft_mcp_server_stream.py" --response-file "C:\temp\psft_mcp_stream_response_file_win.json"

      Or

    • Using the input stream data:
      cat /tmp/psft_mcp_stream_response.json | nohup $PS_HOME/python/python "$PS_HOME/bin/ps_assistant/psft_mcp_server_stream.py" --input-stream > /tmp/psft_mcp_server_stream.out 2>&1 &

Configuration Parameters and Example for the MCP Server

Use the following parameters to configure the MCP Server in the stream server mode.

Parameter Description
openApiSpecsStreamServer

List of Application Service OpenAPI specification paths supported by the MCP Server.

fastMcpHost

MCP server host.

fastMcpPort

Port number used for MCP stream server.

sslCertFile

The certificate path that has to be used for Application Services.

logDir

Log directory path. The default path is /tmp/ps_assistant/logs.

logLevel

Logging level. The default value is INFO.

CLIENT_ID

The proxy user ID used for PSTOKEN authentication.

CLIENT_SECRET

The proxy user password used for PSTOKEN authentication.

AUTH_URL

Authentication URL for generating the PSTOKEN.

The authentication URL will be the PIA logging URL. For example: http://<PIA_URL>/psp/ps/?cmd=login

This example illustrates sample MCP server configuration files for Linux and Windows platforms, where the administrator has defined the PeopleSoft search service for their MCP-enabled integration.

Sample response file for Linux:

{
  "openApiSpecsStreamServer": [
    "/slot/ems4550/psft/pt/tools/bin/ps_assistant/config/psft_search_service.json",
    "/slot/ems4550/psft/pt/tools/bin/ps_assistant/config/psft_absence_service.json"
  ],
  "genericConfig": {
    "logDir": "/tmp/ps_assistant/logs",
    "logLevel": "DEBUG",
    "fastMcpHost": "0.0.0.0",
    "fastMcpPort": 8002,
    "sslCertFile": "/tmp/CAcert.pem",
    "envVars": {
      "CLIENT_ID": "XXXXX",
      "CLIENT_SECRET": "XXXXX",
      "AUTH_URL": "http://<pia_host>:<pia_port>/psp/ps/?cmd=login"
    }
  }
}

Sample response file for Windows:

{
  "openApiSpecsStreamServer": [
    "C:/aswas/DPKInstall/psft/pt/ps_home8.64-109W_2608110530/bin/server/WINX86/ps_assistant/config/psft_absence_service.json"
  ],
  "genericConfig": {
    "fastMcpHost": "0.0.0.0",
    "fastMcpPort": 8002,
    "sslCertFile": "C:/aswas/DPKInstall/psft/pt/ps_home8.64-109W_2608110530/bin/server/WINX86/ps_assistant/config/CAcert.pem",
    "logDir": "C:/temp/ps_assistant/logs",
    "logLevel": "INFO",
    "envVars": {      
      "CLIENT_ID": "XXXXX",
      "CLIENT_SECRET": "XXXXX",
      "AUTH_URL": "http://<pia_host>:<pia_port>/psp/ps/?cmd=login"
    }
  }
}

Configuring the MCP Server Connection in the External LLM Client

To configure the MCP server connection in the external LLM client, add the PeopleSoft MCP Server URL to the MCP server configuration of the LLM client.

Use the following sample PeopleSoft MCP Server URL:
http://<mcp_server_host>:<mcp_port>/mcp

Note:

To use HTTPS with the MCP server, configure a reverse proxy to securely forward requests to the internal MCP Server.