MCP server for the OVH API — explore and execute any OVH endpoint from Claude, Cursor, or any MCP-compatible LLM client. Built in Rust.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add ovh-api --env OVH_APPLICATION_KEY='<OVH_APPLICATION_KEY>' --env OVH_APPLICATION_SECRET='<OVH_APPLICATION_SECRET>' --env OVH_CONSUMER_KEY='<OVH_CONSUMER_KEY>' --env OVH_CLIENT_SECRET='<OVH_CLIENT_SECRET>' -- docker run -i --rm -e OVH_APPLICATION_KEY -e OVH_APPLICATION_SECRET -e OVH_CONSUMER_KEY -e OVH_CLIENT_SECRET ghcr.io/davidlandais/ovh-api-mcp:0.3.0~/.codex/config.toml
[mcp_servers.ovh-api]
command = "docker"
args = ["run", "-i", "--rm", "-e", "OVH_APPLICATION_KEY", "-e", "OVH_APPLICATION_SECRET", "-e", "OVH_CONSUMER_KEY", "-e", "OVH_CLIENT_SECRET", "ghcr.io/davidlandais/ovh-api-mcp:0.3.0"]
env = { OVH_APPLICATION_KEY = "<OVH_APPLICATION_KEY>", OVH_APPLICATION_SECRET = "<OVH_APPLICATION_SECRET>", OVH_CONSUMER_KEY = "<OVH_CONSUMER_KEY>", OVH_CLIENT_SECRET = "<OVH_CLIENT_SECRET>" }
# codex mcp add ovh-api --env OVH_APPLICATION_KEY='<OVH_APPLICATION_KEY>' --env OVH_APPLICATION_SECRET='<OVH_APPLICATION_SECRET>' --env OVH_CONSUMER_KEY='<OVH_CONSUMER_KEY>' --env OVH_CLIENT_SECRET='<OVH_CLIENT_SECRET>' -- docker run -i --rm -e OVH_APPLICATION_KEY -e OVH_APPLICATION_SECRET -e OVH_CONSUMER_KEY -e OVH_CLIENT_SECRET ghcr.io/davidlandais/ovh-api-mcp:0.3.0~/.cursor/mcp.json
{
"mcpServers": {
"ovh-api": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OVH_APPLICATION_KEY",
"-e",
"OVH_APPLICATION_SECRET",
"-e",
"OVH_CONSUMER_KEY",
"-e",
"OVH_CLIENT_SECRET",
"ghcr.io/davidlandais/ovh-api-mcp:0.3.0"
],
"env": {
"OVH_APPLICATION_KEY": "<OVH_APPLICATION_KEY>",
"OVH_APPLICATION_SECRET": "<OVH_APPLICATION_SECRET>",
"OVH_CONSUMER_KEY": "<OVH_CONSUMER_KEY>",
"OVH_CLIENT_SECRET": "<OVH_CLIENT_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"ovh-api": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OVH_APPLICATION_KEY",
"-e",
"OVH_APPLICATION_SECRET",
"-e",
"OVH_CONSUMER_KEY",
"-e",
"OVH_CLIENT_SECRET",
"ghcr.io/davidlandais/ovh-api-mcp:0.3.0"
],
"env": {
"OVH_APPLICATION_KEY": "<OVH_APPLICATION_KEY>",
"OVH_APPLICATION_SECRET": "<OVH_APPLICATION_SECRET>",
"OVH_CONSUMER_KEY": "<OVH_CONSUMER_KEY>",
"OVH_CLIENT_SECRET": "<OVH_CLIENT_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"ovh-api": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OVH_APPLICATION_KEY",
"-e",
"OVH_APPLICATION_SECRET",
"-e",
"OVH_CONSUMER_KEY",
"-e",
"OVH_CLIENT_SECRET",
"ghcr.io/davidlandais/ovh-api-mcp:0.3.0"
],
"env": {
"OVH_APPLICATION_KEY": "<OVH_APPLICATION_KEY>",
"OVH_APPLICATION_SECRET": "<OVH_APPLICATION_SECRET>",
"OVH_CONSUMER_KEY": "<OVH_CONSUMER_KEY>",
"OVH_CLIENT_SECRET": "<OVH_CLIENT_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"ovh-api": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OVH_APPLICATION_KEY",
"-e",
"OVH_APPLICATION_SECRET",
"-e",
"OVH_CONSUMER_KEY",
"-e",
"OVH_CLIENT_SECRET",
"ghcr.io/davidlandais/ovh-api-mcp:0.3.0"
],
"env": {
"OVH_APPLICATION_KEY": "<OVH_APPLICATION_KEY>",
"OVH_APPLICATION_SECRET": "<OVH_APPLICATION_SECRET>",
"OVH_CONSUMER_KEY": "<OVH_CONSUMER_KEY>",
"OVH_CLIENT_SECRET": "<OVH_CLIENT_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"ovh-api": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OVH_APPLICATION_KEY",
"-e",
"OVH_APPLICATION_SECRET",
"-e",
"OVH_CONSUMER_KEY",
"-e",
"OVH_CLIENT_SECRET",
"ghcr.io/davidlandais/ovh-api-mcp:0.3.0"
],
"env": {
"OVH_APPLICATION_KEY": "<OVH_APPLICATION_KEY>",
"OVH_APPLICATION_SECRET": "<OVH_APPLICATION_SECRET>",
"OVH_CONSUMER_KEY": "<OVH_CONSUMER_KEY>",
"OVH_CLIENT_SECRET": "<OVH_CLIENT_SECRET>"
}
}
}
}Environment variables
OVH_APPLICATION_KEYOVH_APPLICATION_SECRETOVH_CONSUMER_KEYOVH_CLIENT_SECRET
Replace the placeholders with your own credentials and keep them out of version control.