Token导航 LogoToken导航TokenDH.com
Ovh API MCP logo
运维云端stdio官方级别未说明来源级核验

Ovh API MCP

MCP Server

一个原生Model Context Protocol (MCP)服务器,为LLM提供对OVH API (v1和v2)的完全访问权限,支持HTTP和stdio两种传输模式。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
API集成RustClaudeLLM工具Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

davidlandais

提供方

davidlandais

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d --name ovh-api \

详细介绍

ovh-api mcp

![CI](https://github.com/davidlandais/ovh-api-mcp/actions/workflows/ci.yml) ![License: MIT](LICENSE) ![Rust](https://www.rust-lang.org/) ![MCP](https://modelcontextprotocol.io/) ![Status](#status)

本地人 模型上下文协议(MCP) 允许LLM完全访问的服务器 OVH API(v1和v2)内置Rust,占用空间最小(~19 MB Docker镜像,~1.2 MiB RAM)。

提前释放 --专为 地方开发利用已应用安全强化(沙盒执行、规范验证、秘密保护),但服务器尚未进行大规模的战斗测试。不要把它暴露在公共互联网上。欢迎反馈和错误报告。

运作原理

服务器公开了两个MCP工具:

工具说明
search使用JavaScript探索OVH OpenAPI规范——查找端点、检查模式、读取参数
execute使用JavaScript调用任何OVH API端点-身份验证是透明处理的

LLM编写在内部运行的JavaScript 沙盒QuickJS引擎 具有资源限制(内存、CPU超时、堆栈大小)。每个API调用在执行之前都会根据加载的OpenAPI规范进行验证。

服务器支持两种传输模式:

  • 超文本传输协议 (流式HTTP)-用于基于web的客户端和Docker部署
  • 标准 --用于与Claude Desktop、Cursor和MCP检查器直接集成

OVH凭据在启动时是可选的:即使没有API密钥,服务器也会启动并公开其工具。在没有凭据的情况下调用工具时,会返回一个明确的错误。

快速启动

带stdio(克劳德桌面/光标)

添加到MCP客户端配置中:

{
  "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"
      }
    }
  }
}

使用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

来源

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

预构建二进制文件

下载自 --适用于macOS(x86_64,aarch64)和Linux(x86_14 musl)。

Claude代码配置(HTTP模式)

{
  "mcpServers": {
    "ovh-api": {
      "type": "http",
      "url": "http://localhost:3104/mcp",
      "headers": {
        "Authorization": "Bearer local"
      }
    }
  }
}
Authorization 需要使用header来绕过Claude Code的OAuth发现。看 克劳德代码#2831.

OVH证书

你需要三个值:a 应用键应用程序机密和a 消费者密钥.

转到您所在地区的令牌创建页面,使用您的OVH帐户登录,设置权限和有效性,您将一次获得所有三个密钥:

区域URL
欧洲https://auth.eu.ovhcloud.com/api/createToken
加拿大https://auth.ca.ovhcloud.com/api/createToken
我们https://auth.us.ovhcloud.com/api/createToken

对于API的完全访问,请设置所有四种方法(GET, POST, PUT, DELETE)与路径 /*.

OAuth2身份验证(服务帐户)

作为API密钥的替代方案,您可以使用具有OAuth2客户端凭据的OVH服务帐户:

变量描述
OVH_CLIENT_ID服务帐户ID
OVH_CLIENT_SECRET服务帐户机密

通过OVH API创建服务帐户(POST /me/api/oauth2/client 随着 flow: CLIENT_CREDENTIALS).然后,您必须创建IAM策略(POST /v2/iam/policy)向服务帐户授予API权限。请参阅 OVHcloud文档 了解详情。

服务器从环境变量中自动检测身份验证模式。不要同时设置API密钥和OAuth2凭据。

CLI选项

Options:
  --transport         Transport mode: http, stdio [env: OVH_TRANSPORT] [default: http]
  --port 
                  Port to listen on [env: PORT] [default: 3104]
  --host                   Host to bind to [default: 127.0.0.1]
  --endpoint           OVH API endpoint: eu, ca, us [env: OVH_ENDPOINT] [default: eu]
  --app-key             OVH application key [env: OVH_APPLICATION_KEY]
  --app-secret       OVH application secret [env: OVH_APPLICATION_SECRET]
  --consumer-key   OVH consumer key [env: OVH_CONSUMER_KEY]
  --client-id         OVH OAuth2 client ID [env: OVH_CLIENT_ID]
  --client-secret  OVH OAuth2 client secret [env: OVH_CLIENT_SECRET]
  --services           Services to load, comma-separated or "*" [env: OVH_SERVICES] [default: *]
  --cache-dir 
             Directory to cache the merged spec [env: OVH_CACHE_DIR]
  --cache-ttl           Cache TTL in seconds, 0 to disable [env: OVH_CACHE_TTL] [default: 86400]
  --no-cache                     Disable spec caching entirely
  --max-code-size         Maximum code input size [env: OVH_MAX_CODE_SIZE] [default: 1048576]

使用示例

连接后,LLM可以使用以下工具:

搜索DNS终结点:

// search tool
(spec) => {
  const results = [];
  for (const [path, methods] of Object.entries(spec.paths)) {
    if (path.includes("/domain/zone")) {
      for (const [method, op] of Object.entries(methods)) {
        results.push({ method: method.toUpperCase(), path, summary: op.summary });
      }
    }
  }
  return results;
}

列出您的域区域:

// execute tool
async () => await ovh.request({ method: "GET", path: "/v1/domain/zone" })

获取域的DNS记录:

// execute tool
async () => {
  const records = await ovh.request({
    method: "GET",
    path: "/v1/domain/zone/example.com/record"
  });
  const details = [];
  for (const id of records.slice(0, 10)) {
    details.push(await ovh.request({
      method: "GET",
      path: `/v1/domain/zone/example.com/record/${id}`
    }));
  }
  return details;
}

安全

  • 沙盒执行 --JavaScript在QuickJS中运行,具有内存限制(64 MiB)、堆栈限制(1 MiB)和执行超时(搜索10秒,执行30秒)
  • 规范验证的API调用 --每一个 ovh.request() 调用与加载的OpenAPI规范相匹配;拒绝未知端点或错误的HTTP方法
  • 路径注射预防 -API路径包含 ?, #,或 .. 被拒绝
  • 秘密保护app_secretconsumer_key 使用以下方式存储 secrecy (跌落时归零)
  • 无HTTP重定向 --防止凭据泄漏到第三方域
  • 非根容器 --Docker镜像以无特权用户身份运行

建筑

src/
  main.rs      CLI, logging, transport selection (HTTP/stdio), graceful shutdown
  tools.rs     MCP tool definitions (search, execute) via rmcp macros
  sandbox.rs   QuickJS sandboxed JS execution with resource limits
  auth.rs      OVH API client with signature, clock sync, request handling
  spec.rs      OpenAPI spec fetching, caching, merging, and path validation
  types.rs     Input types for MCP tool parameters

许可证

麻省理工学院 -大卫·兰代斯

目录标签

目录标签

API集成RustClaudeLLM工具本地部署Rust开发沙盒执行OpenAPI规范

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP