Provides command line examples for testing the MCP server endpoints using curl to make HTTP requests to the asset management API.
Manages environment variables for the MCP server configuration and Maximo API credentials.
Serves as the web framework for the MCP server, handling HTTP requests and responses between clients and the Maximo API.
Maximo MCP Server
This project implements an MCP Server for the IBM Maximo API. It provides a set of tools to interact with Maximo resources like Assets, Work Orders, etc.
High-Level Flow
- The MCP client sends a request to the MCP Server.
- The MCP Server receives the request and calls the appropriate tool function.
- The tool function makes a request to the Maximo API.
- The Maximo API returns a response to the tool function.
- The tool function returns the response to the MCP Server.
- The MCP Server returns the response to the MCP client.
Files
mcp_server.py
: The main application file. It contains the Flask server and the tool implementations.requirements.txt
: The project dependencies..env
: The environment variables for the project.manifest.json
: The tool manifest file.README.md
: This file.
Tools
get_asset
: Retrieves details of a specific asset by its ID.list_assets
: Lists all assets, with optional filtering and pagination.
Note on HTTP Methods
The tool endpoints use the POST
method to receive parameters in a JSON payload, which is a standard practice for MCP servers, even for operations that fetch data.
list_assets
Parameters
page_size
(optional, default: 10): The number of assets to return per page.page_num
(optional, default: 1): The page number to return.where
(optional): A filter to apply to the query. The value should be a valid Maximooslc.where
clause. For example, to filter for assets with a status of "OPERATING", you would use"status=\"OPERATING\""
.
Running the Maximo AI Assistant
This project includes an interactive web application built with Streamlit that allows you to chat with an AI assistant powered by Gemini and your Maximo MCP server.
1. Set Up Environment
First, install the required Python packages:
You will also need to create a .env
file in the root of the project with your Maximo and Google API keys:
2. Run the MCP Server
In your first terminal, start the MCP server:
The server will start on http://localhost:5001
. Keep this terminal running.
3. Run the Streamlit App
In a new terminal window, run the Streamlit application:
The application will open in your web browser. You can now chat with the Maximo AI Assistant and ask it questions about your assets.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An API server that enables interaction with IBM Maximo resources like Assets and Work Orders, providing tool functions to retrieve and list asset information.
Related MCP Servers
- AsecurityAlicenseAqualityA server that provides tools for retrieving real-time price information for various assets including precious metals and cryptocurrencies, allowing language models to access and display current asset price data.Last updated -12612JavaScriptMIT License
- AsecurityFlicenseAqualityA comprehensive server that enables interaction with the ShipHero API through the Model Context Protocol, providing tools for managing orders, products, inventory, shipping, warehouses, vendors, and webhooks.Last updated -29JavaScript
- -securityFlicense-qualityA server that enables AI models to interact with Confluence Data Center through REST API, providing operations like searching, reading, creating, updating, and deleting pages.Last updated -1Python
- -securityFlicense-qualityServer that enables integration with Microsoft Business Central through its REST API, providing functionality for customer and product management, sales orders, and generic API interactions.Last updated -Python