MCP服务器OVH
  ](https://nodejs.org/)
一种模型上下文协议(MCP)服务器,提供对OVH API服务的标准化访问。该服务器使AI助手和应用程序能够通过统一、安全的接口与OVH的云基础设施进行交互。
特性
- 🔐 安全认证:同时支持API密钥和OAuth2身份验证方法
- 🛠️ 标准化工具:清洁MCP工具接口,用于常见的OVH操作
- ✅ 输入验证:使用Zod模式进行稳健验证
- 🚀 现代API:按照最佳实践使用最新的MCP SDK构建
- 📝 TypeScript:完全支持TypeScript,具有严格的类型检查
- 🧪 测试良好:使用Jest的全面测试套件
- 📚 证据充分的:完整的文档和示例
安装
先决条件
- Node.js 18.x或更高版本
- npm或纱线
- OVH API凭据(请参阅“设置”部分)
从npm安装
npm install mcp-server-ovh从源代码构建
git clone https://github.com/yourusername/mcp-server-ovh.git
cd mcp-server-ovh
npm install
npm run build设置
OVH API证书
您需要从OVH获得API证书。有两种身份验证方法:
方法1:API密钥(推荐)
- 首选 OVH经理
- 导航到API密钥部分
- 创建新的应用程序密钥
- 记下你的
App Key,App Secret,以及Consumer Key
方法2:OAuth2
- 在OVH的OAuth2系统中注册您的应用程序
- 获取您的
Client ID和Client Secret
配置
创建一个 .env 项目根目录中的文件:
# 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_here用法
作为MCP服务器
服务器通过stdio通信,可以与任何兼容MCP的客户端一起使用。
直接执行
npm start与MCP客户端一起使用
该服务器旨在与MCP兼容的客户端(如Claude Desktop或支持模型上下文协议的其他AI助手)配合使用。
可用工具
1.初始化OVH客户端
使用您的凭据初始化OVH API客户端。
{
"name": "ovh_initialize_client",
"arguments": {
"endpoint": "ovh-eu",
"appKey": "your_app_key",
"appSecret": "your_app_secret",
"consumerKey": "your_consumer_key"
}
}2.初始化OAuth2客户端
使用OAuth2凭据进行初始化。
{
"name": "ovh_oauth2_initialize",
"arguments": {
"endpoint": "ovh-eu",
"clientID": "your_client_id",
"clientSecret": "your_client_secret"
}
}3.提出API请求
向任何OVH API端点发出自定义请求。
{
"name": "ovh_request",
"arguments": {
"method": "GET",
"path": "/me",
"data": {} // Optional data for POST/PUT requests
}
}4.获取用户信息
获取有关已验证用户的信息。
{
"name": "ovh_get_user_info",
"arguments": {}
}5.获取用户账单
检索账单信息。
{
"name": "ovh_get_bills",
"arguments": {}
}6.获取用户服务
列出与该帐户关联的所有服务。
{
"name": "ovh_get_services",
"arguments": {}
}发展
项目结构
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 tests开发命令
# 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
npm test
# Run tests in watch mode
npm run test:watch
# Clean build artifacts
npm run clean测试
该项目包括全面的测试,包括:
- 输入验证模式
- 服务器初始化
- 工具注册
- 错误处理
- API交互(模拟)
# Run all tests
npm test
# Run tests with coverage
npm test -- --coverage
# Run specific test file
npm test -- server.test.ts代码质量
本项目遵循严格的代码质量标准:
- ESLint:配置了TypeScript规则
- 更漂亮:代码格式(如果需要,可以添加)
- 开玩笑:全面的测试套件
- TypeScript:严格模式已启用
- 预提交挂钩:提交前的质量检查
api参考
支持的端点
服务器提供对OVH的REST API端点的访问:
/me-用户帐户信息/me/bill-账单信息/me/service-服务列表- 以及通过通用
ovh_request工具
错误处理
服务器为以下对象提供明确的错误消息:
- 身份验证失败
- 输入验证无效
- API费率限制
- 网络连接问题
- API响应无效
速率限制
注意OVH API费率限制。服务器包括针对速率限制场景的错误处理,但不实现自动重试逻辑。
贡献
欢迎投稿!请按照以下步骤操作:
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 提交您的更改:
git commit -m 'Add amazing feature' - 推到分支:
git push origin feature/amazing-feature - 打开拉取请求
开发指南
- 遵循现有代码样式
- 为新功能添加测试
- 根据需要更新文档
- 在提交PR之前,确保所有测试都通过
- 使用常规提交消息
安全
- 从不将API凭据提交到版本控制
- 对敏感数据使用环境变量
- 服务器验证所有输入以防止注入攻击
- API密钥安全存储,不记录
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
相关项目
______________________________________________________________________
内置于❤️ 使用模型上下文协议
