
LumenX-MCP Legal Spend Intelligence Server
MCP server that enables intelligent analysis of legal spend data across multiple sources (LegalTracker, databases, CSV/Excel files), providing features like spend summaries, vendor performance analysis, and budget comparisons.
README
LumenX-MCP Legal Spend Intelligence Server
A Model Context Protocol (MCP) server for intelligent legal spend analysis across multiple data sources. Part of the LumenX suite powered by DatSciX.
🚀 Features
- Multi-Source Integration: Connect to multiple data sources simultaneously
- LegalTracker API integration
- Database support (PostgreSQL, SQL Server, Oracle)
- File imports (CSV, Excel)
- Comprehensive Analytics:
- Spend summaries by period, department, practice area
- Vendor performance analysis
- Budget vs. actual comparisons
- Transaction search capabilities
- MCP Compliant: Full implementation of Model Context Protocol standards
- Async Architecture: High-performance asynchronous data processing
- Extensible Design: Easy to add new data sources and analytics
📋 Prerequisites
- Python 3.10 or higher
- Access to one or more supported data sources
- MCP-compatible client (e.g., Claude Desktop)
🛠️ Installation
Using pip
pip install legal-spend-mcp
From Source
# Clone the repository
git clone https://github.com/DatSciX-CEO/LumenX-MCP.git
cd LumenX-MCP
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .
Using uv (recommended)
# Install uv if not already installed
pip install uv
# Clone and install
git clone https://github.com/DatSciX-CEO/LumenX-MCP.git
cd LumenX-MCP
uv pip install -e .
⚙️ Configuration
- Copy the environment template:
cp .env.template .env
- Edit
.env
with your data source credentials:
# Enable the data sources you want to use
LEGALTRACKER_ENABLED=true
LEGALTRACKER_API_KEY=your_api_key_here
LEGALTRACKER_BASE_URL=https://api.legaltracker.com
# Database connections (optional)
SAP_ENABLED=false
SAP_HOST=your_sap_host
SAP_PORT=1433
SAP_DATABASE=your_database
SAP_USER=your_username
SAP_PASSWORD=your_password
# File sources (optional)
CSV_ENABLED=true
CSV_FILE_PATH=/path/to/legal_spend.csv
🚀 Quick Start
Running the Server
# Using the installed command
legal-spend-mcp
# Or using Python
python -m legal_spend_mcp.server
Configure with Claude Desktop
Add to your Claude Desktop configuration (claude_config.json
):
{
"mcpServers": {
"legal-spend": {
"command": "legal-spend-mcp",
"env": {
"LEGALTRACKER_ENABLED": "true",
"LEGALTRACKER_API_KEY": "your_api_key"
}
}
}
}
📚 Available Tools
get_legal_spend_summary
Get aggregated spend data with filtering options.
Parameters:
start_date
(required): Start date in YYYY-MM-DD formatend_date
(required): End date in YYYY-MM-DD formatdepartment
(optional): Filter by departmentpractice_area
(optional): Filter by practice areavendor
(optional): Filter by vendor namedata_source
(optional): Query specific data source
Example:
result = await get_legal_spend_summary(
start_date="2024-01-01",
end_date="2024-12-31",
department="Legal"
)
get_vendor_performance
Analyze performance metrics for a specific vendor.
Parameters:
vendor_name
(required): Name of the vendorstart_date
(required): Start date in YYYY-MM-DD formatend_date
(required): End date in YYYY-MM-DD formatinclude_benchmarks
(optional): Include industry comparisons
get_budget_vs_actual
Compare actual spending against budgeted amounts.
Parameters:
department
(required): Department namestart_date
(required): Start date in YYYY-MM-DD formatend_date
(required): End date in YYYY-MM-DD formatbudget_amount
(required): Budget amount to compare
search_legal_transactions
Search for specific transactions across all data sources.
Parameters:
search_term
(required): Search querystart_date
(optional): Start date filterend_date
(optional): End date filtermin_amount
(optional): Minimum amount filtermax_amount
(optional): Maximum amount filterlimit
(optional): Maximum results (default: 50)
📊 Resources
The server provides several MCP resources for reference data:
- legal_vendors: List of all vendors across data sources
- data_sources: Status and configuration of data sources
- spend_categories: Available categories and practice areas
- spend_overview://recent: Recent spend activity overview
🔌 Supported Data Sources
LegalTracker API
- Real-time invoice and matter data
- Vendor management information
- Practice area classifications
Databases
- PostgreSQL: Full support for legal spend tables
- SQL Server: Compatible with SAP and other ERP systems
- Oracle: Enterprise financial system integration
File Imports
- CSV: Standard comma-separated values
- Excel: .xlsx files with configurable sheet names
📝 Data Model
The server uses a standardized data model for legal spend records:
@dataclass
class LegalSpendRecord:
invoice_id: str
vendor_name: str
vendor_type: VendorType
matter_id: Optional[str]
matter_name: Optional[str]
department: str
practice_area: PracticeArea
invoice_date: date
amount: Decimal
currency: str
expense_category: str
description: str
# ... additional fields
🧪 Testing
Run the test suite:
# Run all tests
pytest
# Run with coverage
pytest --cov=legal_spend_mcp
# Run specific test file
pytest tests/test_server.py
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure:
- All tests pass
- Code follows the project style guide
- Documentation is updated
- Commit messages are descriptive
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built on the Model Context Protocol
- Powered by DatSciX
- Part of the LumenX suite of enterprise tools
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: patrick@datscix.com
🗺️ Roadmap
- [ ] Additional data source integrations
- [ ] Machine learning-based spend predictions
- [ ] Automated anomaly detection
- [ ] Enhanced benchmark analytics
- [ ] GraphQL API support
- [ ] Real-time notifications
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.