OVH API MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add ovh-api-mcp -- docker run -d --name ovh-api -e OVH_APPLICATION_KEY=your_app_key -e OVH_APPLICATION_SECRET=your_app_secret -e OVH_CONSUMER_KEY=your_consumer_key -p 3104:3104 ghcr.io/davidlandais/ovh-api-mcp:latest
README.md

Native MCP server that gives LLMs full access to the OVH API (v1 and v2).

ovh-api-mcp

A native Model Context Protocol (MCP) server that gives LLMs full access to the OVH API (v1 and v2). Built in Rust for minimal footprint (~19 MB Docker image, ~1.2 MiB RAM).

Early Release — Designed for local development use. Security hardening has been applied (sandboxed execution, spec validation, secret protection), but the server has not been battle-tested at scale. Do not expose it to the public internet. Feedback and bug reports are welcome.

How it works

The server exposes two MCP tools:

Tool Description
search Explore the OVH OpenAPI spec using JavaScript — find endpoints, inspect schemas, read parameters
execute Call any OVH API endpoint using JavaScript — authentication is handled transparently

The LLM writes JavaScript that runs inside a sandboxed QuickJS engine with resource limits (memory, CPU timeout, stack size). Every API call is validated against the loaded OpenAPI spec before execution.

The server supports two transport modes:

  • HTTP (Streamable HTTP) — for web-based clients and Docker deployments
  • stdio — for direct integration with Claude Desktop, Cursor, and MCP inspectors

OVH credentials are optional at startup: the server starts and exposes its tools even without API keys. Tools return a clear error when called without credentials.

Quick start

With stdio (Claude Desktop / Cursor)

Add to your MCP client configuration:

{
  "mcpServers": {
    "ovh-api": {
      "command": "ovh-api-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "OVH_APPLICATION_KEY": "your_app_key",
        "OVH_APPLICATION_SECRET": "your_app_secret",
        "OVH_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

With Docker

docker run -d --name ovh-api \
  -e OVH_APPLICATION_KEY=your_app_key \
  -e OVH_APPLICATION_SECRET=your_app_secret \
  -e OVH_CONSUMER_KEY=your_consumer_key \
  -p 3104:3104 \
  ghcr.io/davidlandais/ovh-api-mcp:latest

From source

cargo install --git https://github.com/davidlandais/ovh-api-mcp

export OVH_APPLICATION_KEY=your_app_key
export OVH_APPLICATION_SECRET=your_app_secret
export OVH_CONSUMER_KEY=your_consumer_key

ovh-api-mcp --port 3104

Pre-built binaries

Download from GitHub Releases — available for macOS (x86_64, aarch64) and Linux (x86_64 musl).

Claude Code configuration (HTTP mode)

{
  "mcpServers": {
    "ovh-api": {
      "type": "http",
      "url": "http://localhost:3104/mcp",
      "headers": {
        "Authorization": "Bearer local"
      }
    }
  }
}

The Authorization header is required to bypass Claude Code's OAuth discovery. See claude-code#2831.

OVH credentials

You need three values: an application key, an application secret, and a consumer key.

Go to the token creation page for your region, log in with your OVH account, set the permissions and validity, and you'll get all three keys at once:

Region URL
Europe https://auth.eu.ovhcloud.com/api/createToken
Canada https://auth.ca.ovhcloud.com/api/createToken
US https://auth.us.ovhcloud.com/api/createToken

For full API access, set all four methods (GET, POST, PUT, DELETE) with path /*.

OAuth2 authentication (service accounts)

As an alternative to API keys, you can use OVH service accounts with OAuth2 client credentials:

Variable Description
OVH_CLIENT_ID Service account ID
OVH_CLIENT_SECRET Service account secret

Service accounts are created via the OVH API (POST /me/api/oauth2/client with flow: CLIENT_CREDENTIALS). You must then create an IAM policy (POST /v2/iam/policy) to grant API permissions to the service account. See the OVHcloud documentation for details.

The server auto-detects the auth mode from environment variables. Do not set both API keys and OAuth2 credentials at the same time.

CLI options

Options:
  --transport <TRANSPORT>        Transport mode: http, stdio [env: OVH_TRANSPORT] [default: http]
  -

Tools (2)

searchExplore the OVH OpenAPI spec using JavaScript to find endpoints, inspect schemas, and read parameters.
executeCall any OVH API endpoint using JavaScript with transparent authentication.

Environment Variables

OVH_APPLICATION_KEYOVH API application key
OVH_APPLICATION_SECRETOVH API application secret
OVH_CONSUMER_KEYOVH API consumer key
OVH_CLIENT_IDService account ID for OAuth2 authentication
OVH_CLIENT_SECRETService account secret for OAuth2 authentication

Configuration

claude_desktop_config.json
{"mcpServers": {"ovh-api": {"command": "ovh-api-mcp", "args": ["--transport", "stdio"], "env": {"OVH_APPLICATION_KEY": "your_app_key", "OVH_APPLICATION_SECRET": "your_app_secret", "OVH_CONSUMER_KEY": "your_consumer_key"}}}}

Try it

Search the OVH API documentation to find the endpoint for listing my current cloud instances.
Execute a GET request to retrieve the details of my OVH dedicated server with ID 'ns12345'.
Find the parameters required to create a new snapshot for my VPS instance.
List all available OVH API endpoints related to domain management.

Frequently Asked Questions

What are the key features of OVH API?

Full access to OVH API v1 and v2. Sandboxed JavaScript execution for API calls. Automatic OpenAPI spec validation for every request. Support for both API keys and OAuth2 service accounts. Dual transport support via stdio and HTTP.

What can I use OVH API for?

Automating infrastructure management tasks via natural language prompts. Querying cloud resource status and configurations without manual API documentation lookups. Developing custom scripts to interact with OVH services in a secure, sandboxed environment. Integrating OVH cloud operations directly into Claude Desktop or Cursor workflows.

How do I install OVH API?

Install OVH API by running: ovh-api-mcp

What MCP clients work with OVH API?

OVH API works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep OVH API docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare