mcp-db2 mcp

v1.0.0 · MCP Tool · database · registry.pascalai.org

IBM DB2 LUW 11.5+ and IBM Db2 on Cloud via FireDAC native driver. Operations: query (SELECT → rows JSON), execute (INSERT/UPDATE/DELETE/DDL), execute_tx (multiple statements in transaction), list_tables, describe (columns), list_databases (lists user schemas). Requires IBM Data Server Driver Package (db2cli.dll) installed.

db2ibmdatabasesqlfiredacenterprisecloud

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: query, execute, execute_tx, list_tables, describe, list_databases.
hostrequired string DB2 server host or IP address (e.g. 'db2server', '192.168.1.30', 'db2.cloud.ibm.com').
portoptional integer DB2 port. Default: 50000. Default: 50000.
databaserequired string DB2 database name (e.g. 'SAMPLE', 'BLUDB' for IBM Cloud).
usernameoptional string DB2 username.
passwordoptional string DB2 password.
sQLoptional string SQL statement. Required for query and execute operations. DB2 uses FETCH FIRST N ROWS ONLY for row limiting.
sQLListoptional string JSON array string of SQL statements for execute_tx (e.g. '["INSERT ...","UPDATE ..."]'). All executed in a single transaction.
tableoptional string Table name (case-insensitive; stored uppercase in DB2). Required for describe.
schemaoptional string Schema name (e.g. 'HR', 'SALES'). Optional filter for list_tables and describe. Defaults to CURRENT_SCHEMA.
maxRowsoptional integer Maximum rows to return for query. Default: 100. Default: 100.
timeoutoptional integer Query timeout in seconds. Default: 30. Default: 30.

Output Fields

FieldTypeDescription
ok boolean
rows array[object]
affected integer
tables array[object]
columns array[object]
databases array[object]
error string

Examples

Query employees table

// Input
{
  "operation": "query",
  "host": "db2server",
  "database": "SAMPLE",
  "username": "db2inst1",
  "password": "secret",
  "sQL": "SELECT EMPNO, FIRSTNME, LASTNAME, SALARY FROM EMPLOYEE FETCH FIRST 10 ROWS ONLY"
}

// Output
{
  "ok": true,
  "rows": [
    {
      "EMPNO": "000010",
      "FIRSTNME": "CHRISTINE"
    }
  ]
}

Insert a record

// Input
{
  "operation": "execute",
  "host": "db2server",
  "database": "SAMPLE",
  "username": "db2inst1",
  "password": "secret",
  "sQL": "INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, MGRNO) VALUES ('Z99', 'New Dept', '000010')"
}

// Output
{
  "ok": true,
  "affected": 1
}

Execute multiple statements in a transaction

// Input
{
  "operation": "execute_tx",
  "host": "db2server",
  "database": "SAMPLE",
  "username": "db2inst1",
  "password": "secret",
  "sQLList": "[\"UPDATE EMPLOYEE SET SALARY=SALARY*1.1 WHERE DEPTNO='D11'\",\"INSERT INTO AUDIT_LOG (ACTION) VALUES ('salary_raise_D11')\"]"
}

// Output
{
  "ok": true,
  "affected": 5
}

List tables in a schema

// Input
{
  "operation": "list_tables",
  "host": "db2server",
  "database": "SAMPLE",
  "username": "db2inst1",
  "password": "secret",
  "schema": "DB2INST1"
}

// Output
{
  "ok": true,
  "tables": [
    {
      "TABNAME": "DEPARTMENT",
      "TABSCHEMA": "DB2INST1"
    }
  ]
}

Describe EMPLOYEE table columns

// Input
{
  "operation": "describe",
  "host": "db2server",
  "database": "SAMPLE",
  "username": "db2inst1",
  "password": "secret",
  "table": "EMPLOYEE",
  "schema": "DB2INST1"
}

// Output
{
  "ok": true,
  "columns": [
    {
      "COLNAME": "EMPNO",
      "TYPENAME": "CHARACTER",
      "LENGTH": 6
    }
  ]
}

Connect to IBM Cloud Db2

// Input
{
  "operation": "list_tables",
  "host": "dashdb-txn-sbox-yp-lon02-02.services.eu-gb.bluemix.net",
  "port": 50000,
  "database": "BLUDB",
  "username": "abc12345",
  "password": "secret"
}

// Output
{
  "ok": true,
  "tables": []
}

Install & Discovery

Install

ppm install mcp-db2

Get JSON Schema

GET /v1/packages/mcp-db2/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=db2
Discovery hint: Install with ppm install mcp-db2 or invoke remotely via POST /v1/invoke/mcp-db2 on the MCP Service.