
Maximo Enterprise MCP
io.github.MaxisTechnology-Dev由 GitHub 账号 MaxisTechnology-Dev 发布v1.1.0更新于 Oct 25, 2026
MCP server for IBM Maximo, by Maxis Technology — assets, work orders, inventory, purchasing, labor.
概览
将 AI 助手连接到 IBM Maximo 资产管理,通过约 95 个工具提供资产、工单、库存、采购、人工与合规数据的查询和报表能力。
- 可以做什么
- 查询资产、工单、作业计划、服务请求、位置和人工,包括 KPI、停机、成本差异和利用率报告。检查库存水平、低库存与补货建议、库房目录和库存估值。查看采购数据:采购订单、请购单、供应商和支出分析。运行报表与合规视图,如维护 KPI 仪表板、故障帕累托、问题资产、校准、许可和即将到期的认证,并导出 Excel 和 PDF。使用 AI 辅助工具进行自然语言转 OSLC 查询、异常检测、根因建议、资产健康评分、故障预测和运行手册生成。查看架构与管理数据
- 适用场景
- 适合已在使用 IBM Maximo 的维护、可靠性、计划或 EHS 团队,希望助手在不离开聊天客户端的情况下调取资产历史、工单和库存数据,生成 KPI 或合规报告,或起草交接班摘要和运行手册。
- 运行要求
- 以 Python 包形式通过 uvx 或 pip 在本地运行,也可作为托管 HTTP/SSE 服务运行。需要 MAXIMO_URL、MAXIMO_HOST 和 AUTH_MODE,以及 Maximo 凭据:基本认证使用 MAXIMO_USERNAME 和 MAXIMO_PASSWORD,API 密钥认证使用 MAXIMO_API_KEY。需要能访问 Maximo 实例的网络。托管模式还需要 MCP_ACCESS_TOKEN 并终止 TLS。
安装
在 SourceWeft 中
- 打开 控制台中的 Maximo Enterprise MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Maximo Enterprise MCP
A production-focused integration that brings IBM Maximo Asset Management into AI workflows through the Model Context Protocol.
Built by Maxis Technology as part of Alchemize — a state-of-the-art enterprise data management platform capable of doing in hours what others do in days. Want to know more? Head over to alchemize.io.
This project now exposes:
- A stable MCP server for Claude Desktop, Cursor, and other MCP clients.
- A hosted HTTP/SSE mode for remote MCP access.
- A FastAPI tool layer for OpenAI, Gemini, Grok, and custom orchestrators.
See CHANGELOG.md for the per-version release history (64 net-new tools across waves 1–9).
The current stable surface is 95 public tools across 21 categories. Every tool ships with a strict Pydantic input model (extra="forbid").
When a customer's Maximo doesn't have a particular vertical's data populated (no oil-and-gas turnarounds, no transportation fleet, no Spatial coordinates, etc.), every tool returns
data_unavailable=Truewith a user-friendly note explaining what's missing and what an admin can do. Never a cryptic 400/404.
Maximo version compatibility
The integration suite (64 net-new tools across 8 wave smoke tests) is verified end-to-end against Maximo 7.6.x with the mxapi integration extensions (the API patch pack — mxapi* object structures published).
The codebase is defensively designed for cross-version use:
- Multi-candidate OS endpoints (
tools/*.pyconstants likeJP_OS_CANDIDATES,LABOR_OS_CANDIDATES) iteratemx*first thenmxapi*and fall through 404s - Single-condition WHERE + Python post-filter (defensive against the most restrictive build encountered — see
compound_where_drops_connection) +field/-fieldorderBy direction prefix (strict OSLC v2 spec — works on every build)- Graceful
data_unavailable=Trueflag with admin-action note when an OSLC object structure isn't published on the customer's deployment
Every read tool returns a structured envelope (success / data / metadata). Tools that need data their Maximo build doesn't expose surface a data_unavailable: true flag with an admin-action note rather than failing silently. Write tools ship # DISABLED by default.
Quick-start prompts
Once connected to Claude Desktop / Cursor / Code, try:
Responsible Use
This server speaks to a live IBM Maximo instance and exposes its data — and, when explicitly enabled, its mutating operations — to a language model. Before deploying:
- Run hosted HTTP/SSE behind an authenticated gateway. Per-request identity
comes from
MCP_AUTH_MODE=jwt(OIDC) or static + gateway-injectedX-MCP-*headers. Never expose the FastAPI tool API to untrusted callers without an identity solution in front. - TLS at the edge (or in-process via
MCP_SSL_*) is mandatory for any non-stdio deployment. The app does not terminate TLS itself. - Keep all write tools
# DISABLEDin server.py until you have reviewed the RBAC policy and audit posture for your environment. - Stamp
MAXIMO_ENV=dev|staging|prodper deployment so audit records and/healthzmake it obvious which Maximo a container is talking to. - Read SECURITY.md and
PRODUCT_GAPS_BEFORE_DEPLOY.md before
pushing to a public registry; the latter documents the exact controls
required for
https://github.com/mcp-style listings.
Architecture
Installation
Local MCP for Claude Desktop / Claude Code / Cursor
You have two ways to install: uvx (recommended — no manual install) or pip install.
Option A — uvx (recommended)
Install uv once, then point your MCP client at uvx maximo-enterprise-mcp. uvx downloads, caches, and runs the package on demand.
Option B — pip install
Then in the configs below, replace:
with:
Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
Restart Claude Desktop. The hammer icon appears once tools load.
Claude Code
Add to project-level .mcp.json or global ~/.claude.json:
Run /mcp in Claude Code to verify the connection.
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
In Cursor: Settings → MCP → Refresh to load.
Hosted MCP over HTTP/SSE
Hosted mode is intended for trusted network or gateway-protected deployments. It now fails closed unless MCP_ACCESS_TOKEN is set.
Remote MCP clients should connect to:
- MCP SSE endpoint:
http://host:8080/sse - Health endpoint:
http://host:8080/healthz
Example remote MCP config:
FastAPI Tool API
Hosted HTTP mode also exposes a tool API for non-MCP platforms:
GET /healthzGET /v1/toolsPOST /v1/tools/{tool_name}GET /v1/providers/openai-toolsGET /v1/providers/gemini-toolsGET /v1/providers/grok-tools
Example invocation:
AI Platform Usage
OpenAI
Use GET /v1/providers/openai-tools to retrieve OpenAI-compatible tool definitions, then execute the selected tool via POST /v1/tools/{tool_name}.
Gemini
Use GET /v1/providers/gemini-tools to retrieve Gemini function declarations from the same shared tool registry.
Grok
Use GET /v1/providers/grok-tools. The payload is OpenAI-compatible so the same orchestration pattern works.
Optional Dependencies
Core installation uses requirements.txt.
Optional extras are defined in pyproject.toml:
pip install ".[ai]"for OpenAI, ChromaDB, and sentence-transformers.pip install ".[exports]"for Excel and PDF export dependencies.pip install ".[dev]"for local test and lint tooling.
Environment Variables
See .env.example for the complete set. The most important variables are:
Docker
Build
Run
Use docker-compose.yml if you want Redis included.
Deployment Guidance
The server does NOT terminate TLS itself. Every non-stdio deployment
MUST terminate TLS either at the edge or in-process via
MCP_SSL_CERTFILE / MCP_SSL_KEYFILE. See SECURITY.md.
AWS
- Recommended first target: ECS Fargate or App Runner.
- Store secrets in AWS Secrets Manager.
- Required: put ALB or API Gateway in front for TLS and access control.
- Keep Maximo connectivity private when possible.
Azure
- Recommended first target: Azure Container Apps or App Service.
- Store secrets in Key Vault.
- Required: put Application Gateway or Front Door in front for TLS and access control.
Environment Separation
Run one container image, three deployments, three secret stores. Stamp
MAXIMO_ENV=dev|staging|prod per deployment — the value lands in every
audit record and on /healthz, so an operator can confirm at a glance
which Maximo a given container is pointed at.
Recommended pattern:
Never reuse a token across environments — a leaked dev token must not unlock prod, and a misrouted dev container must not write to prod data.
Public Internet
Exposing the raw hosted MCP to the public internet requires ALL of the following — no exceptions:
- bearer or OIDC inbound authentication (
MCP_AUTH_MODE) - TLS at the edge or in-process (the app serves plaintext by default)
- explicit CORS allowlist (
MCP_ALLOWED_ORIGINS) — do NOT use* - rate limiting (
RATE_LIMIT_PER_MINUTE) and a separate edge limiter - audit logging with durable forwarding
- private Maximo connectivity or strict network controls
Development
Run unit tests
Run integration tests
Integration tests hit a real Maximo instance configured in .env. Two suites:
tests/integration_test_tools.py— tool-by-tool smoke against a single live Maximotests/integration/test_smoke_wave[1-4].py— per-wave smoke runs that gate every public tool added in waves 1–4/6
List registered MCP tools
Security Notes
- Do not commit real
.env,.mcp.json, or.cursor/mcp.jsonvalues. - Use example configs from the
*.examplefiles and keep secrets in local-only files or a secret manager. - Hosted mode requires
MCP_ACCESS_TOKEN. - The env-based role model is suitable for local or trusted deployments, not multi-tenant public hosting.
IBM and Maximo are trademarks of International Business Machines Corp., used here for descriptive purposes only. This project is not affiliated with IBM.
来源:README.md,提交 2da4219
工具
0版本历史
1- v1.1.0最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。