MREF Contract Manager MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MREF Contract Manager MCP ServerShow me all active leases expiring this year"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MREF Contract Manager — MCP Server
IBM Maximo Real Estate and Facilities · AI-powered contract management via Model Context Protocol
Demo
Animated SVG — plays automatically. Full console output: docs/DEMO.txt
Related MCP server: maximo-mcp-ai-integration
What it does
The MREF Contract Manager MCP Server connects IBM Bob (AI assistant) to a live IBM Maximo Real Estate and Facilities instance through OSLC REST APIs, exposing 10 tools for natural-language contract management — no manual API calls required.
"Show me all active leases expiring this year"
"Create a 5-year lease for the Chicago office starting 2026-01-01"
"Export all contracts to CSV"
"Search contracts containing termination option"
"Bulk import from contracts_q1.csv"
"Generate an executive portfolio report"Architecture
┌──────────────────────────────────────────┐
│ IBM Bob (AI Assistant) │
│ MCP Client Layer │
└──────────────────┬───────────────────────┘
│ Model Context Protocol (stdio)
┌──────────────────▼───────────────────────┐
│ mref_comprehensive_mcp_server.py │
│ FastMCP Server · 10 Tools │
└──────────────────┬───────────────────────┘
│ HTTP/HTTPS · OSLC REST
┌──────────────────▼───────────────────────┐
│ mref_oslc_client.py │
│ MREFOSLCClient · Session management │
└──────────────────┬───────────────────────┘
│ JSESSIONID cookie auth
┌──────────────────▼───────────────────────┐
│ IBM Maximo Real Estate and Facilities │
│ /p/websignon/signon │
│ /oslc/spq/cstRELeaseQC (GET) │
│ /oslc/so/cstRELeaseCF (POST) │
└──────────────────────────────────────────┘The 10 Tools
# | Tool | What it does |
1 |
| Tests authentication and API reachability |
2 |
| Retrieves all contracts with pagination |
3 |
| Filters by status, city, country, date range |
4 |
| Full-text name search across all records |
5 |
| Status / location / date breakdowns |
6 |
| Markdown or JSON report (summary / detailed / executive) |
7 |
| Creates a new contract via OSLC POST |
8 |
| Updates name, city, state, country, dates — PUT to |
9 |
| Exports records to a local CSV file |
10 |
| Batch-creates contracts from a CSV file |
Quick Start
1 · Prerequisites
Requirement | Version |
Python | 3.11+ |
IBM Bob | MCP-enabled build |
MREF access | Valid username + password |
2 · Install
git clone https://github.com/rjbhavar/MREF-Contract-Management-MCP
cd MREF-Contract-Management-MCP
python3.11 -m pip install -r requirements.txt3 · Configure
cp config.example.json config.json
# edit config.json → set base_url, username, passwordconfig.json is gitignored and never committed.
4 · Register with IBM Bob
Add to your workspace .bob/mcp.json:
{
"mcpServers": {
"mref-contract-manager": {
"command": "python3.11",
"args": ["-u", "/absolute/path/to/mref_comprehensive_mcp_server.py"],
"cwd": "/absolute/path/to/MREF-Contract-Management-MCP"
}
}
}5 · Verify
python3.11 test_all_operations.pyExpected: Result: 11 passed · 0 failed · 0 skipped (of 11 total)
Repository Structure
MREF-Contract-Management-MCP/
├── mref_comprehensive_mcp_server.py # FastMCP server — 11 tools
├── mref_oslc_client.py # OSLC API client (GET + POST + PUT)
├── test_all_operations.py # End-to-end test suite (11/11 pass)
├── config.example.json # Configuration template
├── requirements.txt
├── oslc-objects/ # OSLC package — import into your instance
│ ├── MREF_Contract_OSLC_v2.zip
│ ├── cstRELeaseCF.json
│ ├── cstRELeaseQC.json
│ └── manifest.json
├── samples/ # ← Live production-test artefacts
│ ├── mref_contracts_export_sample.csv # 50 real contracts from live MREF
│ ├── bulk_import_template.csv # Ready-to-use bulk import template
│ ├── post_create_contract_payload.json # Reference POST payload (create)
│ ├── put_update_contract_payload.json # Reference PUT payload (update)
│ └── README.md # Field guide + test evidence table
└── docs/
├── demo.svg # Animated terminal demo (this README)
└── DEMO.txt # Full console output (11/11 pass)OSLC API Reference
Auth
POST /p/websignon/signon
{ "userName": "<user>", "password": "<pass>" }
→ sets JSESSIONID cookieQuery
GET /oslc/spq/cstRELeaseQC?oslc.select=*&oslc.pageSize=100Create
POST /oslc/so/cstRELeaseCF
{ "userName": "<user>", "password": "<pass>",
"spi:triNameTX": "My Lease", "spi:triIdTX": "LEASE-001", ... }Key fields: dcterms:identifier · spi:triNameTX · spi:triIdTX · spi:triCityTX · spi:triStateProvTX · spi:triCountryTX · spi:triStartDA · spi:triExpirationDA · spi:triContractStatusCL · spi:triProviderTypeLI
Object Migration
The OSLC package is bundled — no export step needed.
Log in to MREF → Tools → Administration → Object Migration → New Import Package
Upload the
.zip, click Validate, then ImportRun
python3.11 test_all_operations.pyto confirm
Full guide: OBJECT_MIGRATION_GUIDE.md
Security
Credentials stored in
config.json(gitignored, never committed)All POST payloads use
client.username/client.passwordfrom the loaded config — no hardcoded values anywhereJSESSIONID held in memory only for session lifetime
SSL cert verification configurable in
mref_oslc_client.py
Troubleshooting
Symptom | Resolution |
|
|
|
|
Tool not visible in Bob | Restart Bob; verify |
No contracts returned | Run |
License
Apache 2.0 — see LICENSE
Version: 2.3.0 · Status: ✅ Production Ready
Made with IBM Bob
This server cannot be deployed
Maintenance
Related MCP Connectors
ContractOracle - 10 contract analysis tools: clause extraction, redlines, DORA mappings.
- RenewlyOAuthgg.renewly
Read contracts, track renewals, surface vendor leverage, and draft cancellation/renewal emails.
AI contract management (CLM): contract review, data extraction, reminders and renewal deadlines.
Draft, find, update and sign contracts in fynk, the European contract management platform. Your AI assistant can search and summarize your documents, create contracts from templates or PDFs, fill in parties, signatories and dynamic fields, build templates, manage tags, teams and metadata, and send documents out for e-signature (SES, AES, QES). It acts with your own fynk permissions via OAuth. Requires an Essential, Business or Pro plan (14-day free trial) with MCP enabled by an account admin.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceWraps IBM Maximo API services as MCP tools, enabling AI applications like Dify Agent to manage assets, work orders, and inventory through natural language interactions with enterprise asset management systems.-
- AlicenseNot gradedqualityCmaintenancehe Maximo MCP Server bridges AI agents (Claude, Cursor, Antigravity) with your IBM Maximo environment. It empowers your AI to autonomously discover Object Structures (APIs), inspect schemas, and query live data via OSLC. Instead of hallucinating field names, the AI validates queries instantly and ca122 npm10Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with IBM Engineering Lifecycle Management (ELM), including DOORS Next Generation, EWM, and ETM, for managing requirements, work items, tests, and project builds through natural language.MIT
- AlicenseNot gradedqualityDmaintenanceA production-focused integration that brings IBM Maximo Asset Management into AI workflows, enabling natural language interaction with assets, work orders, inventory, and more.3Apache 2.0