
An MCP server to run qlik
概览
MCP Server for the Qlik Cloud API, enabling Claude to interact with Qlik applications and extract data from visualizations. List all Qlik applications available in the workspace - Optional inputs: - limit (number, default: 100): Maximum number of apps to return - offset (string): Pagination offset for next page - Returns: List of applications with their IDs and information Get all sheets in a Qlik application - Optional inputs: - app_id (string): The ID of the Qlik application (defaults to QLIK_APP_ID env variable) - Returns: List of sheets with their IDs, titles, and metadata Get all charts in a specific sheet - Required inputs: - sheet_id (string): The ID of the sheet to get charts from - Optional inputs: - app_id (string): The ID of the Qlik application (defaults to QLIK_APP_ID env variable) - Returns: List of charts with their IDs, types, and positions Get data from a specific chart - Required inputs: - sheet_id (string): The ID of the sheet containing the chart - chart_id...
README
以下为原文 README 节选,完整内容请查看原文。
Qlik MCP Server
MCP Server for the Qlik Cloud API, enabling Claude to interact with Qlik applications and extract data from visualizations.
Tools
qlik_get_apps
List all Qlik applications available in the workspace
- Optional inputs:
limit(number, default: 100): Maximum number of apps to returnoffset(string): Pagination offset for next page
- Returns: List of applications with their IDs and information
qlik_get_app_sheets
Get all sheets in a Qlik application
- Optional inputs:
app_id(string): The ID of the Qlik application (defaults to QLIK_APP_ID env variable)
- Returns: List of sheets with their IDs, titles, and metadata
qlik_get_sheet_charts
Get all charts in a specific sheet
- Required inputs:
sheet_id(string): The ID of the sheet to get charts from
- Optional inputs:
app_id(string): The ID of the Qlik application (defaults to QLIK_APP_ID env variable)
- Returns: List of charts with their IDs, types, and positions
qlik_get_chart_data
Get data from a specific chart
- Required inputs:
sheet_id(string): The ID of the sheet containing the chartchart_id(string): The ID of the chart to get data from
- Optional inputs:
app_id(string): The ID of the Qlik application (defaults to QLIK_APP_ID env variable)max_rows(number, default: 10000): Maximum total rows to retrievepage_size(number, default: 1000): Number of rows per requestinclude_metadata(boolean, default: true): Include chart metadata in response
- Returns: Chart data with headers, rows, and optional metadata
Setup
Create a Qlik Cloud API Key:
- Log in to your Qlik Cloud tenant
- Navigate to Settings > API keys
- Create a new API key with appropriate access
- Save the API key securely
Configure Environment:
Create a .env file with your Qlik Cloud credentials (see .env.example for a template):
QLIK_API_KEY=your_api_key_here
QLIK_BASE_URL=your_tenant_url
QLIK_APP_ID=your_default_app_id
MAX_ROWS_PER_REQUEST=1000
MAX_TOTAL_ROWS=10000
REQUEST_DELAY_MS=100
MAX_RETRIES=3
RETRY_DELAY_MS=1000
Usage with Docker
You can also run this MCP server using Docker:
# Build the Docker image
docker build -t qlik-mcp .
# Run the container
# Make sure to create a .env file first (copy from .env.example)
docker run --env-file .env qlik-mcp
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
Using Deno (Recommended)
{
"mcpServers": {
"qlik": {
"command": "/path/to/deno",
"args": ["run", "--allow-all", "--env-file=.env", "src/index.ts"],
"cwd": "/path/to/qlik-mcp"
}
}
}
Using Node.js
{
"mcpServers": {
"qlik": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"env": {
"QLIK_API_KEY": "your_api_key_here",
安装
npx tsx src/index.ts配置
{
"mcpServers": {
"qlik": {
"command": "/path/to/deno",
"args": ["run", "--allow-all", "--env-file=.env", "src/index.ts"],
"cwd": "/path/to/qlik-mcp"
}
}
}