About Idmc CDI Jobs MCP Server
An MCP server for teams running Informatica IDMC CDI jobs. It exposes authentication, job control, status, and activity-log queries as callable tools, with a Claude Skill for natural-language use in Claude or Cursor.
Key features
- 01Authenticate and manage sessions
- 02Start and stop IDMC tasks
- 03Check run status and row counts
- 04Query activity logs and job history
- 05List currently running jobs
Use cases
- 01Launch or stop an IDMC task
- 02Track a run by its run ID
- 03Review filtered activity logs
MCP support
Exposes IDMC authentication and job-management operations as tools to MCP clients, including login, task control, status checks, and log queries.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEIDMC Jobs MCP Server with Claude Skills
MCP server that exposes Informatica IDMC job management — authentication, start/stop, status monitoring, and activity log querying — as AI-callable tools via the Model Context Protocol.
Author: Pavan Kumar SP
A Model Context Protocol (MCP) server for monitoring and managing jobs on the Informatica Intelligent Data Management Cloud (IDMC) platform.
This project includes a Claude Skill that lets you interact with IDMC jobs using natural language directly inside Claude or Cursor. Use the /idmc slash command to start/stop jobs, check status, query the activity log, and more — without writing any code. See the Claude Skill reference for the full intent-to-tool mapping and example interactions.
Features
| Tool | Description |
|---|---|
idmc_login | Authenticate and obtain an IDMC session |
idmc_set_session | Restore a previously obtained session token |
idmc_logout | Invalidate the current session |
idmc_start_job | Start any IDMC task type (MTT, DSS, DRS, DMASK, PCS, WORKFLOW) |
idmc_stop_job | Stop a running job (immediate or graceful clean-stop) |
idmc_get_job_status | Get real-time status and row counts for a run ID |
idmc_get_activity_log | Query the activity log with rich filters |
idmc_get_active_jobs | List all currently running jobs |
idmc_get_job_history | Retrieve historical execution records |
idmc_get_session_info | Inspect current authentication state |
Supported Task Types
| Code | Type |
|---|---|
MTT | Mapping Task |
DSS | Synchronization Task |
DRS | Replication Task |
DMASK | Masking Task |
PCS | PowerCenter Task |
WORKFLOW | Linear Taskflow |
Quick Start
1. Install & Build
npm install
npm run build
2. Configure Credentials
Copy .env.example to .env and fill in your IDMC credentials:
cp .env.example .env
| Variable | Description |
|---|---|
IDMC_USERNAME | Your IDMC login email |
IDMC_PASSWORD | Your IDMC password |
IDMC_BASE_URL | Login URL for your pod (e.g. https://dm-us.informaticacloud.com) |
IDMC_SERVER_URL | (Optional) Pre-existing serverUrl from a prior login |
IDMC_SESSION_ID | (Optional) Pre-existing icSessionId from a prior login |
3. Add to Claude Desktop
Merge the contents of claude_desktop_config.json into your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"idmc-jobs": {
"command": "node",
"args": ["/path/to/idmc-jobs/dist/index.js"],
"env": {
"IDMC_USERNAME": "[email protected]",
"IDMC_PASSWORD": "your-password",
"IDMC_BASE_URL": "https://dm-us.informaticacloud.com"
}
}
}
}
API Reference
Authentication
The server auto-authenticates on startup when IDMC_USERNAME and IDMC_PASSWORD env vars are set. You can also call idmc_login manually at any time.
Login flow:
- POST to
<IDMC_BASE_URL>/ma/api/v2/user/login - Response contains
serverUrl(used as base for all v2 API calls) andicSessionId(session token sent in every request header)
Starting a Job
idmc_start_job({
taskType: "MTT",
taskName: "MyMappingTask",
callbackURL: "https://my-app.com/webhook"
})
Returns runId — use it to track progress with idmc_get_job_status.
Monitoring
idmc_get_job_status({ runId: 123456 })
idmc_get_activity_log({
taskType: "MTT",
startTime: "2024-01-01T00:00:00Z",
limit: 50
})
idmc_get_active_jobs()
Stopping a Job
# Immediate stop
idmc_stop_job({ taskType: "MTT", taskName: "MyMappingTask" })
# Graceful clean stop (finishes in-flight rows)
idmc_stop_job({ taskType: "MTT", taskName: "MyMappingTask", cleanStop: true })
IDMC Base URLs by Region
| Region | URL |
|---|---|
| United States | https://dm-us.informaticacloud.com |
| Europe | https://dm-eu.informaticacloud.com |
| Asia Pacific | https://dm-ap.informaticacloud.com |
| APAC Pod 1 | https://dm1-ap.informaticacloud.com |
Project Structure
idmc-jobs/
├── src/
│ ├── index.ts # MCP server — tools, handlers, startup
│ └── idmc-client.ts # IDMC REST API client (login, jobs, activity log)
├── dist/ # Compiled output (after npm run build)
├── .env.example # Environment variable template
├── claude_desktop_config.json
├── tsconfig.json
└── package.json
Development
npm run dev # Run with ts-node (no build needed)
npm run build # Compile to dist/
npm start # Run compiled dist/index.js
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.