VISTA Data MCP Server
Allows running read-only SQL queries (SELECT, SHOW, DESCRIBE, EXPLAIN) against ClickHouse databases for telemetry data.
Allows searching and retrieving documents from Elasticsearch indices for download analytics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VISTA Data MCP Serverlist all databases in ClickHouse"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VISTA Data MCP Server
Read-only MCP server for querying ClickHouse (product telemetry) and Elasticsearch (download analytics). Built for Percona VISTA.
Install
curl -fsSL https://raw.githubusercontent.com/Percona-Lab/vista-data-mcp/main/install-vista-data-mcp | bashThe installer will:
Install
uvif neededAsk you to choose Remote (default) or Local mode
Configure Claude Desktop and Claude Code automatically
Install the VISTA plugin
Remote mode — connects to the shared Percona server over VPN. No credentials, no clone, no local install. Most users choose this.
Local mode — for users with their own ClickHouse or Elasticsearch credentials who want to run off-VPN (development, custom data sources).
Re-run the same command to update or change mode.
Related MCP server: db-connect-mcp
Tools
ClickHouse (telemetry)
Tool | Description |
| Run any read-only SQL (SELECT, SHOW, DESCRIBE, EXPLAIN) |
| Show all accessible databases |
| Show tables in a database |
| Show column names, types, and comments |
| Get sample rows from a table |
Elasticsearch (downloads)
Tool | Description |
| Run an Elasticsearch query (JSON DSL) |
| Show all indices with doc counts and sizes |
| Show field mapping (schema) for an index |
| Get sample documents from an index |
All results are returned as Markdown tables. Only read-only queries are allowed.
Manual Install (alternative)
If you prefer not to use the installer:
Claude Code (CLI)
claude mcp add vista-data \
-e CLICKHOUSE_HOST=your-ch-host \
-e CLICKHOUSE_PORT=8443 \
-e CLICKHOUSE_USER=default \
-e CLICKHOUSE_PASSWORD=your-ch-password \
-e CLICKHOUSE_DATABASE=default \
-e CLICKHOUSE_SECURE=true \
-e ES_HOST=your-es-host \
-e ES_PORT=9200 \
-e ES_USER=your-es-user \
-e ES_PASSWORD=your-es-password \
-e ES_SECURE=true \
-- uvx --from git+https://github.com/Percona-Lab/vista-data-mcp vista-data-mcpDevelopment
git clone https://github.com/Percona-Lab/vista-data-mcp.git
cd vista-data-mcp
cp .env.example .env
# Edit .env with your credentials
uv run mcp_server.pySafety
Read-only: ClickHouse allows only
SELECT,SHOW,DESCRIBE,EXPLAIN. Elasticsearch uses search API only (no indexing).Mutation blocking:
INSERT,UPDATE,DELETE,DROP,ALTER,CREATE,TRUNCATEare rejectedRow/hit limits: Results capped at 500 (configurable via
CLICKHOUSE_MAX_ROWS/ES_MAX_HITS)Query timeout: 30 seconds default (configurable via
CLICKHOUSE_QUERY_TIMEOUT/ES_QUERY_TIMEOUT)Identifier sanitization: Database and table names validated against injection
Environment Variables
ClickHouse
Variable | Required | Default | Description |
| Yes* | — | ClickHouse server hostname |
| No |
| HTTP(S) port |
| No |
| Username |
| No |
| Password |
| No |
| Default database |
| No |
| Use HTTPS |
| No |
| Timeout in seconds |
| No |
| Max rows per query |
Elasticsearch
Variable | Required | Default | Description |
| Yes* | — | Elasticsearch hostname |
| No |
| Port |
| No |
| Username (for basic auth) |
| No |
| Password |
| No |
| Use HTTPS |
| No |
| Verify SSL certificates |
| No |
| Timeout in seconds |
| No |
| Max hits per search |
*Only required if you want to use that data source. Tools for unconfigured sources return a helpful message.
Part of the Alpine Toolkit
License
Apache 2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Percona-Lab/vista-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server