DataProbe MCP

DataProbe MCP

A minimal MCP server for DataProbe data question answering and read-only SQL queries, supporting stdio and streamable HTTP modes.

Category
Visit Server

README

DataProbe MCP

A minimal MCP server for DataProbe data question answering and read-only SQL queries.

It supports:

  • stdio mode for local MCP clients.
  • Streamable HTTP mode for a long-running remote MCP service.

Tools

  • dataprobe_health: check DataProbe service health.
  • dataprobe_list_datasets: list available datasets.
  • dataprobe_ask: ask a natural-language data question and poll for the final result.
  • dataprobe_get_ask_result: get an ask result by query id.
  • dataprobe_query_sql: execute a read SQL query through DataProbe.

Runtime

  • Node.js 18 or newer.
  • No npm dependencies are required.

Environment Variables

Required auth, choose one:

  • DATAPROBE_ACCESS_TOKEN
  • DATAPROBE_USERNAME and DATAPROBE_PASSWORD

Optional:

  • DATAPROBE_BASE_URL, default: http://10.0.12.186:8080
  • DATAPROBE_DATASET_ID, default dataset id used by query tools
  • DATAPROBE_REFRESH_TOKEN
  • DATAPROBE_TIMEOUT_MS, default: 120000
  • DATAPROBE_MCP_DEBUG_LOG, default: ./dataprobe-mcp-debug.log
  • DATAPROBE_MCP_TRANSPORT, set to http for remote service mode
  • DATAPROBE_MCP_HOST, default: 0.0.0.0
  • DATAPROBE_MCP_PORT, default: 3000
  • DATAPROBE_MCP_PATH, default: /mcp

Compatible Ontology variable names are also supported:

  • ONTOLOGY_API_URL
  • ONTOLOGY_DATASET_ID
  • ONTOLOGY_PAT
  • ONTOLOGY_API_KEY

Remote Server Deployment

Clone the repository on the server:

sudo mkdir -p /opt
sudo chown -R "$USER:$USER" /opt
cd /opt
git clone https://github.com/lck-001/dataprobe-mcp.git
cd /opt/dataprobe-mcp

Install Node.js if needed:

node -v

For Ubuntu/Debian:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Create the server environment file:

cat > /opt/dataprobe-mcp/.env <<'EOF'
export DATAPROBE_BASE_URL="http://10.0.12.186:8080"
export DATAPROBE_DATASET_ID="_ontology_a3f60d33_f34f_572b_9377_26aec3ac6eb1"
export DATAPROBE_USERNAME="admin"
export DATAPROBE_PASSWORD="change-me"
export DATAPROBE_TIMEOUT_MS="120000"
export DATAPROBE_MCP_TRANSPORT="http"
export DATAPROBE_MCP_HOST="0.0.0.0"
export DATAPROBE_MCP_PORT="3000"
export DATAPROBE_MCP_PATH="/mcp"
EOF

chmod 600 /opt/dataprobe-mcp/.env

Create a systemd service so the MCP server stays online:

sudo tee /etc/systemd/system/dataprobe-mcp.service >/dev/null <<'EOF'
[Unit]
Description=DataProbe MCP Streamable HTTP Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/opt/dataprobe-mcp
EnvironmentFile=/opt/dataprobe-mcp/.env
ExecStart=/usr/bin/node /opt/dataprobe-mcp/server.mjs
Restart=always
RestartSec=3
User=root

[Install]
WantedBy=multi-user.target
EOF

Start it:

sudo systemctl daemon-reload
sudo systemctl enable --now dataprobe-mcp
sudo systemctl status dataprobe-mcp

Test on the server:

curl http://127.0.0.1:3000/health

Test the MCP endpoint:

curl -s http://127.0.0.1:3000/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

If users connect from other machines, open the port or put it behind Nginx:

sudo ufw allow 3000/tcp

Codex Client Configuration

Each user can add this to their Codex config file.

Windows:

C:\Users\<username>\.codex\config.toml

macOS/Linux:

~/.codex/config.toml

Config:

[mcp_servers.dataprobe]
url = "http://SERVER_IP:3000/mcp"
startup_timeout_sec = 20.0
tool_timeout_sec = 120.0

[mcp_servers.dataprobe.tools.dataprobe_health]
approval_mode = "approve"

[mcp_servers.dataprobe.tools.dataprobe_list_datasets]
approval_mode = "approve"

[mcp_servers.dataprobe.tools.dataprobe_query_sql]
approval_mode = "approve"

Restart Codex after updating the config.

For production, prefer HTTPS and a private network, VPN, or reverse proxy allowlist.

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