Qlik MCP Server

Qlik MCP Server

Connects AI assistants like Claude to Qlik Cloud and Qlik Sense Enterprise environments, enabling natural language interactions for analytics, app management, reloads, user administration, and data governance across 34 tools.

Category
Visit Server

README

Qlik MCP Server

A Model Context Protocol (MCP) server that connects AI assistants like Claude to your Qlik Cloud and Qlik Sense Enterprise environments. This enables natural language interactions with your analytics platform.

Own your AI. Create your own way to interact with your data.

Features

  • 34 MCP Tools across 12 categories
  • Dual Platform Support - Qlik Cloud and Qlik Sense Enterprise (On-Premise)
  • Natural Language Analytics - Ask questions about your data in plain English
  • Full Lifecycle Management - Apps, reloads, users, spaces, and more
  • AI/ML Integration - AutoML experiments, Qlik Answers assistants
  • Enterprise Governance - Users, roles, permissions, compliance

Quick Start

Prerequisites

  • Node.js 18+ - Download from nodejs.org
  • Claude Desktop - Download from claude.ai/download
  • Qlik Cloud tenant OR Qlik Sense Enterprise server

Step 1: Download the MCP Server

Windows (Recommended)

  1. Download the ZIP file from GitHub:

    • Go to: https://github.com/undsoul/qlik-claude-mcp
    • Click green "Code" button → "Download ZIP"
  2. *Extract to C:* (recommended for simple paths):

    • Right-click the downloaded ZIP → Extract All
    • Extract to: C:\
    • You should now have: C:\qlik-claude-mcp-main\
  3. Open PowerShell and install dependencies:

    cd C:\qlik-claude-mcp-main
    npm install
    

macOS / Linux

git clone https://github.com/undsoul/qlik-claude-mcp.git
cd qlik-claude-mcp
npm install

Step 2: Install Claude Desktop

  1. Download Claude Desktop from claude.ai/download
  2. Install and sign in with your Anthropic account

Step 3: Get Your Qlik API Key

For Qlik Cloud:

  1. Log in to your Qlik Cloud tenant
  2. Click your profile icon (top right) → Profile settings
  3. Go to API keys section
  4. Click Generate new key
  5. Copy and save the API key (you won't see it again!)

For Qlik Sense Enterprise (On-Premise):

  1. Open QMCStartCertificates
  2. Add a machine name (e.g., MCP-Client)
  3. Click Export certificates
  4. Important settings:
    • Certificate file format: Choose PEM format (not Windows format)
    • Check Include secret key
  5. Export and save the files:
    • client.pem - Client certificate
    • client_key.pem - Private key
  6. Note the paths where you saved these files

Step 4: Configure Claude Desktop

Open Config File (Easiest Way)

  1. Open Claude Desktop
  2. Click Settings (gear icon) or File menu
  3. Click "Edit Config" or "Settings" → "Developer" → "Edit Config"
  4. This opens claude_desktop_config.json in your default text editor
  5. Paste the configuration below and Save (Ctrl+S)

Config file location:

  • Windows: C:\Users\{YourName}\AppData\Roaming\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Qlik Cloud Examples

Windows:

{
  "mcpServers": {
    "qlik-mcp-os": {
      "command": "node",
      "args": ["C:/qlik-claude-mcp-main/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://your-tenant.eu.qlikcloud.com",
        "QLIK_API_KEY": "your-api-key-here"
      }
    }
  }
}

macOS:

{
  "mcpServers": {
    "qlik-mcp-os": {
      "command": "node",
      "args": ["/Users/yourname/qlik-claude-mcp/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://your-tenant.us.qlikcloud.com",
        "QLIK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Qlik Sense Enterprise (On-Premise) Examples

Step 1: Export Certificates from QMC

  1. Open Qlik Management Console (QMC)
  2. Go to Certificates under Configure System
  3. Click Export certificates
  4. Enter machine name (e.g., your server hostname)
  5. Check Include secret key
  6. Export format: Platform independent PEM-format
  7. Click Export - saves to: C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\<machinename>\

The folder will contain:

  • client.pem - Client certificate
  • client_key.pem - Client private key
  • root.pem - Root CA certificate

Step 2: Configure Claude Desktop

Windows:

{
  "mcpServers": {
    "qlik-onprem": {
      "command": "node",
      "args": ["C:/qlik-claude-mcp-main/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://qlik-server.company.com",
        "QLIK_DEPLOYMENT": "on-premise",
        "QLIK_CERT_PATH": "C:/ProgramData/Qlik/Sense/Repository/Exported Certificates/YourServer",
        "QLIK_USER_DIRECTORY": "COMPANY",
        "QLIK_USER_ID": "administrator"
      }
    }
  }
}

macOS/Linux:

{
  "mcpServers": {
    "qlik-onprem": {
      "command": "node",
      "args": ["/Users/yourname/qlik-claude-mcp/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://qlik-server.company.com",
        "QLIK_DEPLOYMENT": "on-premise",
        "QLIK_CERT_PATH": "/path/to/exported-certificates",
        "QLIK_USER_DIRECTORY": "DOMAIN",
        "QLIK_USER_ID": "administrator"
      }
    }
  }
}

Note:

  • QLIK_CERT_PATH is the folder containing client.pem, client_key.pem, and root.pem
  • QLIK_USER_DIRECTORY and QLIK_USER_ID specify which user to act as (e.g., DOMAIN\administrator)
  • The user must have appropriate access rights in QMC

Multi-Tenant & Hybrid Configurations

You can configure multiple MCP servers in the same config file to connect to different Qlik environments simultaneously. This supports:

  • Multiple Qlik Cloud tenants (e.g., Dev, Test, Prod)
  • Multiple On-Premise servers
  • Hybrid setups (Cloud + On-Premise together)

Example: Two Cloud Tenants + One On-Premise:

{
  "mcpServers": {
    "qlik-cloud-dev": {
      "command": "node",
      "args": ["C:/qlik-claude-mcp-main/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://dev-tenant.eu.qlikcloud.com",
        "QLIK_API_KEY": "dev-api-key-here"
      }
    },
    "qlik-cloud-prod": {
      "command": "node",
      "args": ["C:/qlik-claude-mcp-main/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://prod-tenant.eu.qlikcloud.com",
        "QLIK_API_KEY": "prod-api-key-here"
      }
    },
    "qlik-onprem": {
      "command": "node",
      "args": ["C:/qlik-claude-mcp-main/dist/index.js"],
      "env": {
        "QLIK_TENANT_URL": "https://qlik-server.company.com",
        "QLIK_DEPLOYMENT": "on-premise",
        "QLIK_CERT_PATH": "C:/ProgramData/Qlik/Sense/Repository/Exported Certificates/MyServer",
        "QLIK_USER_DIRECTORY": "COMPANY",
        "QLIK_USER_ID": "administrator"
      }
    }
  }
}

Each server appears as a separate MCP connection in Claude Desktop. You can specify which environment to use when asking questions:

  • "Using qlik-cloud-dev, list all apps"
  • "On qlik-onprem, trigger reload for Sales Dashboard"

Step 5: Build the MCP Server

After saving your config, go back to PowerShell (Windows) or Terminal (macOS) and run:

Windows

npm run build

macOS / Linux

npm run build

Verify build succeeded - you should see dist/index.js created.


Step 6: Restart Claude Desktop

  1. Quit Claude Desktop completely (not just close the window)
    • macOS: Right-click Claude in menu bar → Quit
    • Windows: Right-click Claude in system tray → Exit
  2. Reopen Claude Desktop
  3. Start a new conversation and try: "Check my Qlik health"

Verify It's Working

In Claude Desktop, type:

Check my Qlik environment health

You should see Claude use the qlik_health_check tool and return your tenant status.


Tool Capabilities (33 Tools)

1. Search Tools (1)

Unified search across all resources.

Tool Description Platforms
qlik_search Search apps, datasets, automations, and more Cloud, On-Prem

Example prompts:

  • "Search for apps containing 'Sales'"
  • "Find all datasets in the Finance space"
  • "List apps modified in the last week"

2. Governance Tools (5)

Manage users, tenants, and licenses.

Tool Description Platforms
qlik_health_check Check server status and connectivity Cloud, On-Prem
qlik_get_tenant_info Get tenant/server information Cloud, On-Prem
qlik_search_users Search users by name or email Cloud, On-Prem
qlik_get_user_info Get detailed user information Cloud, On-Prem
qlik_get_license_info Get license and seat allocation Cloud, On-Prem

Example prompts:

  • "Check the health of my Qlik environment"
  • "Search for users with 'admin' in their name"
  • "Show me the license information"

3. Reload Tools (3)

Manage app reloads.

Tool Description Platforms
qlik_trigger_app_reload Trigger an app reload Cloud, On-Prem
qlik_get_reload_status Check reload task status Cloud, On-Prem
qlik_cancel_reload Cancel a running reload Cloud, On-Prem

Example prompts:

  • "Reload the Sales Dashboard app"
  • "What's the status of reload task abc123?"
  • "Cancel the current reload"

4. Catalog Tools (1)

Browse spaces and streams.

Tool Description Platforms
qlik_get_spaces_catalog List all spaces with details Cloud (Spaces), On-Prem (Streams)

Example prompts:

  • "List all spaces in my tenant"
  • "Show me the catalog of available spaces"

5. Lineage Tools (1) - Cloud Only

Track data lineage.

Tool Description Platforms
qlik_get_lineage Get data lineage for a resource Cloud

Example prompts:

  • "Show me the data lineage for dataset xyz"

6. Data Tools (5)

Interact with data and selections.

Tool Description Platforms
qlik_get_dataset_details Get dataset/data connection details Cloud, On-Prem
qlik_apply_selections Apply field selections Cloud, On-Prem
qlik_clear_selections Clear all selections Cloud, On-Prem
qlik_get_current_selections Get active selections Cloud, On-Prem
qlik_get_available_fields List all fields in an app Cloud, On-Prem

Example prompts:

  • "What fields are available in app xyz?"
  • "Select 'USA' in the Country field"
  • "Clear all selections in the app"

7. Misc Tools (2)

Natural language and reload info.

Tool Description Platforms
qlik_insight_advisor Ask natural language questions Cloud, On-Prem
qlik_get_reload_info Get reload history for an app Cloud, On-Prem

Example prompts:

  • "Ask Sales app: What were total sales last year?"
  • "Show me the reload history for app xyz"

Note: On-premise qlik_insight_advisor requires Insight Advisor Chat license enabled in QMC.


8. App Tools (1)

Create, update apps and manage data connections.

Tool Description Platforms
qlik_generate_app Create or update a Qlik app with script and data connections Cloud, On-Prem

Example prompts:

  • "Create a new app called Sales Report"
  • "Update the load script for app xyz"

Cloud Workflow

On Qlik Cloud, qlik_generate_app uses REST APIs to create apps and trigger reloads asynchronously.

Cloud Example Prompts:

What you say What happens
"Create a Qlik app with sample sales data" Creates app with inline LOAD script
"Create a new app called 'Dashboard' and load this data..." Creates app in personal space
"Update the load script for app abc-123" Updates existing app's script

Typical Cloud Workflow:

  1. Create app with inline data:

    "Create a Qlik app called 'Sales Analysis' with sample data
    for products, regions, and sales amounts"
    
  2. Create app using existing dataset:

    "Create a Qlik app that loads from the 'Sales.qvd' dataset
    in my Data space"
    
  3. Update existing app:

    "Update app abc-123 with a new load script that adds
    a calculated field for profit margin"
    

Cloud Data Connection Note: On Cloud, data connections are managed via the Qlik Cloud hub or Spaces. Use qlik_search with types: ["dataconnection"] to find existing connections, then reference them in your load script using LIB CONNECT TO.


On-Premise Workflow (Engine API)

On Qlik Sense Enterprise, the tool uses the Engine API via WebSocket (port 4747) with certificate authentication:

  1. Create App - Global.CreateApp()
  2. Create Data Connection (optional) - Doc.CreateConnection()
  3. Set Load Script - Doc.SetScript()
  4. Execute Reload - Doc.DoReload()
  5. Save App - Doc.DoSave()

On-Premise Example Prompts:

What you say What happens
"List available ODBC data sources on the server" Lists all DSNs configured on the Qlik server
"Show me the data connections in app abc-123" Lists all connections in the specified app
"Create a Qlik app with sample sales data" Creates app with inline LOAD script
"Create an app that loads data from C:\Data\sales.csv" Creates folder connection + app
"Create an app connected to SQL Server DSN 'MySQLServer'" Creates ODBC connection + app

Typical On-Premise Workflow:

  1. Discover data sources:

    "What ODBC data sources are available on the Qlik server?"
    
  2. Explore existing app connections:

    "List the data connections in the Sales Dashboard app"
    
  3. Create app with data:

    "Create a new Qlik app called 'Customer Analysis' that connects to
    the folder C:\QlikData and loads customers.csv"
    

Discovery Parameters:

// List available ODBC data sources on the server
{ "listOdbcDsns": true }

// List connections in an existing app
{ "appId": "abc-123", "listConnections": true }

On-Premise Data Connection Examples:

Folder Connection:

{
  "appName": "SalesReport",
  "dataConnection": {
    "connectionName": "SalesData",
    "connectionType": "folder",
    "connectionString": "C:\\Data\\Sales\\"
  },
  "loadScript": "LOAD * FROM [lib://SalesData/sales.csv] (txt, codepage is 1252, embedded labels, delimiter is ',', msq);"
}

ODBC Connection:

{
  "appName": "SQLReport",
  "dataConnection": {
    "connectionName": "SQLServer",
    "connectionType": "ODBC",
    "connectionString": "DSN=MyDSN",
    "username": "user",
    "password": "pass"
  },
  "loadScript": "LIB CONNECT TO 'SQLServer';\nSQL SELECT * FROM Sales;"
}

Note: On-premise uses Engine API (port 4747) with certificate auth. Ensure certificates are properly exported from QMC.


9. Automation Tools (4) - Cloud Only

Manage automations.

Tool Description Platforms
qlik_automation_list List all automations Cloud
qlik_automation_get_details Get automation details Cloud
qlik_automation_run Execute an automation Cloud
qlik_automation_list_runs List automation runs Cloud

Example prompts:

  • "List all automations"
  • "Run the daily ETL automation"
  • "Show me the run history for automation xyz"

10. Alerts Tools (4) - Cloud Only

Data alerting and notifications.

Tool Description Platforms
qlik_alert_list List all data alerts Cloud
qlik_alert_get Get alert details Cloud
qlik_alert_trigger Manually trigger an alert Cloud
qlik_alert_delete Delete an alert Cloud

Example prompts:

  • "List all data alerts"
  • "Show me the details of alert xyz"
  • "Trigger the inventory alert"

11. Qlik Answers Tools (3) - Cloud Only

AI assistants with Q&A capabilities.

Tool Description Platforms
qlik_answers_list_assistants List AI assistants Cloud
qlik_answers_get_assistant Get assistant details Cloud
qlik_answers_ask_question Ask a question to an assistant Cloud

Example prompts:

  • "List all Qlik Answers assistants"
  • "Show me the details of the Sales Assistant"
  • "Ask the Sales Assistant: What were our top products last quarter?"

12. AutoML Tools (4) - Cloud Only

Machine learning experiments and deployments.

Tool Description Platforms
qlik_automl_get_experiments List all experiments Cloud
qlik_automl_get_experiment Get experiment details Cloud
qlik_automl_list_deployments List deployments Cloud
qlik_automl_get_deployment Get deployment details Cloud

Example prompts:

  • "List all AutoML experiments"
  • "Show me the deployments"
  • "Get details for experiment xyz"

Usage Examples

Basic Queries

You: "Check the health of my Qlik Cloud tenant"
Claude: [Uses qlik_health_check] Your tenant is healthy...

You: "List all spaces"
Claude: [Uses qlik_get_spaces_catalog] Found 57 spaces...

You: "Search for users named John"
Claude: [Uses qlik_search_users] Found 3 users matching 'John'...

Data Analysis

You: "Analyze the data model for my Sales Dashboard app"
Claude: [Uses qlik_analyze_data_model] The app has 5 tables,
       45 fields, with 1.2M rows in the main fact table...

You: "Select USA in the Country field, then show me the current selections"
Claude: [Uses qlik_apply_selections, qlik_get_current_selections]
       Selection applied. Current selections: Country = USA

Reload Management

You: "Show me all currently running reloads"
Claude: [Uses qlik_monitor_active_reloads] 2 reloads in progress...

You: "Reload the Finance Dashboard"
Claude: [Uses qlik_trigger_app_reload] Reload started. Task ID: xyz...

You: "Check the reload history for that app"
Claude: [Uses qlik_get_app_reload_history] Last 5 reloads shown...

AI/ML Features

You: "List all Qlik Answers assistants"
Claude: [Uses qlik_answers_list_assistants] Found 3 assistants...

You: "Ask the Sales Assistant: What were our top products last quarter?"
Claude: [Uses qlik_answers_ask_question] Based on the data,
       your top 5 products were...

You: "List AutoML experiments"
Claude: [Uses qlik_automl_get_experiments] Found 2 experiments...

Platform Support

Qlik Cloud

All 34 tools are available on Qlik Cloud.

Qlik Sense Enterprise (On-Premise)

17 tools work on-premise. Cloud-only features return informative messages:

{
  "success": false,
  "error": "This feature is only available on Qlik Cloud",
  "platform": "on-premise",
  "suggestion": "Alternative approach for on-premise..."
}

Cloud-Only Features (16 tools)

  • Qlik Answers (2 tools)
  • AutoML (4 tools)
  • Data Alerts (4 tools)
  • Automation (4 tools)
  • Lineage (1 tool)
  • Dataset Details (1 tool)

On-Premise Equivalents

Cloud Feature On-Premise Alternative
Spaces Streams (via QRS /qrs/stream)
Items API QRS App API (/qrs/app)
Cloud Reloads QRS Reload Tasks (/qrs/reloadtask)
Insight Advisor NL Query API (/api/v1/nl/query)
App Create/Script Engine API (Global.CreateApp, Doc.SetScript, Doc.DoReload)
Data Connections Engine API (Doc.CreateConnection, Doc.GetConnections)
ODBC Discovery Engine API (Global.GetOdbcDsns)

Testing

Quick Smoke Test

export QLIK_TENANT_URL=https://your-tenant.qlikcloud.com
export QLIK_API_KEY=your-api-key
node test-cloud-quick.cjs

Full Handler Test

node test-mcp-handlers.mjs

Environment Variables

Variable Required Description
QLIK_TENANT_URL Yes Qlik Cloud URL or Qlik Sense Enterprise server URL
QLIK_DEPLOYMENT No cloud (default) or on-premise

For Qlik Cloud:

Variable Required Description
QLIK_API_KEY Yes API key from Qlik Cloud hub

For Qlik Sense Enterprise (On-Premise):

Variable Required Description
QLIK_CERT_PATH Yes Folder containing client.pem, client_key.pem, root.pem
QLIK_USER_DIRECTORY Yes Windows domain (e.g., COMPANY)
QLIK_USER_ID Yes Username to act as (e.g., admin)
QLIK_VIRTUAL_PROXY No Virtual proxy prefix (if configured)

Troubleshooting

"Tool not found" Error

Ensure the MCP server is running and Claude Desktop was restarted after configuration.

Authentication Errors

Qlik Cloud:

  • Verify your API key is valid and not expired
  • Ensure the API key has appropriate permissions

Qlik Sense Enterprise (On-Premise):

  • Verify certificate paths are correct and files exist
  • Ensure certificates were exported with the private key
  • Check that the certificate hasn't expired
  • Verify the machine name in the certificate matches your setup

"Cloud-only feature" Message

Some tools are only available on Qlik Cloud. The error message will suggest alternatives.

Connection Timeout

Check network connectivity to your Qlik server. Ensure firewalls allow the connection.

Empty MCP Server / Tools Not Showing

If Claude Desktop shows empty MCP server with no tools:

  1. Check if dist/ folder exists:

    dir C:\qlik-claude-mcp-main\dist\
    

    If not, run npm run build first.

  2. Check MCP server logs:

    type "$env:APPDATA\Claude\logs\mcp-server-qlik-mcp-os.log"
    
  3. Fully restart Claude Desktop:

    • Close Claude Desktop
    • Open Task Manager (Ctrl+Shift+Esc)
    • Find "Claude" and click End Task
    • Reopen Claude Desktop
  4. Verify config file location:

    type "$env:APPDATA\Claude\claude_desktop_config.json"
    

Server Hangs or Slow Response

If the server hangs or responds slowly, use optimized config with memory settings:

{
  "mcpServers": {
    "qlik-mcp-os": {
      "command": "node",
      "args": [
        "--max-old-space-size=4096",
        "C:\\qlik-claude-mcp-main\\dist\\index.js"
      ],
      "env": {
        "QLIK_TENANT_URL": "https://your-tenant.qlikcloud.com",
        "QLIK_API_KEY": "your-api-key",
        "NODE_ENV": "production"
      }
    }
  }
}

"Cannot find module" Error

This means npm run build was not executed:

cd C:\qlik-claude-mcp-main
npm install
npm run build

Then restart Claude Desktop.


Architecture

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  Claude Desktop │────▶│   MCP Server    │────▶│   Qlik Cloud    │
│                 │     │                 │     │   (REST APIs)   │
│  Natural Lang   │◀────│  33 Tools       │◀────│                 │
│  Interface      │     │  12 Categories  │     ├─────────────────┤
└─────────────────┘     └─────────────────┘     │ Qlik Sense Ent. │
                                                │ (QRS + Engine)  │
                                                └─────────────────┘

Cloud: REST APIs (/api/v1/*) with API key authentication

On-Premise:

  • QRS API (port 4242) - Management operations
  • Engine API (port 4747) - App creation, scripts, data connections via WebSocket

Contributing

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

License

MIT License - See LICENSE file for details.


Support


Built with the Model Context Protocol (MCP) for seamless AI-analytics integration.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured