by bintocher
Integrate with Qlik Sense for automated BI workflows, data model queries, app management, and efficient data extraction
Connects to Qlik Sense Enterprise to query data models, manage applications and users, and automate business intelligence workflows through Repository and Engine APIs.
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.
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.
MIT
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.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
Qlik Sense is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Strong directory entry: Qlik Sense surfaces stars and publisher context so we could sanity-check maintenance before adopting.
We wired Qlik Sense into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Strong directory entry: Qlik Sense surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Qlik Sense is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Qlik Sense is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Qlik Sense has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Useful MCP listing: Qlik Sense is the kind of server we cite when onboarding engineers to host + tool permissions.
Qlik Sense reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
I recommend Qlik Sense for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
showing 1-10 of 28
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.
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.
| Tool | Description | API | Status |
|---|---|---|---|
get_apps | Get comprehensive list of applications with metadata | Repository | ✅ |
get_app_details | Get compact app overview (metadata, fields, master items, sheets/objects) | Repository | ✅ |
get_app_sheets | Get list of sheets from application with title and description | Engine | ✅ |
get_app_sheet_objects | Get list of objects from specific sheet with object ID, type and description | Engine | ✅ |
get_app_script | Extract load script from application | Engine | ✅ |
get_app_field | Return values of a field with pagination and wildcard search | Engine | ✅ |
get_app_variables | Return variables split by source with pagination and wildcard search | Engine | ✅ |
get_app_field_statistics | Get comprehensive field statistics | Engine | ✅ |
engine_create_hypercube | Create hypercube for data analysis | Engine | ✅ |
get_app_object | Get specific object layout by ID (GetObject + GetLayout) | Engine | ✅ |
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.
pip install qlik-sense-mcp-server
git clone https://github.com/bintocher/qlik-sense-mcp.git
cd qlik-sense-mcp
make dev
mkdir certs
# Copy your Qlik Sense certificates to certs/ directory
cp .env.example .env
# Edit .env with your settings
# 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
# 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
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"
]
}
}
}
The server requires the following environment variables for configuration:
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)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 disabledQLIK_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)QLIK_VERIFY_SSL - Verify SSL certificates (true/false, default: true)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)LOG_LEVEL - Logging level (DEBUG, INFO, WARNING, ERROR, default: INFO)# 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
# 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
})
# 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 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 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']}")
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/GUIDinclude_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 =
---
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.