Qlik Sense

Qlik Sense

bintocher

Connects to Qlik Sense Enterprise to query data models, manage applications and users, and automate business intelligence workflows through Repository and Engine APIs.

Integrates with Qlik Sense Enterprise through Repository and Engine APIs to enable querying data models, managing applications and users, extracting table data, and automating reload tasks for business intelligence workflows.

24359 views12Local (stdio)

What it does

  • Query data models and create hypercubes
  • Extract table data from applications
  • Manage applications and user permissions
  • Automate data reload tasks
  • Extract application scripts and metadata
  • Analyze fields and master items

Best for

Business intelligence analysts working with Qlik SenseData engineers automating BI workflowsDevelopers integrating Qlik Sense with other systems
10 comprehensive toolsCertificate-based authenticationUnified Repository and Engine API access

About Qlik Sense

Qlik Sense is a community-built MCP server published by bintocher that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Qlik Sense for automated BI workflows, data model queries, app management, and efficient data extraction It is categorized under analytics data.

How to install

You can install Qlik Sense in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Qlik Sense is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Qlik Sense MCP Server

PyPI version PyPI downloads License: MIT Python versions

Model Context Protocol (MCP) server for integration with Qlik Sense Enterprise APIs. Provides unified interface for Repository API and Engine API operations through MCP protocol.

Table of Contents

Overview

Qlik Sense MCP Server bridges Qlik Sense Enterprise with systems supporting Model Context Protocol. Server provides 10 comprehensive tools for complete Qlik Sense analytics workflow including application discovery, data analysis, script extraction, and metadata management.

Key Features

  • Unified API: Single interface for Qlik Sense Repository and Engine APIs
  • Security: Certificate-based authentication support
  • Performance: Optimized queries and direct API access
  • Analytics: Advanced data analysis and hypercube creation
  • Metadata: Comprehensive application and field information

Features

Available Tools

ToolDescriptionAPIStatus
get_appsGet comprehensive list of applications with metadataRepository
get_app_detailsGet compact app overview (metadata, fields, master items, sheets/objects)Repository
get_app_sheetsGet list of sheets from application with title and descriptionEngine
get_app_sheet_objectsGet list of objects from specific sheet with object ID, type and descriptionEngine
get_app_scriptExtract load script from applicationEngine
get_app_fieldReturn values of a field with pagination and wildcard searchEngine
get_app_variablesReturn variables split by source with pagination and wildcard searchEngine
get_app_field_statisticsGet comprehensive field statisticsEngine
engine_create_hypercubeCreate hypercube for data analysisEngine
get_app_objectGet specific object layout by ID (GetObject + GetLayout)Engine

Installation

Quick Start with uvx (Recommended)

The easiest way to use Qlik Sense MCP Server is with uvx:

uvx qlik-sense-mcp-server

This command will automatically install and run the latest version without affecting your system Python environment.

Alternative Installation Methods

From PyPI

pip install qlik-sense-mcp-server

From Source (Development)

git clone https://github.com/bintocher/qlik-sense-mcp.git
cd qlik-sense-mcp
make dev

System Requirements

  • Python 3.12+
  • Qlik Sense Enterprise
  • Valid certificates for authentication
  • Network access to Qlik Sense server (ports 4242 Repository, 4747 Engine)
  • Ensure your MCP client model can handle large JSON responses; prefer small limits in requests during testing

Setup

  1. Setup certificates
mkdir certs
# Copy your Qlik Sense certificates to certs/ directory
  1. Create configuration
cp .env.example .env
# Edit .env with your settings

Configuration

Environment Variables (.env)

# Server connection
QLIK_SERVER_URL=https://your-qlik-server.company.com
QLIK_USER_DIRECTORY=COMPANY
QLIK_USER_ID=your-username

# Certificate paths (absolute paths)
QLIK_CLIENT_CERT_PATH=/path/to/certs/client.pem
QLIK_CLIENT_KEY_PATH=/path/to/certs/client_key.pem
QLIK_CA_CERT_PATH=/path/to/certs/root.pem

# API ports (standard Qlik Sense ports)
QLIK_REPOSITORY_PORT=4242
QLIK_ENGINE_PORT=4747

# Optional HTTP port for metadata requests
QLIK_HTTP_PORT=443

# SSL settings
QLIK_VERIFY_SSL=false

Optional Environment Variables

# Logging level (default: INFO)
LOG_LEVEL=INFO

# Engine WebSocket timeouts and retries
QLIK_WS_TIMEOUT=8.0     # seconds
QLIK_WS_RETRIES=2       # number of endpoints to try

MCP Configuration

Create mcp.json file for MCP client integration:

{
  "mcpServers": {
    "qlik-sense": {
      "command": "uvx",
      "args": ["qlik-sense-mcp-server"],
      "env": {
        "QLIK_SERVER_URL": "https://your-qlik-server.company.com",
        "QLIK_USER_DIRECTORY": "COMPANY",
        "QLIK_USER_ID": "your-username",
        "QLIK_CLIENT_CERT_PATH": "/absolute/path/to/certs/client.pem",
        "QLIK_CLIENT_KEY_PATH": "/absolute/path/to/certs/client_key.pem",
        "QLIK_CA_CERT_PATH": "/absolute/path/to/certs/root.pem",
        "QLIK_REPOSITORY_PORT": "4242",
        "QLIK_PROXY_PORT": "4243",
        "QLIK_ENGINE_PORT": "4747",
        "QLIK_HTTP_PORT": "443",
        "QLIK_VERIFY_SSL": "false",
        "QLIK_HTTP_TIMEOUT": "10.0",
        "QLIK_WS_TIMEOUT": "8.0",
        "QLIK_WS_RETRIES": "2",
        "LOG_LEVEL": "INFO"
      },
      "disabled": false,
      "autoApprove": [
        "get_apps",
        "get_app_details",
        "get_app_script",
        "get_app_field_statistics",
        "engine_create_hypercube",
        "get_app_field",
        "get_app_variables",
        "get_app_sheets",
        "get_app_sheet_objects",
        "get_app_object"
      ]
    }
  }
}

Environment Variables Configuration

The server requires the following environment variables for configuration:

Required Variables

  • QLIK_SERVER_URL - Qlik Sense server URL (e.g., https://qlik.company.com)
  • QLIK_USER_DIRECTORY - User directory for authentication (e.g., COMPANY)
  • QLIK_USER_ID - User ID for authentication (e.g., your-username)

Certificate Configuration (Required for production)

  • QLIK_CLIENT_CERT_PATH - Absolute path to client certificate file (.pem format)
  • QLIK_CLIENT_KEY_PATH - Absolute path to client private key file (.pem format)
  • QLIK_CA_CERT_PATH - Absolute path to CA certificate file (.pem format). If not specified, SSL certificate verification will be disabled

Network Configuration

  • QLIK_REPOSITORY_PORT - Repository API port (default: 4242)
  • QLIK_PROXY_PORT - Proxy API port for authentication (default: 4243)
  • QLIK_ENGINE_PORT - Engine API port for WebSocket connections (default: 4747)
  • QLIK_HTTP_PORT - HTTP API port for metadata requests (optional, only used for /api/v1/apps/{id}/data/metadata endpoint)

SSL and Security

  • QLIK_VERIFY_SSL - Verify SSL certificates (true/false, default: true)

Timeouts and Performance

  • QLIK_HTTP_TIMEOUT - HTTP request timeout in seconds (default: 10.0)
  • QLIK_WS_TIMEOUT - WebSocket connection timeout in seconds (default: 8.0)
  • QLIK_WS_RETRIES - Number of WebSocket connection retry attempts (default: 2)

Logging

  • LOG_LEVEL - Logging level (DEBUG, INFO, WARNING, ERROR, default: INFO)

Usage

Start Server

# Using uvx (recommended)
uvx qlik-sense-mcp-server

# Using installed package
qlik-sense-mcp-server

# From source (development)
python -m qlik_sense_mcp_server.server

Example Operations

Get Applications List

# Via MCP client - get first 50 apps (default)
result = mcp_client.call_tool("get_apps")
print(f"Showing {result['pagination']['returned']} of {result['pagination']['total_found']} apps")

# Search for specific apps
result = mcp_client.call_tool("get_apps", {
    "name_filter": "Sales",
    "limit": 10
})

# Get more apps (pagination)
result = mcp_client.call_tool("get_apps", {
    "offset": 50,
    "limit": 50
})

Analyze Application

# Get comprehensive app analysis
result = mcp_client.call_tool("get_app_details", {
    "app_id": "your-app-id"
})
print(f"App has {len(result['data_model']['tables'])} tables")

Create Data Analysis Hypercube

# Create hypercube for sales analysis
result = mcp_client.call_tool("engine_create_hypercube", {
    "app_id": "your-app-id",
    "dimensions": ["Region", "Product"],
    "measures": ["Sum(Sales)", "Count(Orders)"],
    "max_rows": 1000
})

Get Field Statistics

# Get detailed field statistics
result = mcp_client.call_tool("get_app_field_statistics", {
    "app_id": "your-app-id",
    "field_name": "Sales"
})
print(f"Average: {result['avg_value']['numeric']}")

API Reference

get_apps

Retrieves comprehensive list of Qlik Sense applications with metadata, pagination and filtering support.

Parameters:

  • limit (optional): Maximum number of apps to return (default: 50, max: 1000)
  • offset (optional): Number of apps to skip for pagination (default: 0)
  • name_filter (optional): Filter apps by name (case-insensitive partial match)
  • app_id_filter (optional): Filter by specific app ID/GUID
  • include_unpublished (optional): Include unpublished apps (default: true)

Returns: Object containing paginated apps, streams, and pagination metadata

Example (default - first 50 apps):

{
  "apps": [...],
  "streams": [...],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "returned": 50,
    "total_found": 1598,
    "has_more": true,
    "next_offset": 50
  },
  "filters": {
    "name_filter": null,
    "app_id_filter": null,
    "include_unpublished": true
  },
  "summary": {
    "total_apps": 1598,
    "published_apps": 857,
    "private_apps": 741,
    "total_streams": 40,
    "showing": "1-50 of 1598"
  }
}

Example (with name filter):

# Search for apps containing "dashboard"
result = 

---

*README truncated. [View full README on GitHub](https://github.com/bintocher/qlik-sense-mcp).*

Alternatives

Related Skills

Browse all skills
data-storytelling

Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.

13
content-trend-researcher

Advanced content and topic research skill that analyzes trends across Google Analytics, Google Trends, Substack, Medium, Reddit, LinkedIn, X, blogs, podcasts, and YouTube to generate data-driven article outlines based on user intent analysis

13
crypto-market-data

No API KEY needed for free tier. Professional-grade cryptocurrency market data integration for real-time prices, historical charts, and global analytics.

4
senior-data-scientist

World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics. Expertise in Python (NumPy, Pandas, Scikit-learn), R, SQL, statistical methods, A/B testing, time series, and business intelligence. Includes experiment design, feature engineering, model evaluation, and stakeholder communication. Use when designing experiments, building predictive models, performing causal analysis, or driving data-driven decisions.

3
data-scientist

Expert data scientist for advanced analytics, machine learning, and statistical modeling. Handles complex data analysis, predictive modeling, and business intelligence. Use PROACTIVELY for data analysis tasks, ML modeling, statistical analysis, and data-driven insights.

2
dbt-transformation-patterns

Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.

1