This project uses the Model Context Protocol (MCP) to interact with IBM Maximo for job plan management.
The Maximo Job Plan MCP Server provides a seamless interface for AI assistants to interact with IBM Maximo's job plan management system. It enables natural language interactions for creating, querying, updating, and deleting job plans.
- Import Job Plans: Bulk import job plans from CSV files
- List Job Plans: Query and filter job plans with OSLC queries
- Get Job Plan Details: Retrieve detailed information about specific job plans
- Delete Job Plans: Remove job plans from the system
- Natural Language Interface: Use conversational commands through AI assistants
The maximo-jobplan MCP server provides 4 tools for managing job plans:
Import job plans from CSV data into Maximo.
Example usage:
"Import job plans from jobplanMaximo.csv"
CSV Format:
JPNUM,DESCRIPTION,JPDURATION,STATUS,JOBTYPE,PLUSCJPREVNUM
HVAC-PM-001,Quarterly HVAC System Inspection,4.0,ACTIVE,PM,0List all job plans from Maximo with optional filtering.
Example usage:
"List all job plans"
"Show me HVAC job plans"
Get detailed information about a specific job plan.
Example usage:
"Get details of job plan HVAC-PM-001"
"Show me the BREAKINSP job plan"
Delete a job plan by number.
Example usage:
"Delete job plan TEST-001"
- Node.js 18 or higher
- npm or yarn
- Access to IBM Maximo instance
- Maximo API key
-
Clone the repository
git clone <repository-url> cd maximo-jobplan-mcp
-
Install dependencies
npm install
-
Build the project
npm run build
-
Configure environment variables
Set the following environment variables:
MAXIMO_BASE_URL: Your Maximo instance URL (e.g.,https://your-maximo-instance.com)MAXIMO_API_KEY: Your Maximo API key
-
Configure MCP Client
For Bob/Claude Desktop, add to your MCP settings:
{ "mcpServers": { "maximo-jobplan": { "command": "node", "args": ["C:/path/to/maximo-jobplan-server/build/index.js"], "env": { "MAXIMO_BASE_URL": "https://your-maximo-instance.com", "MAXIMO_API_KEY": "your-api-key-here" } } } }
maximo-jobplan-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── build/ # Compiled JavaScript output
├── docs/ # Documentation files
│ ├── MCP_SETUP_GUIDE.md
│ ├── QUICK_START.md
│ └── README_MAXIMO_CONNECTION.md
├── examples/
│ └── jobplanMaximo.csv # Sample job plans
├── package.json
├── tsconfig.json
├── .gitignore
└── README.md
Simply use natural language commands:
- "List all job plans in Maximo"
- "Show me details of HVAC-PM-001"
- "Import the job plans from the CSV file"
- "Get all PUMP job plans"
- "Delete job plan TEST-001"
// The MCP server handles all interactions through the protocol
// No direct API calls needed when using with MCP clientsThe server connects to Maximo using:
- Base URL: Configured via
MAXIMO_BASE_URLenvironment variable - Authentication: API key via
MAXIMO_API_KEYenvironment variable - API Endpoint:
/maximo/api/os/MXAPIJOBPLAN
Job plans CSV must include these columns:
JPNUM: Job plan number (max 12 characters)DESCRIPTION: Job plan descriptionJPDURATION: Duration in hoursSTATUS: Status (e.g., ACTIVE, INACTIVE)JOBTYPE: Job type (e.g., PM, CM)PLUSCJPREVNUM: Revision number
# Build the project
npm run build
# Watch mode for development
npm run watch
# Prepare for distribution
npm run prepareTest the MCP server connection:
node build/index.js- Verify environment variables are set correctly
- Check Maximo URL is accessible
- Validate API key has proper permissions
- Review SSL certificates (development mode disables SSL verification)
- Check CSV format matches required columns
- Verify job plan numbers are 12 characters or less
- Ensure required fields are populated
- Check for duplicate job plan numbers
-
SSL Verification: Currently disabled for development. Enable for production:
httpsAgent: new https.Agent({ rejectUnauthorized: true // Enable SSL verification })
-
API Key Storage: Store API keys securely using:
- Environment variables
- Secret management systems
- Encrypted configuration files
-
Access Control: Ensure only authorized users can access the MCP server
MIT License - See LICENSE file for details