list_connectionsLABSCO SUMMARY
Connection details arrive after sign-in, never in a config file.
Nothing about a database lives in your MCP config: you authenticate first, hand a DSN to add_connection, and the connection becomes a named resource the agent reuses across sessions. That same design is what makes the comparison tools work — cross_db_query runs one statement against two to four registered connections, so staging against production or one region against another is a single call. Read-only rests on SQL guards plus session read-only mode where the engine supports it, with a per-connection firewall for tables you want out of reach; treat both as complements to a least-privilege database user rather than a replacement for one.
What it is
A hosted MCP server at https://data.thinair.co/mcp that gives an agent read-only access to PostgreSQL, MySQL and SQL Server in the same session. The tools are arranged in four tiers, from schema discovery through query execution to anomaly detection, PII scanning and a per-connection query firewall. Databases are registered at runtime with add_connection rather than configured at install time.
What you get
- list_connections and describe_schema map what is there: schema, columns, indexes and foreign keys across any registered connection
- query_sql executes a parameterized read-only query, and every tool routes dialect-correct syntax per connection — SELECT TOP 10 on SQL Server, LIMIT elsewhere
- query_history returns recent queries with timing, row counts and status, and find_n_plus_one reads that history to identify N+1 patterns
- data_profile reports distributions, null rates and cardinality for a table; detect_anomalies looks for statistical outliers in row growth, latency and value distributions
- pii_scan checks a table for SSN, email, phone and credit-card patterns
- cross_db_query runs the same query across 2-4 connections, which is how a regional or cross-dialect comparison happens in a single call
- query_firewall holds per-connection rules that deny specific tables or queries, alongside configure_allowlist
- add_connection and remove_connection manage connections during a session, with explain_query, optimize_query, suggest_queries, generate_migration, generate_seed_data, watch_table, saved_queries and impact_analysis filling out the rest
Requirements
Point a client at https://data.thinair.co/mcp. Claude Desktop, Cursor and Windsurf complete OAuth at first use with no token to paste; clients without OAuth send Authorization: Bearer ta_live_… using a key from data.thinair.co/connect. Database credentials are separate from that: after sign-in you pass a DSN — postgresql://, mysql:// or sqlserver:// — to add_connection, and the connection becomes a tenant-scoped resource reusable across sessions. npx -y @thinairtelematics/data prints a config block for scripts. Read-only is enforced through SQL guards and database-session read-only mode where the engine supports it, and the publisher still recommends least-privilege credentials. MIT.
Setup effort
One command, then sign in — npx -y @thinairtelematics/data, then approve the OAuth sign-in
USE CASES
Getting oriented in a database you have never seen
List the registered connections, then read the schema with columns, indexes and foreign keys before writing a single query.
Answering a data question without write access
Run a parameterized read-only query against the right connection, with the dialect handled for you, and profile the table when the shape of the data is the actual question.
Comparing staging against production
Run the same statement across up to four connections in one call and read the differences side by side, even when the dialects differ.
Finding out where the slow pages come from
Read recent queries with their timings and row counts, then look for the repeated single-row lookups that mark an N+1 pattern.
Checking a table before you let an agent near it
Scan for SSN, email, phone and credit-card patterns, then write a per-connection rule that denies the tables you would rather it never read.
Noticing that something changed overnight
Statistical outliers in row growth, query latency and value distributions, surfaced without you having to know which table to suspect.
21 tools
Listed in project docs. Your client may show a different list.
describe_schemaquery_sqlquery_historydata_profilecross_db_querydetect_anomaliespii_scanfind_n_plus_onequery_firewalladd_connectionremove_connectionoptimize_queryexplain_querysuggest_queriesgenerate_migrationgenerate_seed_datawatch_tablesaved_queriesimpact_analysisconfigure_allowlistBEFORE YOU INSTALL
What to know first
Tools you get
21 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
Where it runs
All 3 documented clients connect to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
npx
npx -y @thinairtelematics/dataHosted endpoint
https://data.thinair.co/mcpAdd this hosted endpoint to your MCP client, then sign in.
MCP Clients
Cursor
{
"mcpServers": {
"thinair-data": {
"url": "https://data.thinair.co/mcp"
}
}
}Windsurf
{
"mcpServers": {
"thinair-data": {
"serverUrl": "https://data.thinair.co/mcp"
}
}
}Any MCP client — API key
{
"mcpServers": {
"thinair-data": {
"url": "https://data.thinair.co/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}