{
  "markdown": "<div align=\"center\">\n\n# 🏭 Maximo MCP Server\n\n### AI-Powered Development for IBM Maximo\n\n[![Node.js](https://img.shields.io/badge/Node.js-18+-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)\n[![MCP](https://img.shields.io/badge/MCP-Protocol-5A29E4?style=for-the-badge)](https://modelcontextprotocol.io/)\n[![Maximo](https://img.shields.io/badge/IBM-Maximo-052FAD?style=for-the-badge&logo=ibm&logoColor=white)](https://www.ibm.com/products/maximo)\n[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)\n[![Version](https://img.shields.io/badge/Version-v1.0.2-blue?style=for-the-badge)](package.json)\n\n*Transform your Maximo development workflow with AI-driven schema discovery, live data querying, and intelligent code generation.*\n\n**Author:** Markus van Kempen  \n**Email:** mvankempen@ca.ibm.com | markus.van.kempen@gmail.com  \n**Date:** 5 February 2026\n\n[Getting Started](#-quick-start) • [Documentation](#-documentation) • [Live Demo](#-live-demo) • [Use Cases](#-use-cases)\n\n</div>\n\n---\n\n## 🎯 What is This?\n\nThe **Maximo MCP Server** is a [Model Context Protocol](https://modelcontextprotocol.io/) server that connects AI assistants (like Antigravity, Cursor, or VS Code Copilot) directly to your IBM Maximo environment. Instead of manually copying API documentation, the AI can:\n\n| Capability | Description |\n|------------|-------------|\n| 🔍 **Discover APIs** | Find available Object Structures (MXWO, MXASSET, etc.) |\n| 📋 **Inspect Schemas** | Get exact field names, types, and descriptions |\n| 📊 **Query Live Data** | Execute OSLC REST queries and see real results |\n| 🎨 **Generate UI** | Create Carbon Design System tables and dashboards |\n| ✅ **Validate Instantly** | Test queries before generating final code |\n\n---\n\n## 📚 Documentation\n\n### Core Guides\n\n| Document | Description |\n|----------|-------------|\n| 📖 [**Maximo MCP Server Guide**](docs/Maximo_MCP_Server_Guide.md) | Complete setup, configuration, and tool reference |\n| 🔌 [**Maximo API Interaction Guide**](docs/Maximo_API_Interaction_Guide.md) | OSLC query syntax, code generation patterns, troubleshooting |\n| 🎬 [**Asset Manager Case Study**](docs/Asset_Manager_App_Case_Study.md) | Step-by-step walkthrough of building a complete app |\n\n### French Translations\n\n| Document | Description |\n|----------|-------------|\n| 📖 [Guide du Serveur MCP Maximo](docs/Maximo_MCP_Server_Guide_FR.md) | Version française du guide complet |\n| 🔌 [Guide d'Interaction API Maximo](docs/Maximo_API_Interaction_Guide_FR.md) | Version française du guide API |\n\n### Word Documents\n\nAll guides are also available in `.docx` format in the `docs/` folder for offline reading and sharing.\n\n---\n\n## ⚡ Quick Start\n\n### Prerequisites\n\n- **Node.js** v18 or higher\n- **Maximo API Key** with read access\n- AI IDE with MCP support (Antigravity, Cursor, VS Code + Continue)\n\n### Installation\n\n### Installation\n\n**Method 1: Run directly with npx (Recommended)**\n\n```bash\nnpx maximo-mcp-server\n```\n\n**Method 2: Clone from Source**\n\n```bash\n# Clone the repository\ngit clone https://github.com/markusvankempen/maximo-mcp-ai-integration-options.git\ncd maximo-mcp-ai-integration-options\n\n# Install dependencies\nnpm install\n\n# Set up environment variables\ncp .env.example .env\n# Edit .env with your Maximo credentials\n```\n\n### Environment Configuration\n\nEdit the `.env` file with your Maximo credentials:\n\n```bash\n# .env (never commit this file!)\nMAXIMO_URL=https://your-maximo-host.com/maximo/api\nMAXIMO_HOST=https://your-maximo-host.com\nMAXIMO_API_KEY=your-api-key-here\nMAXIMO_OPENAPI_PATH=./maximo_openapi.json\nPORT=3002\n```\n\n### Download the OpenAPI Schema (Recommended)\n\nThe OpenAPI schema file enables offline schema lookups for faster AI responses:\n\n```bash\n# Download from your Maximo instance\ncurl -X GET \"https://your-maximo-host.com/maximo/oslc/oas/api\" \\\n     -H \"apikey:your-api-key-here\" \\\n     -o maximo_openapi.json\n```\n\nAlternatively, download via Swagger UI at: `https://your-host/maximo/oslc/oas/api.html` (Click \"Explore\" or \"Download\")\n\n**Method 3: Direct Browser Download (Manual)**\n\nIf `curl` fails (e.g., due to SSL/network errors), you can manually download the file:\n\n1. Open this URL in your browser:\n   `https://[YOUR_MAXIMO_HOST]/maximo/oslc/oas/api`\n   *(Replace `[YOUR_MAXIMO_HOST]` with your actual server address)*\n\n2. You may be prompted to log in to Maximo.\n\n3. Once the JSON loads, right-click the page and select **\"Save Page As...\"**.\n\n4. Save the file as `maximo_openapi.json` in your project root folder.\n\n> **Note**: This file is ~12MB and contains all Object Structure definitions for your Maximo instance.\n\n### IDE Configuration\n\n#### Google Antigravity (Manual Setup Required)\n\n> ⚠️ **Note:** The Antigravity MCP Store is curated and does not auto-discover servers from the registry. You must add this server manually.\n\n1. Open Antigravity\n2. Click \"**...**\" dropdown at the top of the Agent panel\n3. Select \"**MCP Servers**\" → \"**Manage MCP Servers**\" → \"**View raw config**\"\n4. Add to your `mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"maximo-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"maximo-mcp-server\"],\n      \"env\": {\n        \"MAXIMO_URL\": \"https://your-maximo-host/maximo/api\",\n        \"MAXIMO_API_KEY\": \"your-api-key-here\",\n        \"MAXIMO_HOST\": \"https://your-maximo-host\"\n      }\n    }\n  }\n}\n```\n\n5. Save and click **Refresh**\n\n#### Cursor / Claude Desktop\n\n```bash\n# Copy the template\ncp config/mcp_config.json.example ~/.cursor/mcp.json\n# Or for Claude Desktop:\ncp config/mcp_config.json.example ~/Library/Application\\ Support/Claude/claude_desktop_config.json\n```\n\nEdit with your Maximo credentials:\n\n```json\n{\n  \"mcpServers\": {\n    \"maximo-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"maximo-mcp-server\"],\n      \"env\": {\n        \"MAXIMO_URL\": \"https://your-maximo-host/maximo/api\",\n        \"MAXIMO_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Verify Connection\n\nIn your AI IDE, ask:\n> \"Is the Maximo MCP server connected?\"\n\nThe AI will call `get_instance_details` and confirm connectivity.\n\n---\n\n## 🎬 Live Demo\n\n### Asset Manager Application\n\nWe built a complete **Maximo Asset Manager** web application using only natural language prompts and the MCP server.\n\n<div align=\"center\">\n\n![Asset Manager Dashboard](images/assets_loaded.png)\n\n*50 assets loaded with real-time filtering and search*\n\n</div>\n\n#### Demo Features\n\n| Feature | Screenshot |\n|---------|------------|\n| **Full Dashboard** | 50 assets, 4 stat cards, 3 sites |\n| **Search Filter** | ![Pump Search](images/pump_search_results.png) |\n| **Site Filter** | ![LAREDO Filter](images/laredo_filtered.png) |\n\n#### 🎥 Screen Recording\n\nA complete video demonstration is available: [`assets_demo_recording.webp`](images/assets_demo_recording.webp)\n\n#### Try It Yourself\n\n```bash\n# Start the local proxy server\nnode server.js\n\n# Open in browser\nopen http://localhost:3002/demos/assets.html\n```\n\n---\n\n## 🛠 Available MCP Tools\n\nThe server exposes 6 tools to the AI:\n\n![MCP Tools UI](images/mcp_tools_ui.png)\n\n| Tool Name | Description |\n| :--- | :--- |\n| `list_object_structures` | List available Maximo Object Structures (APIs) |\n| `get_schema_details` | Get field definitions for an Object Structure |\n| `query_maximo` | Execute OSLC REST queries |\n| `render_carbon_table` | Generate Carbon Design HTML tables |\n| `render_carbon_details` | Generate detail view for a record |\n| `get_instance_details` | Check server connectivity |\n\n---\n\n## 💡 Use Cases\n\n### 1. Generate API Calls\n> \"Get me the last 10 approved work orders from BEDFORD site\"\n\nThe AI calls `get_schema_details(MXWO)`, understands the fields, and generates:\n\n```http\nGET /maximo/api/os/mxwo\n    ?oslc.where=status=\"APPR\" and siteid=\"BEDFORD\"\n    &oslc.select=wonum,description,status,reportdate\n    &oslc.orderBy=-reportdate\n    &oslc.pageSize=10\n    &lean=1\n```\n\n### 2. Generate Python Scripts\n> \"Write a Python script to export all Priority 1 work orders to CSV\"\n\n```python\nimport requests\nimport csv\n\nresponse = requests.get(\n    \"https://your-host/maximo/api/os/mxwo\",\n    params={\"oslc.where\": \"wopriority=1\", \"lean\": 1},\n    headers={\"apikey\": \"YOUR_KEY\"}\n)\n\nwith open(\"priority1_workorders.csv\", \"w\") as f:\n    writer = csv.DictWriter(f, fieldnames=[\"wonum\", \"description\"])\n    writer.writeheader()\n    writer.writerows(response.json()[\"member\"])\n```\n\n### 3. Generate SQL Queries\n> \"Write SQL to find overdue work orders\"\n\n```sql\nSELECT wonum, description, status, targcompdate\nFROM workorder\nWHERE status NOT IN ('COMP', 'CLOSE', 'CAN')\n  AND targcompdate < CURRENT_DATE;\n```\n\n### 4. Build Complete Applications\n> \"Create an HTML dashboard to display assets\"\n\n**Result:** A complete web application with:\n- Dark theme with glassmorphism\n- Search and filter functionality\n- Interactive detail panels\n- Pre-loaded data from Maximo\n\nSee the [Asset Manager Case Study](docs/Asset_Manager_App_Case_Study.md) for the full walkthrough.\n\n---\n\n## 📁 Project Structure\n\n```\nMaximo-MCP/\n├── maximo-mcp-server.js       # 🔌 MCP Server implementation\n├── server.js                  # 🌐 Local proxy server for CORS\n├── package.json               # 📦 Dependencies\n├── README.md                  # This file\n├── .env.example               # Environment template\n├── .gitignore                 # Git ignore rules\n│\n├── docs/                      # 📚 Documentation\n│   ├── Maximo_MCP_Server_Guide.md         # Complete MCP guide\n│   ├── Maximo_API_Interaction_Guide.md    # API interaction patterns\n│   ├── Asset_Manager_App_Case_Study.md    # Build walkthrough\n│   ├── Maximo_MCP_Server_Guide_FR.md      # French translation\n│   └── Maximo_API_Interaction_Guide_FR.md # French translation\n│\n├── demos/                     # 🎨 Demo Applications\n│   ├── assets.html                        # Asset Manager app\n│   ├── carbon_workorders.html             # Carbon table demo\n│   └── index.html                         # API visualization demo\n│\n├── images/                    # 📸 Screenshots & Recordings\n│   ├── assets_demo_recording.webp         # Full demo recording\n│   ├── assets_loaded.png                  # Dashboard screenshot\n│   ├── pump_search_results.png            # Search demo\n│   └── laredo_filtered.png                # Filter demo\n│\n└── config/                    # ⚙️ Configuration Templates\n    └── mcp_config.json.example            # MCP config template\n```\n\n---\n\n## 🔒 Security Best Practices\n\n| Practice | Description |\n|----------|-------------|\n| 🔐 **Local Execution** | MCP server runs on your machine; API keys never leave your environment |\n| 📖 **Read-Only Keys** | Use limited-permission API keys for development |\n| 🔒 **Environment Variables** | Never hardcode credentials in config files |\n| 🌐 **HTTPS Only** | Always use encrypted connections to Maximo |\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our contributing guidelines before submitting PRs.\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 Acknowledgments\n\n- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP specification\n- [IBM Maximo](https://www.ibm.com/products/maximo) for the enterprise asset management platform\n- [Carbon Design System](https://carbondesignsystem.com/) for the UI components\n\n\n",
  "bytes": 11601,
  "sha": "7df1fb7ecbbe512fc21c52d6473019db293cc48e6ac6e037615c63d5da1ea196",
  "repo_slug": "markusvankempen/maximo-mcp-ai-integration-options",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_markusvankempen_maximo_mcp_ser_faf10d5d/readme"
}