DataProbe MCP
A minimal MCP server for DataProbe data question answering and read-only SQL queries, supporting stdio and streamable HTTP modes.
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_TOKENDATAPROBE_USERNAMEandDATAPROBE_PASSWORD
Optional:
DATAPROBE_BASE_URL, default:http://10.0.12.186:8080DATAPROBE_DATASET_ID, default dataset id used by query toolsDATAPROBE_REFRESH_TOKENDATAPROBE_TIMEOUT_MS, default:120000DATAPROBE_MCP_DEBUG_LOG, default:./dataprobe-mcp-debug.logDATAPROBE_MCP_TRANSPORT, set tohttpfor remote service modeDATAPROBE_MCP_HOST, default:0.0.0.0DATAPROBE_MCP_PORT, default:3000DATAPROBE_MCP_PATH, default:/mcp
Compatible Ontology variable names are also supported:
ONTOLOGY_API_URLONTOLOGY_DATASET_IDONTOLOGY_PATONTOLOGY_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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.