Skip to main content
Glama

steampipe-mcp

by turbot

Сервер протокола контекста модели Steampipe (MCP)

Откройте для себя возможности анализа инфраструктуры на основе искусственного интеллекта с помощью Steampipe ! Этот сервер Model Context Protocol легко подключает помощников искусственного интеллекта, таких как Клод, к данным вашей облачной инфраструктуры, обеспечивая возможность исследования и анализа всего вашего облачного хранилища на естественном языке.

Steampipe MCP объединяет помощников ИИ и данные вашей инфраструктуры, позволяя использовать естественный язык:

  • Запросы в AWS, Azure, GCP и более чем 100 облачных сервисах
  • Анализ безопасности и соответствия
  • Оптимизация затрат и ресурсов
  • Помощь в разработке запросов

Работает как с локальными установками Steampipe , так и с рабочими пространствами Turbot Pipes , обеспечивая безопасный доступ только для чтения ко всем вашим облачным и SaaS-данным.

Установка

Предпосылки

  • Node.js v16 или выше (включая npx )
  • Для локального использования: Steampipe установлен и запущен ( steampipe service start )
  • Для Turbot Pipes: рабочее пространство Turbot Pipes и строка подключения

Конфигурация

Добавьте Steampipe MCP в файл конфигурации вашего ИИ-помощника:

{ "mcpServers": { "steampipe": { "command": "npx", "args": [ "-y", "@turbot/steampipe-mcp" ] } } }

По умолчанию это подключается к вашей локальной установке Steampipe по адресу postgresql://steampipe@localhost:9193/steampipe . Обязательно сначала запустите steampipe service start .

Чтобы подключиться к рабочему пространству Turbot Pipes , добавьте строку подключения к аргументам:

{ "mcpServers": { "steampipe": { "command": "npx", "args": [ "-y", "@turbot/steampipe-mcp", "postgresql://my_name:my_pw@workspace-name.usea1.db.pipes.turbot.com:9193/abc123" ] } } }

Настройка помощника ИИ

ПомощникРасположение файла конфигурацииРуководство по настройке
Клод Десктопclaude_desktop_config.jsonРуководство по MCP Claude Desktop →
Курсор~/.cursor/mcp.jsonКурсор MCP Руководство →

Сохраните файл конфигурации и перезапустите ИИ-помощника, чтобы изменения вступили в силу.

Руководство по подсказкам

Сначала запустите подсказку best_practices , включенную в сервер MCP, чтобы научить вашего LLM, как лучше всего работать со Steampipe. Затем спрашивайте что угодно!

Изучите свою облачную инфраструктуру:

What AWS accounts can you see?

Хорошо работают простые, конкретные вопросы:

Show me all S3 buckets that were created in the last week

Создание отчетов по инфраструктуре:

List my EC2 instances with their attached EBS volumes

Погрузитесь в анализ безопасности:

Find any IAM users with access keys that haven't been rotated in the last 90 days

Получите информацию о соответствии:

Show me all EC2 instances that don't comply with our tagging standards

Изучите потенциальные риски:

Analyze my S3 buckets for security risks including public access, logging, and encryption

Не забудьте:

  • Укажите конкретно, какие облачные ресурсы вы хотите проанализировать (EC2, S3, IAM и т. д.)
  • Укажите регионы или счета, если вас интересуют конкретные из них.
  • Начните с простых запросов, прежде чем добавлять сложные условия.
  • Используйте естественный язык — LLM выполнит перевод SQL
  • Будьте смелы и исследовательски активны — степень магистра права поможет вам открыть для себя новые идеи во всей вашей инфраструктуре!

Возможности

Инструменты

  • steampipe_query
    • Запросы к облачным журналам и журналам безопасности с помощью SQL.
    • Для лучшей производительности: используйте CTE вместо соединений, ограничьте количество запрашиваемых столбцов.
    • Все запросы доступны только для чтения и используют синтаксис PostgreSQL.
    • Ввод: sql (строка): SQL-запрос для выполнения с использованием синтаксиса PostgreSQL.
  • steampipe_table_list
    • Список всех доступных таблиц Steampipe.
    • Необязательный ввод: schema (строка): Фильтрация таблиц по определенной схеме
    • Необязательный ввод: filter (строка): Фильтрация таблиц по шаблону ILIKE (например, 'ì2%')
  • steampipe_table_show
    • Получите подробную информацию о конкретной таблице, включая определения столбцов, типы данных и описания.
    • Ввод: name (строка): имя таблицы, для которой необходимо отобразить сведения (может быть указано с помощью схемы, например, «aws_account» или «aws.aws_account»).
    • Необязательный ввод: schema (строка): Схема, содержащая таблицу
  • steampipe_plugin_list
    • Список всех плагинов Steampipe, установленных в системе. Плагины обеспечивают доступ к различным источникам данных, таким как AWS, GCP или Azure.
    • Входные параметры не требуются
  • steampipe_plugin_show
    • Получите подробную информацию о конкретной установке плагина Steampipe, включая версию, ограничения памяти и конфигурацию.
    • Ввод: name (строка): Имя плагина, для которого нужно отобразить сведения.

Подсказки

  • лучшие_практики
    • Лучшие практики работы с данными Steampipe
    • Содержит подробные рекомендации по:
      • Стиль ответа и правила форматирования
      • Использование CTE (предложения WITH) вместо объединений
      • Синтаксис и соглашения по стилю SQL
      • Выбор и оптимизация столбцов
      • Исследование и понимание схемы
      • Структура и организация запроса
      • Вопросы производительности и кэширования
      • Обработка ошибок и устранение неполадок

Ресурсы

  • статус
    • Представляет текущее состояние соединения Steampipe.
    • В число объектов недвижимости входят:
      • connection_string: Текущая строка подключения к базе данных
      • status: Состояние соединения (подключено/отключено)

Этот ресурс позволяет инструментам ИИ проверять и подтверждать статус подключения к вашему экземпляру Steampipe.

Разработка

Клонирование и настройка

  1. Клонируйте репозиторий и перейдите в каталог:
git clone https://github.com/turbot/steampipe-mcp.git cd steampipe-mcp
  1. Установите зависимости:
npm install
  1. Создайте проект:
npm run build

Тестирование

Чтобы протестировать локальную сборку разработки с помощью инструментов ИИ, поддерживающих MCP, обновите конфигурацию MCP, чтобы использовать локальный dist/index.js вместо пакета npm. Например:

{ "mcpServers": { "steampipe": { "command": "node", "args": [ "/absolute/path/to/steampipe-mcp/dist/index.js", "postgresql://steampipe@localhost:9193/steampipe" ] } } }

Или используйте MCP Inspector для проверки реализации сервера:

npx @modelcontextprotocol/inspector dist/index.js

Переменные среды

Для настройки сервера MCP можно использовать следующие переменные среды:

  • STEAMPIPE_MCP_LOG_LEVEL : Управление уровнем детализации журнала сервера (по умолчанию: info )
  • STEAMPIPE_MCP_WORKSPACE_DATABASE : Переопределить строку подключения Steampipe по умолчанию (по умолчанию: postgresql://steampipe@localhost:9193/steampipe )

Открытый исходный код и содействие

Этот репозиторий опубликован под лицензией Apache 2.0 . Ознакомьтесь с нашим кодексом поведения . Мы с нетерпением ждем сотрудничества с вами!

Steampipe — это продукт, созданный на основе этого программного обеспечения с открытым исходным кодом, исключительно Turbot HQ, Inc. Он распространяется на наших коммерческих условиях. Другие лица имеют право самостоятельно распространять программное обеспечение, но не могут использовать никакие товарные знаки Turbot, облачные сервисы и т. д. Вы можете узнать больше в нашем разделе FAQ по программному обеспечению с открытым исходным кодом .

Примите участие

Присоединяйтесь к #steampipe в Slack →

Хотите помочь, но не знаете с чего начать? Выберите один из вопросов help wanted :

Related MCP Servers

View all related MCP servers

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/turbot/steampipe-mcp'

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