Skip to main content
Glama
logic-arts-official

scaleway-ops-mcp-server

scaleway-ops-mcp-server

CI

MCP-сервер для управления Scaleway IAM (приложения, ключи API, политики, наборы разрешений) и политиками Object Storage Bucket.

Зачем это нужно

Подготовка ограниченного учетного данных Scaleway для нового сервиса (создание IAM-приложения, генерация его ключа API, прикрепление IAM-политики, прикрепление политики Bucket к целевому бакету) — это повторяющаяся задача, которая ранее выполнялась вручную через веб-консоль. Этот сервер оборачивает реальный Scaleway API, чтобы агент мог выполнять её через вызовы инструментов — см. docs/gotchas.md для неочевидных частей этого API, которые данный сервер призван сгладить.

Related MCP server: AWS Security MCP Server

Настройка

npm install
npm run build

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

Переменные окружения (см. .env.example):

Переменная

Обязательная

Назначение

SCW_ACCESS_KEY

да

Ключ доступа учетных данных, от имени которых аутентифицируется этот сервер.

SCW_SECRET_KEY

да

Секретный ключ. Используется как X-Auth-Token для IAM API и как секрет SigV4 для S3-вызовов.

SCW_ORGANIZATION_ID

да

Организация, в которой выполняются эти операции.

SCW_PROJECT_ID

да

Проект по умолчанию (используется как default_project_id при создании ключей API и везде, где требуется идентификатор проекта, но он не передан явно).

SCW_DEFAULT_REGION

нет (по умолчанию fr-par)

Регион для вызовов Bucket Policy, когда вызов инструмента не указывает его.

MAX_OUTPUT_CHARS

нет (по умолчанию 25000)

Лимит усечения для ответов инструментов.

MAX_PUT_OBJECT_BYTES

нет (по умолчанию 5000000)

Максимальный размер декодированных данных для scaleway_s3_put_object — только одночастная загрузка, многокомпонентная не поддерживается.

Учетные данные, от имени которых работает этот сервер, требуют собственной IAM-политики, предоставляющей (как минимум) IAMApplicationManager + IAMPolicyManager (на уровне организации) и ObjectStorageFullAccess (на уровне проекта) — см. docs/gotchas.md для объяснения, почему это должны быть два отдельных правила политики. Приложение scaleway-ops-mcp (подготовлено 2026-08-12) уже имеет такую политику; используйте его учетные данные, а не создавайте новые, если вам не нужна идентичность с иной областью действия.

Запуск

Через Claude Code / любой MCP-клиент, как stdio-сервер:

{
  "mcpServers": {
    "scaleway-ops": {
      "command": "node",
      "args": ["/absolute/path/to/scaleway-ops-mcp-server/dist/index.js"],
      "env": {
        "SCW_ACCESS_KEY": "...",
        "SCW_SECRET_KEY": "...",
        "SCW_ORGANIZATION_ID": "...",
        "SCW_PROJECT_ID": "..."
      }
    }
  }
}

Инструменты

IAM-приложения

  • scaleway_iam_create_application, scaleway_iam_list_applications, scaleway_iam_get_application, scaleway_iam_update_application, scaleway_iam_delete_application

IAM-ключи API

  • scaleway_iam_create_api_key, scaleway_iam_list_api_keys, scaleway_iam_update_api_key, scaleway_iam_delete_api_key

  • update_api_key охватывает только description/expires_at/default_project_id — пара access_key/secret_key никогда не меняется, поэтому ротации учетных данных не происходит.

IAM-политики

  • scaleway_iam_create_policy, scaleway_iam_list_policies, scaleway_iam_get_policy, scaleway_iam_update_policy, scaleway_iam_delete_policy

  • update_policy охватывает только name/description/tags. Для rules используйте два инструмента ниже — get_policy никогда их не возвращает.

Правила IAM-политик (отдельная конечная точка от самого объекта политики — см. docs/gotchas.md)

  • scaleway_iam_list_policy_rules, scaleway_iam_set_policy_rules (атомарная полная замена PUT, без риска блокировки при удалении+создании)

IAM-пользователи (человеческие идентичности, задача #4; семантика приглашения не проверена — см. gotchas)

  • scaleway_iam_list_users, scaleway_iam_get_user

  • scaleway_iam_create_user (с подтверждением; отправляет реальное приглашение по email — семантика не проверена без одноразового почтового ящика)

  • scaleway_iam_update_user (поля профиля), scaleway_iam_delete_user (с подтверждением + ошибки API при отказе владельца и гостевой области действия)

  • scaleway_iam_lock_user / scaleway_iam_unlock_user (блокировка с подтверждением — действует на человека)

  • scaleway_iam_update_user_password (сброс, установленный администратором, с подтверждением), scaleway_iam_update_user_username (с подтверждением)

  • scaleway_iam_delete_user_mfa_otp (с подтверждением, ослабление безопасности), scaleway_iam_list_user_grace_periods

IAM-группы (задача #5; завершает цикл group_id, который уже принимают инструменты политик — полностью проверено вживую, нулевой радиус поражения)

  • scaleway_iam_list_groups (имя — ТОЧНОЕ совпадение, не подстрока), scaleway_iam_get_group

  • scaleway_iam_create_group (без подтверждения — обратимо, нет побочных эффектов для кого-либо), scaleway_iam_update_group (имя/описание/теги)

  • scaleway_iam_delete_group (с подтверждением; отклоняет управляемые/специальные/deletable=false группы на стороне инструмента)

  • scaleway_iam_add_group_member (один пользователь и/или одно приложение), scaleway_iam_add_group_members (массовое, аддитивное) — оба отклоняют управляемые/специальные/editable=false группы

  • scaleway_iam_set_group_members (с подтверждением; ПОЛНАЯ ЗАМЕНА — пропущенные участники удаляются), scaleway_iam_remove_group_member (с подтверждением) — тот же отказ для специальных/нередактируемых

IAM SSH-ключи (задача #6; разрешение области projects, в отличие от других IAM-инструментов этого сервера — см. gotchas)

  • scaleway_iam_list_ssh_keys, scaleway_iam_get_ssh_key, scaleway_iam_create_ssh_key (только открытые ключи — отклоняет всё, что похоже на закрытый ключ), scaleway_iam_update_ssh_key (только переименование), scaleway_iam_delete_ssh_key (с подтверждением)

IAM JWT (задача #6; токены сессии браузера/консоли, не ключи API)

  • scaleway_iam_list_jwts, scaleway_iam_get_jwt, scaleway_iam_delete_jwt (с подтверждением) — list структурно возвращает 403 для учетных данных приложения/ключа API независимо от разрешений (см. gotchas); реализовано по исправленному пути /jwts на случай, если get/delete сработают лучше.

IAM SAML SSO (задача #6; на уровне организации — см. gotchas для инцидента, из-за которого это было обнаружено)

  • scaleway_iam_get_saml_config, scaleway_iam_enable_saml / update_saml / disable_saml (все с подтверждением, радиус поражения на уровне организации), scaleway_iam_list/add/get/delete_saml_certificate (add/get/delete с подтверждением, где разрушительно; путь с одним сертификатом не проверен, см. gotchas)

IAM SCIM-провижининг (задача #6; та же осторожность на уровне организации, что и для SAML)

  • scaleway_iam_get_scim_config, scaleway_iam_enable_scim / disable_scim (с подтверждением), scaleway_iam_list/create/delete_scim_token (create/delete с подтверждением; секрет токена возвращается один раз, как ключ API)

IAM-настройки безопасности (задача #6; политика аутентификации на уровне организации — проверено вживую в обоих направлениях)

  • scaleway_iam_get_security_settings, scaleway_iam_update_security_settings (с подтверждением; изменяются только переданные поля)

IAM-наборы разрешений

  • scaleway_iam_list_permission_sets — вызывайте перед созданием/прикреплением политики; см. docs/gotchas.md.

Object Storage Buckets (S3-совместимая конечная точка, отдельный путь аутентификации от IAM API)

  • scaleway_s3_create_bucket, scaleway_s3_list_buckets, scaleway_s3_delete_bucket — жизненный цикл бакета.

Конфигурация Object Storage Bucket (задача #7; факты поведения проверены вживую 2026-08-18, см. docs/gotchas.md)

  • Теги: scaleway_s3_get/put/delete_bucket_tagging (put = полная замена).

  • CORS: scaleway_s3_get/put/delete_bucket_cors (put = полная замена).

  • Версионирование: scaleway_s3_get_bucket_versioning, scaleway_s3_set_bucket_versioning (приостановка требует подтверждения).

  • Веб-сайт: scaleway_s3_get/put/delete_bucket_website (put публикует конечную точку, требует подтверждения).

  • Видимость: scaleway_s3_get/set_bucket_visibility — грубая настройка public/private через готовый ACL (public требует подтверждения; Bucket Policies — это механизм тонкой настройки).

  • Правила жизненного цикла: scaleway_s3_get/put/delete_bucket_lifecycle (put/delete с подтверждением — правила истечения срока безвозвратно удаляют объекты).

  • Конфигурация шифрования: scaleway_s3_get/put/delete_bucket_encryption — реальная, переключаемая настройка (подтверждено в консоли), не инертные метаданные; см. docs/gotchas.md.

  • Object Lock: scaleway_s3_get_object_lock, scaleway_s3_enable_object_lock (односторонний: никогда не отключается, предусловие версионирования обработано, версионирование после этого замораживается; флаг блокировки при создании молча игнорируется Scaleway).

  • Нет инструментов для логирования бакета или метрик бакета: S3-конечная точка Scaleway возвращает NotImplemented для обоих.

Политики Object Storage Bucket

  • scaleway_s3_get_bucket_policy, scaleway_s3_put_bucket_policy, scaleway_s3_delete_bucket_policy

Объекты Object Storage (только одночастная загрузка; многокомпонентная/загрузка больших файлов не поддерживается)

  • scaleway_s3_put_object, scaleway_s3_get_object, scaleway_s3_list_objects, scaleway_s3_head_object, scaleway_s3_copy_object, scaleway_s3_delete_object, scaleway_s3_delete_objects

  • put_object/get_object передают бинарные полезные данные как base64 (encoding: "base64"); размер декодированных данных ограничен MAX_PUT_OBJECT_BYTES (по умолчанию 5 МБ). get_object автоматически определяет UTF-8 текст или бинарные данные и возвращает encoding соответственно.

  • scaleway_s3_get_object_tags, scaleway_s3_put_object_tags (put заменяет весь набор тегов, та же семантика замены, а не слияния, что и put_bucket_policy)

  • scaleway_s3_generate_presigned_url — временный GET/PUT URL для предоставления прямого доступа к объекту чему-то вне MCP, не раскрывая учетные данные этого сервера.

Аудит — запросы событий (только чтение; все требуют AuditTrailReadOnly для учетных данных этого сервера — предоставьте через scaleway_iam_set_policy_rules)

  • scaleway_audit_list_events — кто что сделал, когда, откуда (активность API/ресурсов).

  • scaleway_audit_list_authentication_events — активность аутентификации (результаты входа/токена/MFA) — отдельная конечная точка.

  • scaleway_audit_list_system_events — действия, выполненные собственными системами Scaleway над вашими ресурсами.

  • scaleway_audit_list_combined_events — все три потока в одной хронологической ленте, каждое событие помечено api/auth/system.

  • scaleway_audit_get_last_events_overview — снимок недавних событий, который показывает страница Audit Trail в консоли.

  • scaleway_audit_list_products — продукты/сервисы/методы, интегрированные с Audit Trail (каталог допустимых значений фильтра).

Аудит — правила оповещений

  • scaleway_audit_list_alert_rules, scaleway_audit_set_alert_rules_enabled (аддитивное), scaleway_audit_replace_enabled_alert_rules (полная замена, с подтверждением) — предварительно настроенные правила Scaleway; их можно только включать/отключать, никогда не создавать или удалять. Неизвестные ID правил атомарно отклоняют весь запрос (проверено вживую 2026-08-18).

  • scaleway_audit_list_custom_alert_rules, scaleway_audit_create_custom_alert_rule, scaleway_audit_update_custom_alert_rule (только имя/описание), scaleway_audit_delete_custom_alert_rule, scaleway_audit_set_custom_alert_rules_enabled, scaleway_audit_replace_enabled_custom_alert_rulesпредупреждение: Scaleway документирует эти конечные точки, но развернутый API возвращает HTTP 501 для каждого метода пользовательских правил оповещений (проверено вживую 2026-08-18). Инструменты на месте и возвращают эту ошибку дословно; они заработают, когда Scaleway запустит бэкенд.

Аудит — задания экспорта (отправка событий аудита в Object Storage Bucket)

  • scaleway_audit_list_export_jobs, scaleway_audit_create_export_job, scaleway_audit_delete_export_job (защищены подтверждением; останавливает будущие экспорты, не удаляет уже экспортированные объекты).

  • Инструменты записи оповещений/экспорта требуют больше, чем AuditTrailReadOnly для учетных данных этого сервера; ошибки прав доступа отображаются дословно.

Область применения

Намеренно узкая: управление идентификацией и политиками IAM (приложения, пользователи-люди и группы), SSH-ключи, JWT, настройки SAML/SCIM/безопасности, политики бакетов, жизненный цикл и конфигурация бакетов, CRUD объектов Object Storage (put/get/list/head/copy/delete/tags/подписанные URL, только одна часть), и Audit Trail (запросы событий, правила оповещений, задания экспорта), потому что это именно то, что до сих пор вызывало затруднения. Не является общей оберткой API Scaleway — нет вычислений, баз данных, контейнеров, нет многокомпонентной загрузки, нет ведения журнала/метрик бакетов (S3 API Scaleway не реализует их), нет квот (не удалось найти реальную конечную точку — см. docs/gotchas.md). Расширяйте его так же, если/когда они тоже станут повторяющейся необходимостью.

Разработка

npm run dev     # tsc --watch
node scripts/smoke-test.mjs   # exercises real tool calls against the live account via .env - not automated CI
Install Server
A
license - permissive license
A
quality
A
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

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • The official MCP Server from Mia-Platform to interact with Mia-Platform Console

  • Managed Keycloak from any MCP client: clusters, realms, apps, SSO, users, domains, audit events.

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/logic-arts-official/scaleway-ops-mcp-server'

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