Skip to main content
Glama
undsoul

Qlik MCP Server

by undsoul

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
QLIK_API_KEYNoAPI key from Qlik Cloud hub (required for Qlik Cloud)
QLIK_USER_IDNoUsername to act as (e.g., 'admin') for Qlik Sense Enterprise On-Premise
QLIK_CERT_PATHNoFolder containing client.pem, client_key.pem, root.pem (required for Qlik Sense Enterprise On-Premise)
QLIK_DEPLOYMENTNoDeployment type: 'cloud' (default) or 'on-premise'cloud
QLIK_TENANT_URLNoQlik Cloud URL or Qlik Sense Enterprise server URL
QLIK_VIRTUAL_PROXYNoVirtual proxy prefix (if configured) for Qlik Sense Enterprise On-Premise
QLIK_USER_DIRECTORYNoWindows domain (e.g., 'COMPANY') for Qlik Sense Enterprise On-Premise

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
qlik_searchA

Unified search for Qlik resources across Cloud and On-Premise deployments.

Replaces: qlik_search_apps, qlik_get_space_items

Supported resource types:

  • app: Qlik Sense applications

  • dataset: Data files and datasets (Cloud only)

  • dataconnection: Data connections (Cloud only)

  • automation: Automations (Cloud only)

  • all: Search all types

Platform differences:

  • Cloud: Uses Spaces, supports all resource types

  • On-Premise: Uses Streams, apps only

Search examples:

  • Find apps by name: { "query": "Sales Report" }

  • Find in specific space: { "spaceName": "Finance" }

  • Find by owner: { "ownerName": "john" }

  • Apps with reload info: { "types": ["app"], "includeReloadInfo": true }

  • Recent items: { "sortBy": "modified", "sortOrder": "desc" }

  • Group by space: { "groupBy": "space" }

  • Items created this year: { "createdAfter": "2024-01-01" }

  • Items modified last month: { "modifiedAfter": "2024-11-01" }

  • Old items: { "modifiedBefore": "2023-01-01" }

Response ID fields:

  • id/resourceId: Use this for other tools (qlik_get_dataset_details, qlik_trigger_app_reload, etc.)

  • itemId: Only for items API operations (rarely needed)

  • resourceType: Original resource type from API

Parameters:

  • query: Text search (name, description, tags)

  • types: Resource types to search ['app', 'dataset', 'automation', 'dataconnection', 'all']

  • spaceId/spaceName: Filter by space (Cloud) or stream (On-Premise)

  • ownerId/ownerName: Filter by owner

  • tags: Filter by tags

  • includeReloadInfo: Include reload status for apps

  • groupBy: Group results by 'space' or 'type'

  • limit/offset: Pagination

  • sortBy/sortOrder: Sorting

qlik_trigger_app_reloadA

Triggers a reload for a Qlik Cloud app. Can optionally wait for completion and poll for status.

Usage scenarios:

  • Trigger immediate reload after data source update

  • Schedule reload with monitoring

  • Partial reload to refresh specific data

  • Test reload with skip-store option

Parameters:

  • appId (required): The Qlik app ID to reload

  • partial (optional): If true, performs partial reload (default: false)

  • skipStore (optional): If true, skip saving to disk (default: false)

  • waitForCompletion (optional): If true, waits for reload to complete (default: false)

  • timeoutSeconds (optional): Timeout for waiting in seconds (default: 300)

  • pollIntervalSeconds (optional): How often to check status in seconds (default: 5)

qlik_get_reload_statusA

Gets the current status of a reload task in Qlik Cloud.

Returns information about:

  • Current reload state (queued, running, succeeded, failed)

  • Progress percentage

  • Start and end times

  • Error messages if failed

  • Duration and performance metrics

Use this to monitor ongoing reloads or check historical reload results.

qlik_cancel_reloadA

Cancels a running reload task in Qlik Cloud.

Use cases:

  • Stop long-running reload that's hung

  • Cancel reload after detecting errors

  • Free up resources

  • Emergency stop during maintenance

Note: Only running or queued reloads can be cancelled. Completed or already failed reloads cannot be cancelled.

qlik_get_spaces_catalogA

Get comprehensive catalog of spaces in Qlik Cloud tenant.

Provides detailed information about:

  • Space metadata (type, name, description)

  • Members and permissions

  • Item counts (apps, automations, data connections)

  • Owner information

  • Creation and modification dates

Filter by:

  • Space type (personal, shared, managed, data)

  • Owner ID

  • Member user ID

  • Spaces with data assets

  • Minimum item count

Use cases:

  • Audit all spaces in tenant

  • Find unused spaces

  • Analyze space membership

  • Track space utilization

qlik_get_tenant_infoB

Get Qlik Cloud tenant information

qlik_get_user_infoC

Get detailed user information

qlik_search_usersC

Search for users by name or email

qlik_health_checkB

Check server status and service health including governance capabilities

qlik_get_license_infoB

Get license information including type, allocated seats, and usage. Works on both Cloud and On-Premise (QRS license endpoint).

qlik_apply_selectionsC

Apply selections/filters to a Qlik app

qlik_clear_selectionsB

Clear all selections in an app

qlik_get_current_selectionsC

Get current selections in an app

qlik_get_available_fieldsC

Get all fields in an app

qlik_generate_appA

Create or update a Qlik Sense app with load script and data connections.

Cloud workflow:

  1. qlik_get_dataset_details → get connection info

  2. qlik_generate_app with script

On-Premise workflow (Engine API):

  1. Create app via Global.CreateApp

  2. Optionally create data connection via Doc.CreateConnection

  3. Set script via Doc.SetScript

  4. Reload via Doc.DoReload

  5. Save via Doc.DoSave

On-Premise Data Connections:

  • Folder: { "connectionName": "MyData", "connectionType": "folder", "connectionString": "C:\Data\" }

  • ODBC: { "connectionName": "SQLServer", "connectionType": "ODBC", "connectionString": "DSN=MyDSN" }

On-Premise Discovery (no appName/appId needed):

  • listOdbcDsns: true → List available ODBC data sources on server

  • listConnections: true + appId → List connections in existing app

Cloud Load Script - File from Space: IMPORTANT: Use format [lib://:DataFiles/]

  • Example: FROM [lib://BI TEAM WORKSPACE:DataFiles/sales.csv] (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

  • Example: FROM [lib://Finance Team:DataFiles/report.qvd] (qvd);

  • WRONG format: FROM [lib://DataFiles (spaceId)/file.csv] ← Do NOT use this!

On-Premise Load Script Examples:

  • Folder: LOAD * FROM [lib://MyData/sales.csv] (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

  • ODBC: LIB CONNECT TO 'MyODBC'; SQL SELECT * FROM Sales;

Returns: appId, appName, appLink, reloadStatus, connections, odbcDsns

qlik_insight_advisorA

Ask natural language questions about Qlik data using Insight Advisor.

Flow (no Claude API key needed):

Option A - With appId (recommended, works on all tenants):

  1. Call with "text" + "appId" → Returns app model (fields, measures, dimensions)

  2. Call with "refinedQuestion" + "appId" using exact field names → Returns data

Option B - Auto app detection (requires Qlik Answers enabled):

  1. Call with just "text" → Tries to identify app automatically

  2. If 405 error, use Option A instead

Example: Step 1: { "text": "show sales", "appId": "abc123" } → Returns model with fields like "Revenue", "Sales Region"

Step 2: { "appId": "abc123", "refinedQuestion": "show Revenue by Sales Region" } → Returns actual data and visualizations

If you get 405 error: Use qlik_search_apps first to find the app ID.

qlik_get_reload_infoC

Get app reload history and status

qlik_get_lineageA

Get lineage information for a dataset or resource. REQUIRES QRI from dataset.rawDataset.secureQri

IMPORTANT: The nodeId must be a QRI (Qlik Resource Identifier), not a regular ID.

  • Get QRI from: dataset.rawDataset.secureQri

  • Format: qri:qdf:space://[spaceId]#[itemId]

  • If you only have a dataset ID, first call get_dataset_details to get the QRI

qlik_get_dataset_detailsC

Get detailed information about a dataset from the data catalog.

qlik_answers_list_assistantsB

List Qlik Answers AI assistants

qlik_answers_get_assistantC

Get details of a specific assistant

qlik_answers_ask_questionA

Ask a question to a Qlik Answers AI assistant.

What is Qlik Answers?

  • Native Qlik Cloud Q&A assistant feature

  • Requires pre-configured assistant with knowledge base

  • Manages conversation threads

  • Uses Qlik's built-in AI

When to use this tool:

  • User has a Qlik Answers assistant configured

  • User wants to chat with their Qlik Answers assistant

  • User wants to continue an existing conversation thread

Workflow:

  1. First use qlik_answers_list_assistants to find the assistant ID

  2. Then use this tool with the assistantId and your question

  3. Optionally provide threadId to continue an existing conversation

Parameters:

  • assistantId (required): ID of the Qlik Answers assistant

  • question (required): The question to ask

  • threadId (optional): Continue existing conversation

  • createNewThread (default: true): Create new thread if none provided

  • threadName (optional): Name for new conversation thread

qlik_alert_listA

List all Qlik Cloud data alerts with optional filtering.

Cloud-only feature - Not available for on-premise deployments.

Supports filtering and pagination:

  • spaceId: Filter by space ID

  • enabled: Filter by enabled/disabled status

  • limit: Maximum number of alerts to return (default: 50)

  • offset: Pagination offset (default: 0)

Returns:

  • Array of alert objects with configuration and status

Example: { "enabled": true, "limit": 20, "spaceId": "space-id-here" }

qlik_alert_getA

Get detailed information about a specific Qlik Cloud data alert.

Cloud-only feature - Not available for on-premise deployments.

Parameters:

  • alertId: Alert ID to retrieve (required)

Returns:

  • Full alert details including condition, recipients, schedule, and execution history

Example: { "alertId": "alert-id-here" }

qlik_alert_triggerA

Manually trigger a Qlik Cloud data alert.

Cloud-only feature - Not available for on-premise deployments.

Forces immediate execution of the alert to check conditions and send notifications if triggered.

Parameters:

  • alertId: Alert ID to trigger (required)

Returns:

  • Execution ID and status

Example: { "alertId": "alert-id-here" }

qlik_alert_deleteA

Delete a Qlik Cloud data alert.

Cloud-only feature - Not available for on-premise deployments.

Parameters:

  • alertId: Alert ID to delete (required)

Example: { "alertId": "alert-id-here" }

qlik_automl_get_experimentsC

List AutoML experiments

qlik_automl_get_experimentC

Get experiment details

qlik_automl_list_deploymentsC

List all ML deployments

qlik_automl_get_deploymentC

Get deployment details

qlik_automation_listA

List all automations that the user has access to.

Supports filtering, sorting, and pagination:

  • filter: Filter expression (e.g., "enabled eq true")

  • sort: Sort by field (e.g., "-createdDate" for descending)

  • limit: Maximum number of results to return

Returns:

  • Array of automation objects with id, name, description, enabled status, etc.

qlik_automation_get_detailsA

Get full details of a specific automation including its workflow definition.

Parameters:

  • automationId: The unique identifier of the automation

Returns:

  • Full automation object with workflow definition, connections, and configuration

qlik_automation_runB

Execute an automation (queue a new run).

Parameters:

  • automationId: The automation to execute

Returns:

  • Run details including runId and status

Note: The automation must be enabled before it can be run.

qlik_automation_list_runsA

List all runs (executions) for a specific automation.

Supports filtering and sorting:

  • filter: Filter expression (e.g., "status eq 'failed'")

  • sort: Sort by field (e.g., "-startTime")

  • limit: Maximum number of results

Returns:

  • Array of run objects with id, status, startTime, endTime, etc.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/undsoul/qlik-claude-mcp'

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