mcp-server-ovh
Integration with OVH Nutanix services, allowing management of Nutanix clusters.
Integration with OVH cloud services, providing tools to manage dedicated servers, VPS, cloud projects, billing, IP addresses, load balancers, SSL certificates, DBaaS Logs, and more.
Integration with OVH Veeam Cloud Connect, allowing management of backup and disaster recovery services.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-ovh list my dedicated servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server OVH
A Model Context Protocol (MCP) server that provides standardized access to OVH API services. This server enables AI assistants and applications to interact with OVH's cloud infrastructure through a unified, secure interface.
π¨βπ» Author & Company
Author: Isaac Campos MesΓ©n Company: RunIT Solutions Repository: GitHub - runitsolutions/mcp-server-ovh
Related MCP server: RL-MCP
β Project Status
Status: π’ FULLY OPERATIONAL & TESTED
β Build: TypeScript compilation successful
β Runtime: Server starts without errors
β Schema Validation: Input validation working correctly
β MCP Integration: Compatible with MCP clients
β CommonJS: Uses
require()for module loadingβ TypeScript: Full type safety with proper declarations
β API Endpoints Verified: All endpoints tested against OVH Console
β Documentation Updated: README reflects verified endpoints
π Endpoints Verification Results
Last Verified: $(date) OVH Console: https://eu.api.ovh.com/console/
β WORKING ENDPOINTS (17/17 tested - 100% SUCCESS):
/me- User information β/me/bill- Billing information β/me/payment/method- Payment methods β/service- Services list β/services- Services list (plural) β/dedicated/server- Dedicated servers β/vps- VPS instances β/me/order- Orders β/me/api/application- API applications β/cloud/project- Cloud projects β/ip- IP addresses β/ipLoadbalancing- Load balancers β/dedicatedCloud- Dedicated Cloud β/metrics- Metrics β/license/windows- Windows licenses β/dbaas/logs- DBaaS Logs β/ssl- SSL certificates β/vrack- vRack β/veeamCloudConnect- Veeam Cloud Connect β/nutanix- Nutanix β
β ENDPOINTS REQUIRING PERMISSIONS:
/me/services- Requires specific API permissions/domain- Requires domain management permissions/me/api/logs- Requires audit log permissions/hosting/web- Requires web hosting permissions/email/domain- Requires email permissions/sms- Requires SMS permissions
Features
π Secure Authentication: Support for both API key and OAuth2 authentication methods
π οΈ Standardized Tools: Clean MCP tool interfaces for common OVH operations
β Input Validation: Robust validation using Zod schemas
π Modern API: Built with the latest MCP SDK following best practices
π TypeScript: Full TypeScript support with strict type checking
π§ͺ Well Tested: Comprehensive test suite with Jest
π Well Documented: Complete documentation and examples
Installation
Prerequisites
Node.js 18.x or higher
npm or yarn
OVH API credentials (see Setup section)
Install from npm
npm install mcp-server-ovhBuild from source
git clone https://github.com/runitsolutions/mcp-server-ovh.git
cd mcp-server-ovh
npm install
npm run buildSetup
OVH API Credentials
You need to obtain API credentials from OVH. There are two authentication methods:
Method 1: API Keys (Recommended)
Go to OVH Manager
Navigate to API Keys section
Create a new application key
Note down your
App Key,App Secret, andConsumer Key
Method 2: OAuth2
Register your application in OVH's OAuth2 system
Obtain your
Client IDandClient Secret
Configuration
Create a .env file in your project root:
# For API Key authentication
OVH_ENDPOINT=ovh-eu
OVH_APP_KEY=your_app_key_here
OVH_APP_SECRET=your_app_secret_here
OVH_CONSUMER_KEY=your_consumer_key_here
# For OAuth2 authentication (alternative)
OVH_CLIENT_ID=your_client_id_here
OVH_CLIENT_SECRET=your_client_secret_hereUsage
As an MCP Server
The server communicates via stdio and can be used with any MCP-compatible client.
Direct execution
npm startUsing with MCP clients
The server is designed to work with MCP-compatible clients like Claude Desktop or other AI assistants that support the Model Context Protocol.
Available Tools
1. Initialize OVH Client
Initialize the OVH API client with your credentials.
{
"name": "ovh_initialize_client",
"arguments": {
"endpoint": "ovh-eu",
"appKey": "your_app_key",
"appSecret": "your_app_secret",
"consumerKey": "your_consumer_key"
}
}2. Initialize OAuth2 Client
Initialize with OAuth2 credentials.
{
"name": "ovh_oauth2_initialize",
"arguments": {
"endpoint": "ovh-eu",
"clientID": "your_client_id",
"clientSecret": "your_client_secret"
}
}3. Make API Request
Make a custom request to any OVH API endpoint.
{
"name": "ovh_request",
"arguments": {
"method": "GET",
"path": "/me",
"data": {} // Optional data for POST/PUT requests
}
}4. Get User Information
Get information about the authenticated user.
{
"name": "ovh_get_user_info",
"arguments": {}
}5. Get User Bills
Retrieve billing information.
{
"name": "ovh_get_bills",
"arguments": {}
}6. Get User Services
List all services associated with the account.
{
"name": "ovh_get_services",
"arguments": {}
}7. Get Payment Methods
Retrieve available payment methods for the account.
{
"name": "ovh_get_payment_methods",
"arguments": {}
}8. Get Orders
List all orders placed with OVH.
{
"name": "ovh_get_orders",
"arguments": {}
}9. Get Cloud Projects
List all cloud projects associated with the account.
{
"name": "ovh_get_cloud_projects",
"arguments": {}
}10. Get Dedicated Servers
List all dedicated servers in the account.
{
"name": "ovh_get_dedicated_servers",
"arguments": {}
}11. Get VPS Instances
List all VPS instances in the account.
{
"name": "ovh_get_vps",
"arguments": {}
}12. Get IP Addresses
List all IP addresses associated with the account.
{
"name": "ovh_get_ips",
"arguments": {}
}13. Get vRack Information
Get vRack network information.
{
"name": "ovh_get_vrack",
"arguments": {}
}14. Get Load Balancers
List all load balancers in the account.
{
"name": "ovh_get_load_balancers",
"arguments": {}
}15. Get SSL Certificates
List all SSL certificates.
{
"name": "ovh_get_ssl_certificates",
"arguments": {}
}16. Get DBaaS Logs Services
List all DBaaS Logs services.
{
"name": "ovh_get_dbaas_logs",
"arguments": {}
}π οΈ IDE Integration
This MCP server can be integrated with various IDEs and editors that support the Model Context Protocol. Below are the instructions for popular IDEs.
Cursor Integration
Cursor supports MCP servers through the Model Context Protocol. You can add this OVH MCP server to your Cursor configuration.
Option 1: Project Configuration
Create a .cursor/mcp.json file in your project root:
{
"mcpServers": {
"ovh-api": {
"command": "npx",
"args": ["mcp-server-ovh"],
"env": {
"OVH_ENDPOINT": "ovh-eu",
"OVH_APP_KEY": "your_app_key_here",
"OVH_APP_SECRET": "your_app_secret_here",
"OVH_CONSUMER_KEY": "your_consumer_key_here"
}
}
}
}Option 2: Global Configuration
Create a ~/.cursor/mcp.json file for system-wide access:
{
"mcpServers": {
"ovh-api": {
"command": "npx",
"args": ["mcp-server-ovh"],
"env": {
"OVH_ENDPOINT": "ovh-eu",
"OVH_APP_KEY": "your_app_key_here",
"OVH_APP_SECRET": "your_app_secret_here",
"OVH_CONSUMER_KEY": "your_consumer_key_here"
}
}
}
}Other IDEs
VS Code with MCP Extension
If you're using VS Code with an MCP extension:
Install the MCP extension for VS Code
Configure the server in your MCP settings:
{
"server": "ovh-api",
"command": "npx",
"args": ["mcp-server-ovh"],
"env": {
"OVH_ENDPOINT": "ovh-eu",
"OVH_APP_KEY": "your_app_key_here",
"OVH_APP_SECRET": "your_app_secret_here",
"OVH_CONSUMER_KEY": "your_consumer_key_here"
}
}Other MCP-Compatible IDEs
For other IDEs that support MCP:
Ensure your IDE supports the Model Context Protocol
Configure the server using the command:
npx mcp-server-ovhSet the required environment variables for OVH authentication
Authentication Setup
Before using the MCP server, you need to set up OVH API credentials:
# Set environment variables
export OVH_ENDPOINT="ovh-eu"
export OVH_APP_KEY="your_app_key"
export OVH_APP_SECRET="your_app_secret"
export OVH_CONSUMER_KEY="your_consumer_key"Or create a .env file in your project directory:
OVH_ENDPOINT=ovh-eu
OVH_APP_KEY=your_app_key_here
OVH_APP_SECRET=your_app_secret_here
OVH_CONSUMER_KEY=your_consumer_key_hereUsage in IDE
Once configured, you can use the OVH MCP server in your IDE by:
Asking for OVH information: "What services do I have in OVH?"
Checking account details: "Show my OVH account information"
Billing inquiries: "What are my recent OVH bills?"
Service management: "List all my OVH services"
The AI assistant will automatically use the available OVH tools when relevant to your questions.
Development
Project Structure
src/
βββ index.ts # Main server implementation
βββ types/
β βββ ovh.d.ts # OVH API type definitions
βββ __tests__/ # Test files
βββ server.test.ts # Server functionality tests
βββ validation.test.ts # Input validation testsDevelopment Commands
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode (watch mode)
npm run dev
# Run linter
npm run lint
# Fix linting issues
npm run lint:fix
# Run tests (organized by type)
npm test # All tests
npm run test:unit # Unit tests
npm run test:integration # Integration tests
npm run test:e2e # End-to-end tests
# Specific tests
npm run test:endpoints # Verify OVH endpoints
npm run test:server # MCP server tests
npm run test:client # MCP client tests
npm run test:full # Complete integration tests
# Coverage and watch mode
npm run test:coverage # Tests with coverage report
npm run test:watch # Tests in watch mode
# Clean build artifacts
npm run cleanTesting Structure
The test suite is organized in 4 levels:
π tests/unit/ - Unit Tests
Zod schema validation
MCP server functions
Error handling
Response parsing
π tests/integration/ - Integration Tests
OVH API connectivity
Endpoint verification (17/17 β )
Client-server communication
Authentication
π tests/e2e/ - End-to-End Tests
Complete initialization flow
Full MCP communication
Real tool calls
Response handling
π tests/utils/ - Utilities
Test configuration
Common helpers
Mock clients
Run Tests
# All organized tests
npm test # Complete suite
npm run test:unit # Unit tests only
npm run test:integration # Integration tests only
npm run test:e2e # End-to-end tests only
# Tests by specific functionality
npm run test:endpoints # Verify 17 OVH endpoints
npm run test:server # Server functionality
npm run test:client # MCP client
npm run test:full # Complete integration
# With coverage and watch
npm run test:coverage # Coverage report
npm run test:watch # Watch modeCode Quality
This project follows strict code quality standards:
ESLint: Configured with TypeScript rules
Prettier: Code formatting (can be added if needed)
Jest: Comprehensive test suite
TypeScript: Strict mode enabled
Pre-commit hooks: Quality checks before commits
API Reference
Supported Endpoints
The server provides access to OVH's REST API endpoints through both dedicated tools and generic requests:
β Verified Working Endpoints:
/me- User account information/me/bill- Billing information/me/payment/method- Payment methods/me/order- Order history/me/api/application- API applications/service- Service listings/services- Service listings (plural)/cloud/project- Cloud projects/dedicated/server- Dedicated servers/vps- VPS instances/ip- IP addresses/ipLoadbalancing- Load balancers/dedicatedCloud- Dedicated Cloud/metrics- Metrics services/license/windows- Windows licenses/dbaas/logs- DBaaS Logs services/ssl- SSL certificates/vrack- vRack network/veeamCloudConnect- Veeam Cloud Connect/nutanix- Nutanix services
π§ Generic Endpoint Access:
Any OVH API endpoint via the
ovh_requesttoolFull OVH API compatibility through the console: https://eu.api.ovh.com/console/
π Endpoints Requiring Specific Permissions:
/me/services- Requires additional API permissions/domain- Requires domain management permissions/hosting/web- Requires web hosting permissions/email/domain- Requires email permissions/sms- Requires SMS permissions
Error Handling
The server provides clear error messages for:
Authentication failures
Invalid input validation
API rate limits
Network connectivity issues
Invalid API responses
Rate Limiting
Be aware of OVH API rate limits. The server includes error handling for rate limit scenarios but doesn't implement automatic retry logic.
Contributing
Contributions are welcome! Please follow these steps:
Fork the repository
Create a feature branch:
git checkout -b feature/amazing-featureCommit your changes:
git commit -m 'Add amazing feature'Push to the branch:
git push origin feature/amazing-featureOpen a Pull Request
Development Guidelines
Follow the existing code style
Add tests for new features
Update documentation as needed
Ensure all tests pass before submitting PR
Use conventional commit messages
Security
Never commit API credentials to version control
Use environment variables for sensitive data
The server validates all inputs to prevent injection attacks
API keys are stored securely and not logged
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
π Report Issues
π¬ Discussions
Related Projects
Model Context Protocol - The protocol this server implements
OVH API - OVH's official API documentation
MCP SDK - The SDK used to build this server
GitHub Repository - Source code and issues
π§ Troubleshooting
Common Issues
Authentication Problems
Error: "OVH client not initialized"
Solution: Ensure all required environment variables are set
Check: Verify your API credentials are correct and have proper permissions
Connection Issues
Error: Network timeout or connection failed
Solution: Check your internet connection and OVH endpoint configuration
Check: Verify the OVH_ENDPOINT matches your account region
Permission Errors
Error: API access denied
Solution: Ensure your API keys have the necessary permissions
Check: Review OVH Manager API key permissions
Debug Mode
Enable debug logging by setting the environment variable:
export DEBUG=mcp-server-ovhLogs
View MCP server logs in your IDE:
Open the Output panel (usually Ctrl+Shift+U)
Select "MCP Logs" from the dropdown
Check for connection errors, authentication issues, or server crashes
π Examples
Basic Usage
// In your MCP-compatible IDE
// Ask: "What OVH services do I have?"
// The AI will automatically use the ovh_get_services tool
// Ask: "Show my OVH account information"
// The AI will use the ovh_get_user_info tool
// Ask: "What are my recent OVH bills?"
// The AI will use the ovh_get_bills toolAdvanced Integration
// Custom API calls
// Ask: "Make a custom API call to /me/service/domain.example.com"
// The AI will use the ovh_request tool with appropriate parametersπ Support
π Report Issues
π¬ Discussions
π’ RunIT Solutions
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by RunIT Solutions using the Model Context Protocol
Available Tools
16 toolsovh_get_billsB
Get user bills
Inputs: no named parameters.
ovh_get_cloud_projectsC
Get cloud projects
Inputs: no named parameters.
ovh_get_dbaas_logsC
Get DBaaS Logs services
Inputs: no named parameters.
ovh_get_dedicated_serversB
Get dedicated servers
Inputs: no named parameters.
ovh_get_ipsC
Get IP addresses
Inputs: no named parameters.
ovh_get_load_balancersC
Get load balancers
Inputs: no named parameters.
ovh_get_ordersC
Get user orders
Inputs: no named parameters.
ovh_get_payment_methodsC
Get user payment methods
Inputs: no named parameters.
ovh_get_servicesC
Get user services
Inputs: no named parameters.
ovh_get_ssl_certificatesC
Get SSL certificates
Inputs: no named parameters.
ovh_get_user_infoB
Get current user information
Inputs: no named parameters.
ovh_get_vpsC
Get VPS instances
Inputs: no named parameters.
ovh_get_vrackA
Get vRack information
Inputs: no named parameters.
ovh_initialize_clientB
Initialize OVH API client with credentials
Inputs: appKey (required), endpoint (required), appSecret (required), consumerKey (required).
ovh_oauth2_initializeC
Initialize OVH API client with OAuth2 credentials
Inputs: clientID (required), endpoint (required), clientSecret (required).
ovh_requestC
Make a request to OVH API
Inputs: path (required), method (required), data.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 16 tools
Most tools target distinct resources (bills, cloud projects, etc.) and are clearly differentiated. However, the generic `ovh_request` tool overlaps with all specific get tools, causing potential confusion for an agent in choosing between them.
All tools follow a consistent `ovh_` prefix. Get tools consistently use `ovh_get_<resource>`, while initialization and request tools use other verbs but still follow the same prefix and underscore pattern, making the naming predictable.
With 16 tools, the server covers a broad set of OVH resources without being overwhelming. This count is well-suited for an API wrapper, providing focused functionality for common operations.
The tool set is heavily skewed toward read-only operations (all get tools) and lacks any specialized write tools (create, update, delete). The generic `ovh_request` tool can fill some gaps but is not a substitute for dedicated CRUD tools. This leaves significant gaps in the expected lifecycle coverage.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Google Cloud Platform environments through natural language, allowing users to query and manage GCP resources during conversations.91,773 npm200MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.2-
- FlicenseBqualityDmaintenanceA Model Context Protocol server implementation that can be run directly or through Docker, enabling AI assistants to interact with external systems through the MCP standard.2-
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that connects AI assistants with the Kernel platform, enabling them to deploy applications, automate web browsers, and manage cloud resources.39MIT