Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.
 
 

Repository files navigation

OVHcloud MCP Server

License: MIT Node.js Version TypeScript

MCP server for OVHcloud. Manage VPS, Public Cloud projects & instances, domains, DNS, billing, and execute SSH commands from any MCP-compatible client.

35 tools + full API discovery across 500+ OVH endpoints.

Requirements

Installation

git clone https://github.com/aidalinfo/ovhcloud-mcp.git
cd ovhcloud-mcp
npm ci
npm run build

Configuration

Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "ovhcloud": {
      "command": "node",
      "args": ["/path/to/ovhcloud-mcp/dist/index.js"],
      "env": {
        "OVH_APPLICATION_KEY": "your_app_key",
        "OVH_APPLICATION_SECRET": "your_app_secret",
        "OVH_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

Claude Desktop

claude_desktop_config.json (location)

{
  "mcpServers": {
    "ovhcloud": {
      "command": "node",
      "args": ["/path/to/ovhcloud-mcp/dist/index.js"],
      "env": {
        "OVH_APPLICATION_KEY": "your_app_key",
        "OVH_APPLICATION_SECRET": "your_app_secret",
        "OVH_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

Claude Code

.mcp.json in your project root, or ~/.claude.json globally:

{
  "mcpServers": {
    "ovhcloud": {
      "command": "node",
      "args": ["/path/to/ovhcloud-mcp/dist/index.js"],
      "env": {
        "OVH_APPLICATION_KEY": "your_app_key",
        "OVH_APPLICATION_SECRET": "your_app_secret",
        "OVH_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

Any MCP client (stdio)

The server uses stdio transport. Point your MCP client to:

node /path/to/ovhcloud-mcp/dist/index.js

With environment variables set for authentication (see below).

Environment Variables

Authentication (one of two modes, auto-detected):

Variable Mode Description
OVH_APPLICATION_KEY API key Application key
OVH_APPLICATION_SECRET API key Application secret
OVH_CONSUMER_KEY API key Consumer key
OVH_CLIENT_ID OAuth2 Service account ID
OVH_CLIENT_SECRET OAuth2 Service account secret
OVH_ENDPOINT Both ovh-eu (default), ovh-ca, ovh-us

SSH (optional):

Variable Description
SSH_HOST Default SSH host
SSH_PORT Default SSH port (default: 22)
SSH_USER Default SSH username
SSH_PASSWORD SSH password
SSH_PRIVATE_KEY_FILE Path to private key file

Tools

VPS

Tool Description
ovh_vps_list List all VPS with hardware details
ovh_vps_info Server state, hardware, IPs, service status
ovh_vps_monitoring CPU and network statistics
ovh_vps_ips List assigned IPs
ovh_vps_reboot Reboot a VPS
ovh_vps_start Start a stopped VPS
ovh_vps_stop Stop a running VPS
ovh_vps_snapshot Get snapshot info
ovh_vps_create_snapshot Create a new snapshot

Public Cloud

Tool Description
ovh_cloud_projects List all Public Cloud projects (id, name, status)
ovh_cloud_project_info Project details + region count
ovh_cloud_instances List instances (VMs) — one project or all projects
ovh_cloud_instance_info Full VM detail: flavor, image, network
ovh_cloud_regions List regions available in a project
ovh_cloud_flavors List instance flavors (VM sizes), filterable by region
ovh_cloud_images List OS images, filterable by region
ovh_cloud_volumes List storage volumes

Domains & DNS

Tool Description
ovh_domain_list List all domains and DNS zones
ovh_domain_zone_info Nameservers, DNSSEC status
ovh_domain_dns_records List records with type/subdomain filters
ovh_domain_dns_record_detail Single record details
ovh_domain_dns_create Create DNS record
ovh_domain_dns_update Update DNS record
ovh_domain_dns_delete Delete DNS record
ovh_domain_dns_refresh Force zone refresh

Account & Billing

Tool Description
ovh_account_info Account details (name, email, country)
ovh_services List active services with renewal info
ovh_invoices Recent invoices with PDF links
ovh_invoice_detail Full invoice with line items

API Explorer

Discover and inspect any OVH API endpoint without writing code.

Tool Description
ovh_api_catalog List all API categories (vps, cloud, email, dedicated, etc.)
ovh_api_search Search endpoints by keyword across all or specific categories
ovh_api_endpoint_detail Parameters, types, and descriptions for any endpoint

SSH

Tool Description
ovh_ssh_exec Execute a command on a remote server
ovh_ssh_check Test SSH connectivity

Raw API

Tool Description
ovh_api_raw Call any OVH API endpoint directly

Docker

docker build -t ovhcloud-mcp .
docker run --rm \
  -e OVH_APPLICATION_KEY=... \
  -e OVH_APPLICATION_SECRET=... \
  -e OVH_CONSUMER_KEY=... \
  ovhcloud-mcp

Multi-stage build, runs as non-root node user.

Security

  • Path injection prevention — .., ?, # rejected in API paths
  • 30-second timeout on all HTTP requests
  • Error responses truncated to 500 characters
  • All parameters validated with Zod schemas
  • SSH output capped at 100 KB to prevent memory issues
  • Docker container runs as unprivileged user

Testing

npm test

Architecture

src/
  index.ts              Auth detection, tool registration
  ovh-client.ts         API client (SHA1-HMAC + OAuth2), path validation
  tools/
    vps.ts              VPS management (9 tools)
    cloud.ts            Public Cloud projects & instances (8 tools)
    domain.ts           Domains and DNS (8 tools)
    raw.ts              Raw API calls (1 tool)
    account.ts          Account and billing (4 tools)
    explorer.ts         API spec search and discovery (3 tools)
    ssh.ts              Remote command execution (2 tools)
tests/
  ovh-client.test.ts    Path validation and client tests
  cloud.test.ts         Public Cloud tool tests

Tech Stack

  • TypeScript
  • @modelcontextprotocol/sdk
  • Zod (schema validation)
  • ssh2 (SSH client)
  • Native fetch

API Reference

License

MIT

About

MCP server for OVHcloud (www.ovhcloud.com) — VPS, domains, DNS, billing, SSH, API explorer (27 tools)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages