Configuring MCP properties

Reference guide for the Model Context Protocol (MCP) configuration properties in the server.conf.yaml file.

Overview

The MCP server is configured through properties in the server.conf.yaml file. All MCP properties are defined under the MCP.Runtime section. This reference describes the properties needed to configure and control the MCP server behavior in your Integration Server.

MCP configuration structure

MCP properties are organized under the MCP.Runtime section in server.conf.yaml:

MCP:
  Runtime:
    mcpStartMode: 'automatic'
    port: 7750
    uriSuffix: '/mcp'
    mcpCredentialName: ''
    propagateIdentity: true
    sslMode: 'automatic'

Runtime properties

The following properties control the MCP server runtime behavior:

Property Description Details
MCP.Runtime.mcpStartMode Type: String; Default: automatic; Valid values: enabled, automatic, disabled

Controls when the MCP server starts:

  • enabled - Server starts when the integration server starts, even with 0 tools deployed
  • automatic - Server starts when a tool is deployed and stops when all tools are deleted (default)
  • disabled - MCP server is disabled on this integration server

Recommended: Use automatic for most deployments. Use enabled if you need the MCP server running at all times.

Example:

MCP:
  Runtime:
    mcpStartMode: 'automatic'
MCP.Runtime.host Type: String; Default: Empty string (uses fully qualified domain name); Optional: Yes

Hostname for the MCP server. If empty, uses the fully qualified domain name (FQDN) of the system.

Example:

MCP:
  Runtime:
    host: 'mcp.example.com'
MCP.Runtime.port Type: Integer; Default: 7750; Range: 1024-65535

Port number for the MCP server. The MCP server listens on this port for incoming connections from AI agents.

Important: Ensure this port is not already in use by another application and is accessible to AI agents that need to connect.

Example:

MCP:
  Runtime:
    port: 7750
MCP.Runtime.uriSuffix Type: String; Default: /mcp

URI suffix for MCP requests. The full MCP endpoint URL will be: http://hostname:port/uriSuffix

Example: With default settings, the MCP endpoint is http://localhost:7750/mcp

MCP:
  Runtime:
    uriSuffix: '/mcp'
MCP.Runtime.mcpCredentialName Type: String; Default: Empty string (no authentication); Optional: Yes

Name of the MCP credential for securing requests to the MCP server. When set, all requests require a Basic Authorization header with the specified credentials.

The credential must be of type 'mcp' and contain username and password.

Security Note: Always configure authentication for production deployments.

Example:

MCP:
  Runtime:
    mcpCredentialName: 'myMcpCredential'
MCP.Runtime.propagateIdentity Type: Boolean; Default: true; Optional: Yes

Controls whether the MCP server forwards Authorization headers from the MCP client to the REST API flow. When set to true, the Authorization header from the incoming MCP request is propagated to the REST API, allowing REST APIs that have been secured to authenticate incoming requests.

Use cases:

  • Set to true (default) when your REST APIs require authentication and you want to use the same credentials from the MCP client
  • Set to false when your REST APIs do not require authentication or use a different authentication mechanism

Example:

MCP:
  Runtime:
    propagateIdentity: true
MCP.Runtime.sslMode Type: String; Default: automatic; Valid values: automatic, disabled

Sets whether to enable HTTPS for the MCP server:

  • automatic - Respects the machine-wide global settings for httpsconnector SSL unless a value is set for the sslCertificate property (default)
  • disabled - Disables HTTPS for this component. This ignores the machine-wide global settings and any values for sslCertificate and sslPassword

Security Note: Always use automatic for production deployments to ensure secure communication.

Example:

MCP:
  Runtime:
    sslMode: 'automatic'
MCP.Runtime.sslCertificate Type: String; Default: Empty string (uses global settings); Optional: Yes

Path to the SSL certificate file. Certificate type can be p12 or pem.

For PEM certificates:

  • sslCertificate is the full path to the server certificate key
  • sslPassword is the full path to the server private key (must be a standard private key, not encrypted)
  • File names must end with '.pem'

For P12/PFX certificates:

  • sslCertificate is the full path to the server certificate store file
  • sslPassword is the passphrase or alias to the passphrase of the certificate store

Example:

MCP:
  Runtime:
    sslCertificate: '/path/to/certificate.p12'
    sslPassword: 'mcp::sslpwd'
MCP.Runtime.sslPassword Type: String; Default: Empty string; Optional: Yes

Password or path to the private key for the SSL certificate. The value depends on the certificate type (see sslCertificate for details).

Security Note: Use credential references (e.g., mcp::sslpwd) instead of plain text passwords.

MCP.Runtime.requireClientCert Type: Boolean; Default: false; Optional: Yes

Request a certificate from the client for mutual TLS authentication.

Example:

MCP:
  Runtime:
    requireClientCert: true
    caPath: '/path/to/CA/certificates'
MCP.Runtime.caPath Type: String; Default: Empty string; Optional: Yes

Path to CA certificates directory. All files at this path will be read for client certificate validation when requireClientCert is enabled.

MCP.Runtime.tlsCipherList Type: String; Default: Empty string (uses default cipher list); Optional: Yes

Set the list of acceptable ciphers for TLS connections. Specify the empty string to use the default cipher list. This should be a colon-separated list of upper case cipher names following the OpenSSL cipher list naming convention.

Example:

MCP:
  Runtime:
    tlsCipherList: 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256'
MCP.Runtime.tlsTrace Type: Boolean; Default: false; Optional: Yes

Enables tracing of TLS handshake to the console. Useful for debugging TLS connection issues.

Example:

MCP:
  Runtime:
    tlsTrace: true

Complete configuration example

The following example shows a complete MCP configuration with recommended settings for a production deployment:

MCP:
  Runtime:
    mcpStartMode: 'automatic'
    port: 7750
    uriSuffix: '/mcp'
    mcpCredentialName: 'myMcpCredential'
    propagateIdentity: true
    sslMode: 'automatic'
    sslCertificate: '/path/to/certificate.p12'
    sslPassword: 'mcp::sslpwd'

Configuration best practices

  • Use automatic start mode: Set mcpStartMode to automatic to ensure the MCP server starts when tools are deployed.
  • Enable authentication: Always configure mcpCredentialName in production environments to secure access to your MCP tools.
  • Enable TLS: Keep sslMode set to automatic and configure appropriate SSL certificates for production deployments.
  • Choose appropriate port: Use the default port 7750 unless it conflicts with other services. Ensure the port is accessible to AI agents.
  • Restart after changes: The Integration Server must be restarted for configuration changes to take effect.
  • Verify configuration: Check the Integration Server logs after restart to confirm the MCP server started successfully.

Troubleshooting configuration issues

MCP server fails to start
  • Check the server.conf.yaml file for syntax errors
  • Verify the specified port is not already in use
  • Review the Integration Server logs for detailed error messages
  • Ensure mcpStartMode is not set to disabled
AI agents cannot connect
  • Verify the MCP server is running by checking the Integration Server logs
  • Confirm the port is accessible from the AI agent's network
  • Check firewall rules and network security settings
  • Verify authentication credentials if mcpCredentialName is configured
  • Check SSL certificate configuration if using HTTPS
Configuration changes not taking effect
  • Ensure you have restarted the Integration Server after making changes
  • Verify the server.conf.yaml file is in the correct location
  • Check for YAML syntax errors that might prevent the file from being parsed
Unexpected property errors in logs
  • Ensure you are using the correct property names as documented (for example mcpCredentialName, not basicAuth.disabled)
  • Verify property values match the expected types (String, Integer, Boolean)
  • Check that nested properties are correctly indented in the YAML file