Skip to main content
Glama
VitexSoftware

MultiFlexi MCP Server

MultiFlexi MCP Server

PyPI version Python 3.9+ License: MIT MCP: Model Context Protocol Packaging: deb Self-hosted MCP Badge

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

Related MCP server: komodo-mcp

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: https://demo.multiflexi.eu/api, the public demo server)

Optional Configuration

  • MULTIFLEXI_USERNAME: Username for basic authentication (default: demo, matching the demo server)

  • MULTIFLEXI_PASSWORD: Password for basic authentication (default: demo, matching the demo server)

  • 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)

Out of the box (no environment variables set) the server talks to the public demo.multiflexi.eu instance with the shared demo/demo account, so it works without any setup. For any real deployment, set at least MULTIFLEXI_HOST and your own MULTIFLEXI_USERNAME/MULTIFLEXI_PASSWORD to override these defaults.

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

  • multiflexi://credentials - List of credentials

  • multiflexi://credential_types - List of credential types

  • multiflexi://topics - List of topics (capability contracts)

  • multiflexi://eventsources - List of event sources

  • multiflexi://eventrules - List of event rules

  • multiflexi://tasks - List of tasks (per-window fulfilment obligations)

Available Prompts

  • diagnose_job_failure (job_id) - Investigate why a job failed and whether a retry is safe

  • task_fulfillment_report (runtemplate_id, optional) - Summarize Task states (fulfilled/fulfilled_late/failed/missed) for one or all RunTemplates

  • gdpr_export_checklist (export_type, optional) - Request a GDPR data export and produce a compliance-ready summary once it completes

Available Tools

Requires a multiflexi-client build generated from the current openapi-schema.yaml (not yet released to PyPI as of this writing — see "Known limitations" below).

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 - Schedule a job from a RunTemplate (runtemplate_id, scheduled, executor, env)

  • get_job_status - Get job execution status

  • get_jobs - List all jobs (via resources)

Company Management

  • get_company - Get company by ID

  • list_companies - List all companies

  • list_company_users - List users assigned to a company

  • assign_user_to_company - Assign a user to a company with an access role

  • unassign_user_from_company - Remove a user's assignment from a company

User Management

  • get_user - Get user by ID

  • list_users - List all users

  • get_user_roles - Get RBAC roles assigned to a user

  • set_user_roles - Assign RBAC roles to a user

Credential & Credential Type Management

  • list_credentials / get_credential / update_credential - List/get/update credentials

  • list_credential_types / get_credential_type / update_credential_type - List/get/update credential types

Topic Management

  • list_topics / get_topic / update_topic - List/get/update topics

Event Source Management

  • list_event_sources / get_event_source - List/get event sources

  • set_event_source - Create or update an event source

  • delete_event_source - Delete an event source

  • test_event_source_connection - Live-test connectivity/credentials

Event Rule Management

  • list_event_rules / get_event_rule - List/get event rules

  • set_event_rule - Create or update an event rule

  • delete_event_rule - Delete an event rule

Task (read-only — tasks are system-materialized per RunTemplate window)

  • list_tasks - List tasks, optionally filtered by state/runtemplate_id

  • get_task - Get a task by ID, including its job attempt history

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

Known limitations

  • set_company_by_id still has no requestBody defined in openapi-schema.yaml, so Company writes are not exposed as an MCP tool — only list/get. update_credentials, update_credential_type, and update_topic now have requestBody schemas and are exposed as update_credential, update_credential_type, and update_topic.

  • get_credential's schema declares a required token parameter alongside credential_id that looks like a schema-authoring artifact on a session-authenticated endpoint; it's exposed but defaults to an empty string.

Example Tool Usage

{
  "tool": "get_app",
  "arguments": {
    "app_id": 123,
    "format": "json"
  }
}
{
  "tool": "create_job",
  "arguments": {
    "runtemplate_id": 15,
    "scheduled": "now",
    "env": {"DOCID": "FV-2025-0042"}
  }
}
{
  "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

See CHANGELOG.md for the full history. Highlights:

v0.2.0

  • Fixed slow cold-start import time: multiflexi_client (the generated API SDK) is now imported lazily on first use instead of at module load, cutting process startup from ~5s to well under 1s -- this matters because the server is spawned fresh per connection by consumers with a bounded handshake timeout.

  • Added update_credential, update_credential_type, and update_topic tools

  • Fixed several API method/response mismatches against multiflexi-client

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

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for Appcircle mobile CI/CD platform.

  • MCP Server for JFrog, providing tools for development and artifact management.

  • MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VitexSoftware/multiflexi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server