Skip to main content
Glama
kartik-augusta

Redshift MCP Server

Redshift MCP Server

Этот MCP-сервер (Model Context Protocol) обеспечивает безопасный доступ только для чтения к базам данных Amazon Redshift для использования с Claude Desktop и другими MCP-совместимыми клиентами. Он действует как интеллектуальный мост, позволяя AI-ассистентам самостоятельно навигировать, понимать и извлекать инсайты непосредственно из вашего хранилища данных.

✨ Ключевые возможности

  • 10 специализированных инструментов: Полный набор инструментов для обнаружения данных, извлечения метаданных, выполнения запросов и экспорта.

  • Динамическая конфигурация: Полностью настраивается через .env (списки разрешений, лимиты строк, параметры подключения).

  • Режимы транспорта: Поддерживает как stdio (для локальных клиентов, таких как Claude Desktop), так и sse (Server-Sent Events через HTTP для удалённых подключений).

  • Кэширование подключений: Эффективное управление подключениями с одним долгоживущим проверяемым подключением к Redshift.

  • Корпоративная безопасность:

    • Строгая проверка SQL только для чтения.

    • Разрешение схем (ограничивает AI предварительно одобренными схемами).

    • Жёсткие ограничения на количество строк запросов и экспорта для защиты производительности базы данных.

  • Поддержка SSH-туннелей: Бесшовное подключение к частным VPC-кластерам Redshift через встроенный sshtunnel.

Related MCP server: safedb-mcp

🛠️ Доступные MCP-инструменты

Обнаружение данных и навигация

  1. get_allowed_schemas: Возвращает конфигурацию доступа к схемам сервера (список разрешений, схема по умолчанию, лимиты).

  2. list_schemas: Обнаруживает доступные схемы в базе данных (отфильтрованные по настроенному списку разрешений).

  3. list_tables: Перечисляет все таблицы в схеме. Доступны только схемы из списка разрешений.

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

  5. search_columns: Ищет столбцы, имя которых соответствует ключевому слову (без учёта регистра) во всех таблицах разрешённых схем.

Анализ данных и извлечение

  1. sample_data: Возвращает быструю выборку строк из таблицы для исследования данных.

  2. table_row_count: Получает точное количество строк для таблицы с помощью COUNT(*).

  3. query_data: Выполняет запрос SELECT только для чтения. Автоматически оборачивает и ограничивает результаты в соответствии с конфигурацией сервера.

  4. explain_query: Показывает план EXPLAIN для запроса, чтобы понять производительность до выполнения.

  5. export_to_csv: Экспортирует результаты запроса в формат CSV с более высоким выделенным лимитом строк (MAX_EXPORT_ROWS).

🚀 Установка и настройка

1. Установка зависимостей

# Clone the repository
git clone <repository-url>
cd redshift-mcp-server

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

2. Настройка окружения

Скопируйте пример файла окружения и отредактируйте его со своими учётными данными:

cp .env.example .env

Отредактируйте файл .env, чтобы настроить подключение к Redshift и лимиты сервера:

# --- Redshift Connection ---
RS_HOST=your-cluster.region.redshift.amazonaws.com
RS_DB=your_database_name
RS_USER=your_readonly_user
RS_PASS=your_password
RS_PORT=5439

# --- Security & Limits ---
ALLOWED_SCHEMAS=gold_capsaai,report_capsaai
DEFAULT_SCHEMA=gold_capsaai
MAX_ROWS=500
MAX_EXPORT_ROWS=5000

# --- SSH Tunnel (For Private VPCs) ---
SSH_TUNNEL=false
# If true, provide SSH_HOST, SSH_USER, SSH_KEY_FILE, etc.

3. Запуск сервера

Режим 1: stdio (по умолчанию) Лучше всего, когда MCP-клиент (например, Claude Desktop) работает на той же машине.

python server.py

Режим 2: sse (HTTP) Лучше всего для удалённого доступа к серверу через HTTP или туннели.

# Start SSE on port 8000
python server.py --sse --host 0.0.0.0 --port 8000

🔌 Подключение к серверу

Вариант A: Локальный Claude Desktop (stdio)

Если ваш Claude Desktop работает на той же машине, что и сервер, отредактируйте файл конфигурации Claude Desktop:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "redshift": {
      "command": "/absolute/path/to/redshift-mcp-server/.venv/bin/python",
      "args": ["/absolute/path/to/redshift-mcp-server/server.py"]
    }
  }
}

Вариант B: Удалённое подключение (SSE + IDE)

Если сервер работает на удалённом EC2-инстансе, запустите сервер в режиме --sse.

Для IDE, поддерживающих прямые SSE-подключения (например, VS Code с Cline):

  1. Добавьте новый MCP-сервер.

  2. Установите тип транспорта SSE.

  3. Используйте URL: http://<EC2-IP>:8000/sse (или URL вашего туннеля).

🧪 Тестирование и валидация

Репозиторий включает комплексный набор тестов и диагностические инструменты:

  • client.py: CLI-клиент, выполняющий сквозной смоук-тест всех 10 инструментов.

  • test_connection.py: Базовая проверка подключения.

  • test_restricted_access.py: Проверяет, что ограничения безопасности схем работают корректно.

  • monitor_mcp.sh: Мониторинг производственного уровня с автоматическим перезапуском, проверками работоспособности и журналированием.

🏗️ Архитектура

graph TB
    subgraph "Client Layer"
        CD["Claude Desktop / MCP Client"]
    end
    
    subgraph "MCP Server Layer"
        MCP["FastMCP Server"]
        CONFIG["config.py / .env"]
        VALIDATION["SQL & Schema Validation"]
    end
    
    subgraph "Network Layer"  
        SSH["SSH Tunnel<br/>(Optional)"]
        CONN["Connection Cache"]
    end
    
    subgraph "Database Layer"
        RS["Amazon Redshift"]
        SCHEMA["Allowed Schemas"]
    end
    
    CD -->|"JSON-RPC (stdio/sse)"| MCP
    MCP --> CONFIG
    MCP --> VALIDATION
    VALIDATION --> CONN
    CONN --> SSH
    SSH --> RS
    RS --> SCHEMA

🔐 Вопросы безопасности

  • Только чтение: Обёртка _validate_read_only_sql строго ограничивает запросы операторами SELECT и EXPLAIN.

  • Механизм лимитов: Двойные синтаксические ошибки LIMIT предотвращаются с помощью regex-парсинга в _apply_limit, что гарантирует ограничение больших сканирований таблиц вашим порогом из .env.

  • Изоляция схем: AI не может просматривать или запрашивать таблицы за пределами списка ALLOWED_SCHEMAS, разделённого запятыми.

  • Безопасность учётных данных: Никогда не коммитьте файлы конфигурации .env или .json в систему контроля версий. По умолчанию они игнорируются в .gitignore.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready server that connects LLMs and AI agents (Claude, ChatGPT) to Amazon Redshift databases with configurable access controls and zero code changes.
    4
  • A
    license
    A
    quality
    C
    maintenance
    Secure MCP server for safe, read-only DB access by AI agents, with SQL guardrails, table allowlists, PII masking, and audit logs
    6
    34
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server for Amazon Redshift that leverages column comments for guided data discovery, with slash commands for profiling, exploration, and lineage.
    13
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kartik-augusta/redshift-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server