scaleway-ops-mcp-server
scaleway-ops-mcp-server
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):
Переменная | Обязательная | Назначение |
| да | Ключ доступа учетных данных, от имени которых аутентифицируется этот сервер. |
| да | Секретный ключ. Используется как |
| да | Организация, в которой выполняются эти операции. |
| да | Проект по умолчанию (используется как |
| нет (по умолчанию | Регион для вызовов Bucket Policy, когда вызов инструмента не указывает его. |
| нет (по умолчанию | Лимит усечения для ответов инструментов. |
| нет (по умолчанию | Максимальный размер декодированных данных для |
Учетные данные, от имени которых работает этот сервер, требуют собственной 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_keyupdate_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_policyupdate_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_userscaleway_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_groupscaleway_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_objectsput_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 CIMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Alicense-qualityFmaintenanceEnables interaction with AWS S3 through MCP, supporting bucket and object management, lifecycle configurations, tagging, policies, CORS settings, presigned URLs, and file uploads/downloads.3MIT
- Alicense-qualityDmaintenanceEnables management and analysis of AWS security groups, S3 buckets, and VPC connections via MCP.7MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to connect to AWS S3 buckets, list, upload, and read objects in various formats, supporting public and private buckets with multiple transport modes.4MIT
- AlicenseBqualityCmaintenanceA comprehensive MCP server for the Scaleway cloud platform, enabling AI agents to inspect and manage cloud infrastructure through 155+ tools across compute, storage, networking, and platform services.100Apache 2.0
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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