MCP Server for MultiFlexi API integration
Project description
MultiFlexi MCP Server
MCP (Model Context Protocol) Server for MultiFlexi API integration. This server provides tools and resources for interacting with MultiFlexi applications, jobs, companies, users, and run templates.
Features
- Applications: List, retrieve, and manage MultiFlexi applications
- Jobs: Create, retrieve, and monitor job execution
- Companies: Manage company data and configurations
- Users: Access user information and profiles
- Run Templates: Create and update execution templates
- GDPR Compliance: Request and manage data exports
- Authentication: Support for basic authentication
- Error Handling: Comprehensive error handling and logging
Installation
Using pip
pip install multiflexi-mcp-server
From source
git clone https://github.com/VitexSoftware/multiflexi-mcp-server.git
cd multiflexi-mcp-server
pip install -e .
Configuration
The server can be configured using environment variables:
Required Configuration
MULTIFLEXI_HOST: MultiFlexi API host URL (default: demo server)
Optional Configuration
MULTIFLEXI_USERNAME: Username for basic authenticationMULTIFLEXI_PASSWORD: Password for basic authenticationMULTIFLEXI_VERIFY_SSL: Whether to verify SSL certificates (default: true)MULTIFLEXI_TIMEOUT: Request timeout in seconds (default: 30)MULTIFLEXI_MAX_RETRIES: Maximum number of retries (default: 3)MULTIFLEXI_DEBUG: Enable debug logging (default: false)
Example Configuration
export MULTIFLEXI_HOST="https://your-multiflexi-instance.com"
export MULTIFLEXI_USERNAME="your-username"
export MULTIFLEXI_PASSWORD="your-password"
export MULTIFLEXI_VERIFY_SSL="true"
export MULTIFLEXI_DEBUG="false"
Usage
Running the Server
multiflexi-mcp-server
Claude Desktop Integration
Add the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"multiflexi": {
"command": "multiflexi-mcp-server",
"env": {
"MULTIFLEXI_HOST": "https://your-multiflexi-instance.com",
"MULTIFLEXI_USERNAME": "your-username",
"MULTIFLEXI_PASSWORD": "your-password"
}
}
}
}
Using with MCP Clients
The server provides the following resources:
multiflexi://apps- List of applicationsmultiflexi://jobs- List of jobsmultiflexi://companies- List of companiesmultiflexi://users- List of usersmultiflexi://runtemplates- List of run templates
Available Tools
Application Management
get_app- Get application by IDget_apps- List all applications (via resources)
Job Management
get_job- Get job by IDcreate_job- Create a new jobget_job_status- Get job execution statusget_jobs- List all jobs (via resources)
Company Management
get_company- Get company by IDget_companies- List all companies (via resources)
User Management
get_user- Get user by IDget_users- List all users (via resources)
Run Template Management
get_runtemplate- Get run template by IDupdate_runtemplate- Update run templateget_runtemplates- List all templates (via resources)
GDPR Compliance
request_data_export- Request data exportget_export_status- Check export status
Example Tool Usage
{
"tool": "get_app",
"arguments": {
"app_id": 123,
"format": "json"
}
}
{
"tool": "create_job",
"arguments": {
"app_id": 123,
"company_id": 456,
"job_data": {
"name": "Data Processing Job",
"description": "Process daily data",
"schedule": "0 2 * * *"
}
}
}
{
"tool": "request_data_export",
"arguments": {
"export_type": "personal_data",
"format": "json"
}
}
Development
Prerequisites
- Python 3.9+
- pip
- virtualenv (recommended)
Setup Development Environment
git clone https://github.com/VitexSoftware/multiflexi-mcp-server.git
cd multiflexi-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
Running Tests
pytest
Code Formatting
# Format code
black src/ tests/
# Sort imports
isort src/ tests/
# Type checking
mypy src/
# Linting
ruff src/ tests/
API Documentation
This server integrates with the MultiFlexi API. For detailed API documentation, refer to:
Error Handling
The server provides comprehensive error handling:
- API Errors: Formatted with status codes and detailed messages
- Authentication Errors: Clear authentication failure messages
- Validation Errors: Input validation with descriptive errors
- Network Errors: Timeout and connection error handling
All errors are returned in a consistent JSON format:
{
"error": true,
"operation": "get_app",
"status": 404,
"reason": "Not Found",
"details": {
"message": "Application with ID 123 not found"
}
}
Security Considerations
- Authentication: Use environment variables for credentials
- SSL Verification: Enable SSL verification in production
- Network Security: Ensure secure network connections
- Data Privacy: Handle GDPR exports with appropriate security
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Run the test suite
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Issues: GitHub Issues
- Documentation: GitHub Wiki
- Email: info@vitexsoftware.cz
Changelog
v0.1.0 (Initial Release)
- Basic MCP server implementation
- MultiFlexi API integration
- Application, job, company, user, and template management
- GDPR compliance features
- Comprehensive error handling
- Environment-based configuration
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multiflexi_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: multiflexi_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0f414ad6c6de00a74a1c0a7085c14f7604be5d65c922c6dc78096f35a9c0588
|
|
| MD5 |
f2376d0ce25c0dea3e5e74d17076625d
|
|
| BLAKE2b-256 |
8ede63203b3b51c96793f31ccbc8e02853cdc415dfe23582336772709d696da6
|
File details
Details for the file multiflexi_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: multiflexi_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc31fb140359df7c821780cf546aa9f5d9636e26f0d6772f737a7e557dcd03b9
|
|
| MD5 |
6d58f55ff6ca760140c80864bdb2831e
|
|
| BLAKE2b-256 |
5a583008fa8882b76cf12508424d8c463cc73b4d610493cec82b9e69b6d1153a
|