Skip to main content

MCP Server for MultiFlexi API integration

Project description

MultiFlexi MCP Server

PyPI version Python 3.9+ License: MIT

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 authentication
  • MULTIFLEXI_PASSWORD: Password for basic authentication
  • MULTIFLEXI_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 applications
  • multiflexi://jobs - List of jobs
  • multiflexi://companies - List of companies
  • multiflexi://users - List of users
  • multiflexi://runtemplates - List of run templates

Available Tools

Application Management

  • get_app - Get application by ID
  • get_apps - List all applications (via resources)

Job Management

  • get_job - Get job by ID
  • create_job - Create a new job
  • get_job_status - Get job execution status
  • get_jobs - List all jobs (via resources)

Company Management

  • get_company - Get company by ID
  • get_companies - List all companies (via resources)

User Management

  • get_user - Get user by ID
  • get_users - List all users (via resources)

Run Template Management

  • get_runtemplate - Get run template by ID
  • update_runtemplate - Update run template
  • get_runtemplates - List all templates (via resources)

GDPR Compliance

  • request_data_export - Request data export
  • get_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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Run the test suite
  6. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiflexi_mcp_server-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multiflexi_mcp_server-0.1.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

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

Hashes for multiflexi_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f0f414ad6c6de00a74a1c0a7085c14f7604be5d65c922c6dc78096f35a9c0588
MD5 f2376d0ce25c0dea3e5e74d17076625d
BLAKE2b-256 8ede63203b3b51c96793f31ccbc8e02853cdc415dfe23582336772709d696da6

See more details on using hashes here.

File details

Details for the file multiflexi_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for multiflexi_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc31fb140359df7c821780cf546aa9f5d9636e26f0d6772f737a7e557dcd03b9
MD5 6d58f55ff6ca760140c80864bdb2831e
BLAKE2b-256 5a583008fa8882b76cf12508424d8c463cc73b4d610493cec82b9e69b6d1153a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page