Skip to content
M↓ View as Markdown ↗

Actian MCP Server for HCL Informix®

Connect the MCP-compatible client to an HCL Informix® database using the Actian MCP Server. Once configured, you can use the server to explore schema metadata and execute SQL queries through a standardized interface. The MCP Server for HCL Informix® enables communication between any MCP client and the HCL Informix® database. The server automatically manages connection pooling, response formatting, and schema discovery, allowing you to focus on business data analysis.

Capabilities

The Actian MCP Server for HCL Informix® supports the following operations:

Action Description
Run SQL queries Run read-only SQL directly against the database.
List tables and views Discover available objects within the schema.
Inspect table structure Retrieve column definitions, data types, and key information.
Read schema metadata Explore comprehensive database-level metadata.
List functions and procedures View available user-defined routines.
Execute write queries Run INSERT, UPDATE, and DELETE statements. Off by default. Requires query_mode set to read-write.

Write support is opt-in

The server permits only read queries unless you set query_mode to read-write. Each write then requires the mcp:write scope and human approval. For more information, see Write support.


Prerequisites

Before starting the server, ensure the following requirements are met:

  • Container Engine: Docker installed and running on the host machine.
  • Database credentials: Access details for the HCL Informix database.
  • Secure deployment files (Optional): TLS certificate and key files.
  • Authentication (Optional): An OIDC provider, required for OAuth authentication.

Database Compatibility

The Actian MCP server for HCL Informix requires version 15.0.1 and above. Earlier Informix versions are not supported.


Configuration

The server runs as a Docker container. To configure the server, mount the (conf.json) file to the container at /app/conf.json.

Create Configuration File

Create a file named conf.json in the working directory and add the database-specific configuration details:

{
  "servername": "<server_name>",
  "service": "<service_port>",
  "dsn": "<dsn_name>",
  "server": "<database_host>",
  "database": "<database_name>",
  "database_user": "<database_user>",
  "database_password": "<database_password>",
  "max_connections": "<max_concurrent_connections>",
  "max_rows": "<max_rows_per_query_response>",
  "host": "<mcp_server_host>",
  "port": "<mcp_server_port>",
  "query_mode": "read-only",
  "write_confirmation": true,
  "log_level": "INFO",
  "ssl_certfile": "/app/server.crt",
  "ssl_keyfile": "/app/server.key",
  "oauth": {
    "FASTMCP_SERVER_AUTH_CONFIG_URL": "<oidc_discovery_url>",
    "FASTMCP_SERVER_AUTH_CLIENT_ID": "<client_id>",
    "FASTMCP_SERVER_AUTH_CLIENT_SECRET": "<client_secret>",
    "FASTMCP_SERVER_AUTH_BASE_URL": "<server_base_url>",
    "FASTMCP_SERVER_AUTH_AUDIENCE": "<audience>",
    "user_impersonation": true
  }  
}

Configuration Reference

Required Fields

Field Type Description
servername string HCL Informix® database server name
service integer HCL Informix® server port number
dsn string Data source name
server string Host address for the HCL Informix® database
database string Name of the database to connect to target database
max_connections integer Maximum concurrent database connections in the pool
host string Host address that the MCP Server listens on inside the container
port integer Port that the MCP Server listens on inside the container
database_user string Database username.
database_password string Database password.

Optional Fields

Field Type Default Description
max_rows integer 1000 Maximum number of rows returned per query response.
log_level string INFO Server log verbosity. Valid values: DEBUG, INFO, WARNING, ERROR, CRITICAL.
ssl_certfile string Path to the TLS certificate file. Add /app/server.crt inside the container.
ssl_keyfile string Path to the TLS private key file. Add /app/server.key inside the container.
oauth object OAuth configuration block for protected deployments, see OAuth configuration for more information.
query_mode string read-only Controls whether data-modifying SQL is permitted. Valid values are read-only and read-write. See Write support
write_confirmation boolean true Whether a write requires human approval before it runs. Set to false only for clients that cannot display the approval prompt. See Write support. Applies only when query_mode is read-write.
extensions array Extension modules to load, each object with a required module and an optional config. For more information, see Extensions

Start the Server

With the conf.json file ready, run the following Docker command to start the container. This command mounts the configuration file as a read-only volume.

```bash
docker run  -d \
  -v $(pwd)/conf_temp.json:/app/conf.json:ro,Z \
  -p 8000:8000 \
  --name=ifx-mcp \
  actian/informix-mcp-server:1.1.0
```

Note

The container must read its configuration from /app/conf.json. Do not change the mount target path.

Once the container is running, connect the MCP client to the exposed server endpoint using the host and port from the configuration "https://<host machine ip address>:8000/mcp"


Next Steps

  • Write Support
    Enable data-modifying SQL, and what gates each write.

  • Authentication
    Secure the server with OAuth 2.0 and an external identity provider.

  • Tools
    Explore the available MCP tools for HCL Informix® database operations.

  • Resources
    Learn more about schema metadata resources.

  • Prompts
    Use pre-built prompt templates for common workflows.

  • Extensions
    Add your own tools to the server with a Python extension.