ThinAirTelematics/thinair-data

ThinAirTelematics/thinair-data

от thinairtelematics
ThinAir Data — безопасный read-only MCP-сервер для AI-агентов к PostgreSQL, MySQL и SQL Server. Включает 23 инструмента от схемы до PII-сканирования и кросс-базового сравнения, без риска записи. Ид...

ThinAir Data MCP Server

The only MCP database server for PostgreSQL, MySQL, and SQL Server in one session — 23 dialect-aware tools across 4 tiers, from schema introspection to cross-database compare, query firewall, PII scanning, and N+1 detection. Read-only by design.

23 read-only tools · PostgreSQL · MySQL · SQL Server · Schema discovery, profiling, SQL safety, anomaly detection

npm version License: MIT smithery badge

> 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.co is 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.
Инструменты были проиндексированы:
add_connection

Get a secure one-time link to register a new database connection with ThinAir Data (postgres, mysql, or mssql). This tool does NOT take a connection string as input — you'll open the returned link and paste the connection string into a secure web form; it is never sent through chat. The response includes connection_string_format and auth_note for the chosen dialect — surface both to the user verbatim. IMPORTANT for mssql: Azure SQL uses Microsoft Entra, so the connection string is HOST/DATABASE only (no credentials) and the tenant/client/secret go in the form's separate fields — never construct or suggest an mssql://CLIENT_ID:CLIENT_SECRET@host string (client secrets break URL parsing).

Параметры
  • dialectenumобязательный

    Database engine for the new connection.

  • namestringобязательный

    A short name for this connection, e.g. 'prod-postgres' or 'analytics-mysql'.

analyze_tableтолько чтениеидемпотентныйвнешний мир

QUICK statistical snapshot for ONE table — row count, null rates, cardinality, numeric min/max/avg, date ranges. Optionally drill into a specific column. Use this for a fast at-a-glance read. Use data_profile instead when the user wants a FULL quality report including PII detection and a health score.

Параметры
  • columnstring

    Specific column to deep-analyze

  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • tablestringобязательный

    Table name to analyze

configure_allowlist

Manage HARD SQL guardrails for an enterprise connection: a TABLE ALLOWLIST (queries may reference only the listed tables — enforced at the AST level across subqueries/CTEs/JOINs) and a PII MASKING policy (mask flagged columns in query results). Both opt-out by default. action=view shows current policy + schema reference; set_tables replaces the allowlist (use [] to lock down everything); remove_allowlist disables it; set_pii_policy toggles masking + chooses which PII kinds to mask. Masking is a heuristic policy aid (not a compliance guarantee) and one-way per execution. [ENTERPRISE tier]

Параметры
  • actionenumобязательный

    What to do

  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect. If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • mask_patternsenum[]

    For set_pii_policy: which PII kinds to mask (defaults to all when enabling without a list).

  • pii_enabledboolean

    For set_pii_policy: enable or disable result masking.

  • tablesstring[]

    For set_tables: the allowlist. Bare ('users') or one-level schema-qualified ('public.users'). Empty array = lock down (no tables allowed).

cross_db_queryтолько чтениеидемпотентныйвнешний мир

⚠️ SQL MUST BE VALID IN EVERY DIALECT YOU TARGET — stick to ANSI-ish SELECT syntax when mixing pg/mysql/mssql. SELECT TOP 10 (mssql) or LIMIT (others) will fail on the wrong side. Run the same query across 2-4 connections in parallel; returns per-connection rows + errors for diffing. Canonical use cases: regional compare (['mssql-reporting-us', 'mssql-reporting-eu']), cross-dialect sync check (['prod-postgres-fleet', 'prod-mysql-app']), 3-env drift, 4-region compare. Resolve every connection name via list_connections first; tool fails per-connection on unknown names. ARCHITECT-tier cap: 4 connections; https://www.thinair.co/ for unlimited. [ARCHITECT tier]

Параметры
  • connectionsstring[]обязательный

    Array of 2-4 connection NAMES (not IDs) from list_connections output. Examples: ['mssql-reporting-us', 'mssql-reporting-eu'] for regional compare, ['prod-postgres-fleet', 'prod-mysql-app'] for cross-dialect sync check.

  • sqlstringобязательный

    SQL query to run on each connection. Must be valid in every dialect targeted — prefer ANSI SELECT syntax when mixing dialects.

data_profileтолько чтениеидемпотентныйвнешний мир

FULL data quality + compliance report for a table: per-column stats PLUS a 0-100 health score, type-gated PII detection (email / phone / SSN / etc.), and insight warnings. Slower than analyze_table but returns everything needed to audit a table for ownership / compliance / onboarding. Use this when the user says 'profile' or 'quality report' or mentions PII/compliance. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • tablestringобязательный

    Table to profile

describe_schemaтолько чтениеидемпотентныйвнешний мир

Discover the full database schema: tables, columns, types, primary keys, foreign keys, and indexes. Results cached 1 hour. Call with refresh=true after schema changes.

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • refreshboolean

    Force live introspection, bypassing cache

detect_anomaliesтолько чтениеидемпотентныйвнешний мир

Scan a table for unusual patterns: volume drops/spikes, data gaps, value concentration, high null rates, stale data. Severity-ranked alerts. Tables > 100k rows use a sampled path (~5%) — when a finding has sampled:true, surface it to the user with a hedge like 'based on a ~5% sample' rather than presenting the number as exact. Dialect-aware: TABLESAMPLE SYSTEM on postgres, TABLESAMPLE PERCENT on mssql, WHERE RAND() on mysql.

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • date_columnstring

    Date column for trend analysis (auto-detected if omitted)

  • tablestringобязательный

    Table to scan for anomalies

explain_queryтолько чтениеидемпотентныйвнешний мир

Analyze a SQL query's execution plan and return plain-English performance recommendations. What runs, per dialect: postgres — EXPLAIN (FORMAT JSON), an ESTIMATED plan; the query is NOT executed and there are no measured timings (ANALYZE would execute it). mysql 8.0.18+ — EXPLAIN ANALYZE, which DOES execute the query to obtain real timings. mysql <8.0.18 — EXPLAIN FORMAT=JSON (estimated). mssql — SET SHOWPLAN_XML ON (estimated, not executed). Costs and row counts on an estimated plan are the planner's guesses: report them as estimates, not as observed behaviour. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • sqlstringобязательный

    The SELECT query to analyze

find_n_plus_oneтолько чтениеидемпотентный

Detect N+1 query patterns from recent query history. Fingerprints queries and flags repeated patterns. [ARCHITECT tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • min_executionsnumber

    Minimum executions to flag (default 5)

generate_migrationтолько чтениеидемпотентныйвнешний мир

Generate dialect-correct ALTER TABLE migration SQL + rollback from a plain-English intent. Output uses the connection's exact dialect (ALTER TABLE for all three, plus pg-specific USING casts / mssql-specific sp_rename / mysql-specific MODIFY COLUMN). Never executes. Check response dialect field before manually editing — don't hand-translate across dialects. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • intentstringобязательный

    Plain English: 'add soft delete to drivers', 'add index on trips.driver_id'

generate_seed_dataтолько чтениеидемпотентныйвнешний мир

Generate realistic, schema-aware INSERT statements for development and testing. Respects types, constraints, and FK relationships. Never executes. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • formatenum

    Output format (default sql)

  • row_countnumber

    Number of rows (default 100, max 1000)

  • tablestringобязательный

    Table to generate seed data for

impact_analysisтолько чтениеидемпотентныйвнешний мир

Analyze the blast radius of a proposed schema change: FK dependencies, affected views, row count, risk score. [ARCHITECT tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • intentstringобязательный

    Describe the change: 'rename vehicle_id to vehicle_uuid on trips', 'drop column X'

issue_api_key

Issue a fresh ta_data_* API key for ThinAir DATA (databases/SQL) for your current tenant, and rotate: any previous key keeps working for one hour, then stops — the response reports how many and exactly when (previous_keys_retiring, previous_keys_retire_at). Use it to rotate, or when an integration needs a key and can't reach the console. The new key is tied to your existing plan tier. Rate-limited to 5 issuances per tenant per day. NOTE: this key works ONLY against ThinAir Data — it does NOT authenticate against ThinAir Geo, which issues its own ta_geo_* key from its own identically-named tool.

Параметры

Без параметров.

list_connectionsтолько чтениеидемпотентный

List every database connection registered for your tenant: name, id, dbType (postgres / mysql / mssql), createdAt. Flags duplicate names — only the first-added connection of a duplicate name is reachable by name. Returns nothing sensitive (no DSN, no credentials).

Параметры

Без параметров.

optimize_queryтолько чтениеидемпотентныйвнешний мир

Analyze a SQL query's plan and return ranked optimization recommendations with explanations. Returns a verdict (efficient / needs_attention) plus findings: full/sequential scans, nested-loop joins, and — on mysql — temporary tables and filesorts. It does NOT return a rewritten query; original_query comes back unchanged and any rewrite is yours to author from the recommendations. The plan is ESTIMATED on all three dialects (pg EXPLAIN (ANALYZE false, FORMAT JSON), mysql EXPLAIN, mssql SHOWPLAN_XML) — the query is never executed, so run-time-only conditions such as a sort spilling to disk cannot be detected and are not reported. Ready-to-run index DDL is available only on mssql, where SHOWPLAN carries the optimizer's own missing-index statements; on postgres/mysql the recommendation names the WHERE/JOIN columns to index instead. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • querystringобязательный

    SQL query to optimize

pii_scanтолько чтениеидемпотентныйвнешний мир

Sweep string columns across tables for common PII patterns (email, SSN, credit card, phone, JWT, bearer tokens). Heuristic-only — not a compliance guarantee. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • max_tablesnumber

    Max tables to sample (default 25, cap 50)

  • sample_rowsnumber

    Rows sampled per table (default 20, cap 100; values < 5 are floored to 5)

query_firewall

Manage per-connection SQL rules: block dangerous patterns, require WHERE on large tables, log PII access. [ARCHITECT tier]

Параметры
  • actionenumобязательный

    What to do

  • block_actionenum

    Action when matched (default block)

  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • messagestring

    Message shown when rule triggers

  • patternstring

    Regex pattern to match

  • rule_namestring

    Rule name

  • sqlstring

    SQL to test against rules

query_historyтолько чтение

Return recent queries executed through ThinAir with timing, row counts, and status. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • limitnumber

    Number of recent queries (default 20, max 100)

query_sqlтолько чтениеидемпотентныйвнешний мир

Execute a read-only SQL query against the target connection. ONLY SELECT / WITH / EXPLAIN permitted. Write dialect-appropriate SQL for the connection's engine — use PostgreSQL syntax for postgres connections (SELECT NOW(), LIMIT, ILIKE), T-SQL for mssql (SELECT GETDATE(), TOP N, LIKE), MySQL for mysql (SELECT NOW(), LIMIT). Response meta includes connection + dialect so you know which syntax worked; reuse that dialect in follow-up calls. Default LIMIT 100 unless the user asks for all rows.

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • limitnumber

    Max rows to return (default 100, max 1000)

  • querystringобязательный

    SQL SELECT query to execute

quotaтолько чтение

Check current API usage, daily limit, plan name, and upgrade options.

Параметры

Без параметров.

remove_connectionидемпотентный

Remove a stored database connection from ThinAir Data by name. This deletes ONLY ThinAir's saved connection record (name, encrypted DSN) — your actual database is never touched, nothing is dropped or altered on it. Call list_connections first if you're unsure of the exact name.

Параметры
  • namestringобязательный

    Exact name of the connection to remove, as shown by list_connections.

saved_queries

Manage your personal library of reusable SELECT queries. action=save stores a query by name; action=run executes a saved query; action=list returns all your saved queries; action=delete removes one. [BUILD tier]

Параметры
  • actionenumобязательный

    save | run | list | delete

  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • descriptionstring

    Freeform description (action=save)

  • idstring

    Query ID (alternative to name for run/delete)

  • namestring

    Query name (save/run/delete)

  • sqlstring

    SQL to store (required for action=save)

  • tagstring

    Filter by tag (action=list)

  • tagsstring[]

    Tags (action=save)

show_locksтолько чтениевнешний мир

List active sessions + blocking locks. Uses the dialect's own system view — pg_stat_activity on postgres, information_schema.processlist on mysql, sys.dm_exec_requests joined with sys.dm_tran_locks on mssql. No dialect arg needed — inferred from the connection. Required privileges (per dialect): postgres — pg_read_all_stats role membership (or be the role that owns the queries; otherwise you only see your own session); mysql — PROCESS privilege; mssql — VIEW SERVER STATE. If the role lacks the privilege the tool returns a clean Query blocked by security policy error rather than partial data — grant the role above and retry. RDS/Aurora/Azure managed PostgreSQL: pg_read_all_stats is grantable but not on by default. [BUILD tier]

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

suggest_queriesтолько чтениеидемпотентныйвнешний мир

Generate schema-aware query suggestions with ready-to-run SQL. Great for exploring unfamiliar databases or finding useful queries.

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • contextstring

    Topic or goal to focus suggestions

test_connectionтолько чтениевнешний мир

Ping a connection (SELECT 1) and return server version + latency. Fast way to confirm credentials and network path without running describe_schema.

Параметры
  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

watch_tableтолько чтениевнешний мир

Snapshot a table's row count and latest record, and compare against the snapshot taken by the PREVIOUS call. There is no scheduler and no background polling — nothing runs between calls, so the first call only establishes a baseline and you must call it again to see any change. [ARCHITECT tier]

Параметры
  • columnstring

    Date column to track latest

  • conditionstring

    What to watch: 'new rows', 'row count drops'

  • connectionstring

    Target connection name from this tenant's inventory. Call list_connections to see every name + dialect, then match semantically to the user's intent (e.g. 'analytics' → a connection named *-analytics-*; 'prod' → a connection with prod- prefix). If the user didn't specify, use the tenant's default (first added). Do not invent names — resolve from list_connections output.

  • tablestringобязательный

    Table to monitor

У этого сервера пока нет списка версий.

Выберите клиент, чтобы установить ThinAirTelematics/thinair-data:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "type": "http",
      "url": "https://data.thinair.co/mcp"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"thinairtelematics-thinair-data-mzkqve72b0\",\"type\":\"http\",\"url\":\"https://data.thinair.co/mcp\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add --transport http thinairtelematics-thinair-data-mzkqve72b0 https://data.thinair.co/mcp

Либо через JSON-конфиг:

claude mcp add-json thinairtelematics-thinair-data-mzkqve72b0 "{\"url\":\"https://data.thinair.co/mcp\",\"type\":\"http\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add thinairtelematics-thinair-data-mzkqve72b0 --url https://data.thinair.co/mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.thinairtelematics-thinair-data-mzkqve72b0]
url = "https://data.thinair.co/mcp"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите ThinAirTelematics/thinair-data.

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например thinairtelematics-thinair-data-mzkqve72b0.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: thinairtelematics-thinair-data-mzkqve72b0
    type: http
    url: https://data.thinair.co/mcp
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "thinairtelematics-thinair-data-mzkqve72b0": {
      "url": "https://data.thinair.co/mcp",
      "type": "http"
    }
  }
}

Похожие MCP-сервера

ergut/mcp-bigquery-server

ergut/mcp-bigquery-server

от ergut

Этот MCP сервер позволяет AI-ассистентам выполнять read-only запросы к BigQuery через обычный чат. Поддерживает защиту PII-полей, автосканирование схем и гибкую настройку. Идеален для безопасного анализа данных без написания SQL.

TypeScript148
JaviMaligno/postgres_mcp

JaviMaligno/postgres_mcp

от javimaligno

MCP сервер для работы с PostgreSQL: выполняет SQL-запросы, исследует схемы, таблицы и индексы, помогает с производительностью через EXPLAIN. Работает read-only по умолчанию — безопасность на первом месте. Подходит для Claude Desktop, Cursor и других MCP-клиентов.

Python10
benborla29/mcp-server-mysql

benborla29/mcp-server-mysql

от benborla

MCP сервер для работы с MySQL: инспектируйте схемы, выполняйте запросы и опционально записывайте данные прямо из Claude и других LLM. Предусмотрена защита PII, SSH-туннели и режим работы с несколькими базами. Полезен разработчикам и аналитикам.

JavaScript2127
bytebase/dbhub

bytebase/dbhub

от bytebase

DBHub — легковесный MCP сервер для работы с базами данных (PostgreSQL, MySQL, SQL Server и другими). Подключает несколько БД сразу, выполняет SQL-запросы и ищет объекты схемы через два компактных инструмента. Безопасный доступ с read-only режимом, SSH-туннелями и SSL — идеально для быстрого иссле...

TypeScript3546
iunera/druid-mcp-server

iunera/druid-mcp-server

от iunera

MCP-сервер для Apache Druid: инструменты, ресурсы и промпты для управления кластерами, SQL-запросов, настройки ингредиентов и мониторинга здоровья. Даёт AI-ассистентам возможность управлять и анали...

Java18
panther-labs/mcp-panther

panther-labs/mcp-panther

от panther-labs

Panther MCP сервер предоставляет инструменты для взаимодействия с платформой безопасности Panther: написание детекций, триаж алертов и запросы к логам на естественном языке - прямо из вашей IDE. Ид...

Python47
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин