API密钥代理服务

Tavily MCP的轻量级代理服务,通过轮换API密钥实现请求分发,适用于需要管理多个API密钥的场景。

  • by 657kbps
  • TypeScript
  • 本地部署
  • 36 星标
  • 更新于
在 GitHub 查看 kuyermqi/tavily-proxy

使用说明

tavily代理

Tavily MCP的轻量级代理。它从旋转API键 keys.json,因此仅限客户 配置代理URL,不发送 tavilyApiKey.

快速开始

npm install

编辑 keys.json 并添加多个Tavily API密钥:

["key_1", "key_2", "key_3"]

启动服务:

npm run build
npm run start

客户端配置:

{
  "mcpServers": {
    "tavily": {
      "url": "http://localhost:8787"
    }
  }
}

备注

  • keys.json 是API键的JSON数组。
  • 循环选择:每个请求使用下一个键。
  • keys.json 观察变化;重新加载会将键索引重置为0。
  • 如果客户端使用根路径 /,它将转发到默认值 /mcp/ 路径。
  • 始终启用并编辑请求日志记录 tavilyApiKey.
  • 重试在身份验证/速率限制错误或可重试的服务器错误时使用下一个键(非幂等方法仅在身份验证或速率限制时重试)。

可选环境变量

  • PORT:侦听端口(默认 8787).
  • KEYS_FILE:密钥文件路径(默认 ./keys.json).
  • TAVILY_MCP_BASE_URL:上游MCP URL(默认 https://mcp.tavily.com/mcp/).
  • MAX_BODY_BYTES:最大请求正文大小(以字节为单位)(默认值 1048576).
  • MAX_ERROR_BODY_BYTES:最大缓冲错误体大小(以字节为单位)(默认值 262144).

Docker部署

使用Docker构建和运行:

docker build -t tavily-proxy .
docker run --rm -p 8787:8787 -v "$(pwd)":/data:ro -e KEYS_FILE=/data/keys.json tavily-proxy

使用Docker Compose构建和运行:

docker compose up --build

编辑后 keys.json,该服务会自动重新加载密钥。