ThinAirTelematics/thinair-data
๐ โ๏ธ - Connect any AI to PostgreSQL, MySQL, or SQL Server โ 24 dialect-aware tools for query, schema introspection, optimization, migrations, PII scan, and more. Hosted MCP server with OAuth 2.0 + Bearer auth, free trial available.
Quick Install
{
"mcpServers": {
"thinairtelematics-thinair-data": {
"command": "npx",
"args": [
"-y",
"thinairtelematics-thinair-data"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
ThinAir Data MCP Server
The only MCP database server for PostgreSQL, MySQL, and SQL Server in one session โ 26 tools across 4 tiers โ schema introspection, cross-database compare, query firewall, PII scanning, N+1 detection, and runtime connection management. Read-only data access by design.
26 tools ยท PostgreSQL ยท MySQL ยท SQL Server ยท Read-only data access, schema discovery, profiling, SQL safety, anomaly detection
> describe_schema("fleet")
โ 42 tables discovered ยท 6 high-value entities
โ no write permissions enabled
> ask("Which vehicles had the most idle time last week?")
โ generated safe read-only SQL ยท returned 10 rows ยท flagged 3 exceptions
Part of ThinAir
ThinAir Data is part of the ThinAir platform for fleet visibility, analytics, operational search, reporting, and AI-assisted decision support.
Hosted product vs this repository
data.thinair.cois the hosted ThinAir product.- This repository is the thin public MCP package/pointer for developers and AI-agent clients.
- Production use may require a ThinAir account, API key, OAuth connection, or hosted workspace.
What It Does
ThinAir Data is a Model Context Protocol (MCP) server that gives AI agents secure, read-only access to your databases โ no custom backend required. Designed for read-only production access when configured correctly. ThinAir Data enforces read-only behavior through SQL guards, database-session read-only mode where supported, and optional per-connection firewall rules. You should still use least-privilege database credentials and avoid exposing sensitive tables unless required.
- Multi-database โ PostgreSQL, MySQL, SQL Server in a single session. Cross-database compare with one tool call.
- Read-only by design โ SQL guards, database-session read-only mode where supported, and optional per-connection firewall rules.
- Dialect-aware โ every tool understands
SELECT TOP 10(mssql) vsLIMIT(others) and routes syntax correctly per connection. - Tiered capability โ 26 tools across 4 tiers: schema introspection, query execution + history, EXPLAIN/optimization, anomaly detection, PII scanning, N+1 detection, query firewall, cross-DB compare, and runtime connection management (add/remove).
- Connections are managed at runtime โ added per-tenant via the
add_connectiontool after sign-in. Never an env var or install-time config.
Product Links
- Product: https://data.thinair.co
- Connect a database: https://data.thinair.co/connect
- Docs: https://data.thinair.co/docs/getting-started
- Pricing: https://data.thinair.co/checkout
- ThinAir: https://thinair.co
Tools (selected โ full list of 26 in docs)
| Tool | Tier | Description |
|---|---|---|
list_connections | discover | List connected databases with names + dialects |
describe_schema | discover | Get schema, columns, indexes, FKs across any connection |
query_sql | discover | Execute a parameterized read-only SQL query |
query_history | build | Recent queries with timing, row counts, status |
data_profile | build | Distributions, null rates, cardinality on a table |
cross_db_query | architect | Run the same query across 2โ4 connections (regional/dialect compare) |
detect_anomalies | architect | Statistical outliers in row growth, latency, value distributions |
pii_scan | architect | Scan a table for PII patterns (SSN, email, phone, credit card) |
find_n_plus_one | architect | Identify N+1 query patterns in query_history |
query_firewall | architect | Per-connection custom-block rules (deny specific tables/queries) |
add_connection, remove_connection, optimize_query, explain_query, suggest_queries, generate_migration, generate_seed_data, watch_table, saved_queries, impact_analysis, configure_allowlist, and others round out the 26-tool surface.
Quick Start
Claude Desktop, Cursor, Windsurf โ OAuth (recommended, keyless)
Add to your client's MCP config (e.g. ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"thinair-data": {
"url": "https://data.thinair.co/mcp"
}
}
}
The OAuth flow completes at first use โ no manual token setup required. After sign-in, your agent calls add_connection to register a database with its DSN โ connections are tenant-scoped and reusable across sessions.
API key (for non-OAuth clients)
{
"mcpServers": {
"thinair-data": {
"url": "https://data.thinair.co/mcp",
"headers": {
"Authorization": "Bearer ta_live_..."
}
}
}
}
Get a key at https://data.thinair.co/connect.
npx (CLI / scripts)
npx -y @thinairtelematics/data
Prints a config block to stdout. OAuth-keyless by default.
Supported Databases
Database connections are added at runtime via the add_connection MCP tool โ pass the DSN once, the connection becomes a named resource the agent can reuse across sessions. Three dialects supported:
| Database | Connection string format |
|---|---|
| PostgreSQL | postgresql://user:pass@host:5432/db |
| MySQL | mysql://user:pass@host:3306/db |
| SQL Server | sqlserver://user:pass@host:1433/db |
You do not put a DSN in your client's config. The add_connection tool is how connections enter the session.
Example Usage
Once connected, ask your AI:
- "Show me all rows that havenโt updated in the last 24 hours across staging and prod"
- "What are the top 10 slowest queries this week?"
- "Scan the customers table for PII patterns"
- "Which tables have the most N+1 query exposure?"
Not for secrets
Do not commit DSNs, passwords, tokens, private keys, or production credentials. Use OAuth, the hosted connection flow, or your MCP client's secret storage.
npm Package
npmjs.com/package/@thinairtelematics/data
Previously published as
thinair-data(now deprecated in favor of the scoped package).
License
MIT ยฉ ThinAir Telematics