pilat/mcp-datalink

pilat/mcp-datalink

от pilat
MCP сервер для PostgreSQL, MySQL и SQLite, который предоставляет AI-ассистентам безопасный доступ к базам данных. Подходит для Claude Desktop, Cursor и других MCP-клиентов. Поддерживает SELECT, запись, explain и листинг таблиц с защитой от SQL-инъекций и настраиваемыми ограничениями.

MCP server for PostgreSQL, MySQL, and SQLite. Gives AI assistants secure database access via Model Context Protocol.

npx @pilat/mcp-datalink

Works with Claude Desktop, Claude Code, Cursor, Cline, and any MCP-compatible client.

Installation

Add to your MCP client config file (see config locations below):

{
  "mcpServers": {
    "datalink": {
      "command": "npx",
      "args": ["-y", "@pilat/mcp-datalink"],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",

        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",

        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}

This creates three database connections: analytics (read-only), inventory, and cache.

Variable Description
DATALINK_{NAME}_URL Connection URL (creates database named {name})
DATALINK_{NAME}_READONLY Set to true to block writes
DATALINK_{NAME}_MAX_TIMEOUT Max query timeout in ms (caps model requests)
Инструменты были проиндексированы:
describe_table

Получить детальную структуру таблицы: имена столбцов, типы данных, допустимость NULL, значения по умолчанию, индексы и связи внешних ключей.

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

    Имя подключения к базе данных, которое возвращает list_databases.

  • schemastring

    Имя схемы (по умолчанию: public для PostgreSQL)

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

    Имя таблицы, возвращаемое list_tables.

execute

Выполняет запрос INSERT, UPDATE или DELETE и возвращает количество затронутых строк.

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

    Имя подключения к базе данных, которое возвращает list_databases.

  • paramsunknown[]

    Значения параметров, соответствующие плейсхолдерам по порядку. Пример: ["inactive", 123] для $1 и $2.

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

    Выполняет запрос INSERT/UPDATE/DELETE с параметризованными плейсхолдерами ($1, $2, ...). Пример: UPDATE users SET status = $1 WHERE id = $2

  • timeoutinteger

    Тайм-аут запроса в миллисекундах. По умолчанию: 30000 (30 секунд). Может быть ограничено конфигурацией сервера.

explain

Анализирует план выполнения запроса, чтобы понять характеристики производительности и выявить возможности для оптимизации.

Параметры
  • analyzeboolean

    Если true, фактически выполняет запрос, чтобы получить реальную статистику времени выполнения (EXPLAIN ANALYZE). Если false, показывает только оценочный план. По умолчанию: false

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

    Имя подключения к базе данных, которое возвращает list_databases.

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

    SQL-запрос для анализа (обычно оператор SELECT)

  • timeoutinteger

    Тайм-аут запроса в миллисекундах. По умолчанию: 30000 (30 секунд). Может быть ограничено конфигурацией сервера.

list_databases

Выведи список всех настроенных подключений к базам данных, доступных на этом сервере.

Параметры

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

list_tables

Вывести список всех таблиц и представлений в схеме базы данных, включая количество строк и метаданные.

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

    Имя подключения к базе данных, которое возвращает list_databases.

  • schemastring

    Имя схемы, из которой нужно получить список таблиц (по умолчанию: public для PostgreSQL, none для SQLite)

query

Выполняет запрос SELECT только для чтения и возвращает результаты в виде структурированных данных.

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

    Имя подключения к базе данных, которое возвращает list_databases.

  • paramsunknown[]

    Значения параметров, соответствующие плейсхолдерам по порядку. Пример: ["active", "2024-01-01"] для $1 и $2

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

    Запрос SELECT с параметризованными плейсхолдерами ($1, $2, ...) для значений. Пример: SELECT * FROM users WHERE status = $1 AND created_at > $2

  • timeoutinteger

    Тайм-аут запроса в миллисекундах. По умолчанию: 30000 (30 секунд). Может быть ограничено конфигурацией сервера.

1.4.1основная
1.4.0
1.3.2
1.3.1
1.3.0
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.0
1.0.3
1.0.2
1.0.1

Выберите клиент, чтобы установить pilat/mcp-datalink:

Любой клиент

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

{
  "mcpServers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}
VS Code

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

{
  "servers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"pilat-mcp-datalink-32erzb9w2q\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@pilat/mcp-datalink\"],\"env\":{\"DATALINK_ANALYTICS_URL\":\"postgresql://user:password@localhost:5432/analytics\",\"DATALINK_ANALYTICS_READONLY\":\"true\",\"DATALINK_INVENTORY_URL\":\"mysql://user:password@localhost:3306/inventory\",\"DATALINK_CACHE_URL\":\"sqlite:///path/to/cache.db\"}}"
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": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}
Claude CodeClaude Code

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

claude mcp add pilat-mcp-datalink-32erzb9w2q --env DATALINK_ANALYTICS_URL=postgresql://user:password@localhost:5432/analytics --env DATALINK_ANALYTICS_READONLY=true --env DATALINK_INVENTORY_URL=mysql://user:password@localhost:3306/inventory --env DATALINK_CACHE_URL=sqlite:///path/to/cache.db -- npx -y @pilat/mcp-datalink

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

claude mcp add-json pilat-mcp-datalink-32erzb9w2q "{\"command\":\"npx\",\"args\":[\"-y\",\"@pilat/mcp-datalink\"],\"env\":{\"DATALINK_ANALYTICS_URL\":\"postgresql://user:password@localhost:5432/analytics\",\"DATALINK_ANALYTICS_READONLY\":\"true\",\"DATALINK_INVENTORY_URL\":\"mysql://user:password@localhost:3306/inventory\",\"DATALINK_CACHE_URL\":\"sqlite:///path/to/cache.db\"}}"
CodexCodex

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

codex mcp add pilat-mcp-datalink-32erzb9w2q --env DATALINK_ANALYTICS_URL=postgresql://user:password@localhost:5432/analytics --env DATALINK_ANALYTICS_READONLY=true --env DATALINK_INVENTORY_URL=mysql://user:password@localhost:3306/inventory --env DATALINK_CACHE_URL=sqlite:///path/to/cache.db -- npx -y @pilat/mcp-datalink

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

[mcp_servers.pilat-mcp-datalink-32erzb9w2q]
command = "npx"
args = ["-y", "@pilat/mcp-datalink"]

[mcp_servers.pilat-mcp-datalink-32erzb9w2q.env]
DATALINK_ANALYTICS_URL = "postgresql://user:password@localhost:5432/analytics"
DATALINK_ANALYTICS_READONLY = "true"
DATALINK_INVENTORY_URL = "mysql://user:password@localhost:3306/inventory"
DATALINK_CACHE_URL = "sqlite:///path/to/cache.db"
PerplexityPerplexity

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

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите pilat/mcp-datalink, а в поле команды запуска — строку ниже:
npx -y @pilat/mcp-datalink

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например pilat-mcp-datalink-32erzb9w2q.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: pilat-mcp-datalink-32erzb9w2q
    command: npx
    args:
      - "-y"
      - "@pilat/mcp-datalink"
    env:
      DATALINK_ANALYTICS_URL: postgresql://user:password@localhost:5432/analytics
      DATALINK_ANALYTICS_READONLY: true
      DATALINK_INVENTORY_URL: mysql://user:password@localhost:3306/inventory
      DATALINK_CACHE_URL: sqlite:///path/to/cache.db
Zed

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

{
  "context_servers": {
    "pilat-mcp-datalink-32erzb9w2q": {
      "command": "npx",
      "args": [
        "-y",
        "@pilat/mcp-datalink"
      ],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}

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

JaviMaligno/postgres_mcp

JaviMaligno/postgres_mcp

от javimaligno

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

Python⭐ 12
runekaagaard/mcp-alchemy

runekaagaard/mcp-alchemy

от runekaagaard

MCP инструмент Alchemy для Claude Desktop превращает его в эксперта по базам данных: исследование структуры, написание SQL, анализ больших наборов данных. Поддерживает PostgreSQL, MySQL, SQLite и м...

Python⭐ 421
openlink/mcp-server-sqlalchemy

openlink/mcp-server-sqlalchemy

от openlinksoftware

MCP сервер для ODBC через SQLAlchemy даёт доступ к базам: схемы, таблицы, описания, запросы SQL, SPARQL и SPASQL. Работает с Virtuoso, PostgreSQL, MySQL, SQLite. Помогает разработчикам интегрировать данные с AI.

Python⭐ 25
gigamori/mcp-run-sql-connectorx

gigamori/mcp-run-sql-connectorx

от gigamori

MCP сервер выполняет SQL через ConnectorX и выводит результат в CSV или Parquet. Данные передаются через файлы, а не в теле сообщения, что эффективно для больших запросов. Поддерживает PostgreSQL, MySQL, SQLite и другие.

Python⭐ 1
ofershap/mcp-server-sqlite

ofershap/mcp-server-sqlite

от ofershap

MCP сервер для безопасного выполнения SQL-запросов к SQLite через AI ассистента. Инспектирует схемы, таблицы, объясняет запросы. Безопасный режим только чтения, совместим с Cursor, Claude Desktop и...

TypeScript⭐ 4
bytebase/dbhub

bytebase/dbhub

от bytebase

DBHub выполняет SQL-запросы и ищет объекты схемы в PostgreSQL, MySQL, SQL Server и SQLite. Лёгкий, с read-only режимом.

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

Лука Никитин