返回市场
MCP人工智能桥接服务器

MCP人工智能桥接服务器

作者:fakoli4 星标更新:2025-06-18

项目介绍

MCP AI Bridge

一个安全的模型上下文协议(MCP)服务器,用于连接Claude Code与OpenAI和Google Gemini API。

<a href="https://glama.ai/mcp/servers/@fakoli/mcp-ai-bridge"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3158655532,1425528055&fm=3081&app=3081&f=PNG?w=760&h=400" alt="AI Bridge MCP服务器" /> </a>

功能

  • OpenAI集成:访问GPT-4o、GPT-4o Mini、GPT-4 Turbo、GPT-4以及推理模型(o1、o1-mini、o1-pro、o3-mini)
  • Gemini集成:访问Gemini 1.5 Pro、Gemini 1.5 Flash以及具有最新功能的视觉模型
  • 安全特性
    • 增强输入验证:多层验证并进行净化
    • 内容过滤:阻止显式、有害和非法内容
    • 提示注入检测:识别并阻止操纵尝试
    • 速率限制:通过可配置的限制防止API滥用
    • 安全错误处理:不暴露敏感信息
    • API密钥验证:对API密钥进行格式验证
    • 可配置的安全级别:基础、中等和严格模式
  • 强大的错误处理:特定类型的错误带有详细的错误消息
  • 结构化日志记录:基于Winston的日志记录,具有可配置的日志级别
  • 灵活的配置:控制每个请求的温度和模型选择

安装

  1. mcp-ai-bridge目录克隆或复制到您喜欢的位置

  2. 安装依赖项:

cd mcp-ai-bridge
npm install
  1. 使用以下方法之一配置您的API密钥:

    选项A:在您的主目录中使用全局.env文件(推荐)

    • 创建或编辑~/.env文件
    • 添加您的API密钥:
      OPENAI_API_KEY=your_openai_api_key_here
      GOOGLE_AI_API_KEY=your_google_ai_api_key_here
      

    选项B:使用本地.env文件

    • 在mcp-ai-bridge目录中创建一个.env文件:
      cp .env.example .env
      
    • 将您的API密钥添加到此本地.env文件中

    选项C:在Claude Code配置中使用环境变量

    • 直接在Claude Code设置中配置(参见配置部分)

服务器将按以下顺序检查环境变量:

  1. ~/.env(您的主目录)

  2. ./.env(mcp-ai-bridge目录本地)

  3. 系统环境变量

  4. 可选配置变量

    # 日志级别(error, warn, info, debug)
    LOG_LEVEL=info
    
    # 服务器标识
    MCP_SERVER_NAME=AI Bridge
    MCP_SERVER_VERSION=1.0.0
    
    # 安全配置
    SECURITY_LEVEL=moderate              # disabled, basic, moderate, strict
    
    # 内容过滤(细粒度控制)
    BLOCK_EXPLICIT_CONTENT=true         # 主内容过滤开关
    BLOCK_VIOLENCE=true                  # 阻止暴力内容
    BLOCK_ILLEGAL_ACTIVITIES=true       # 阻止非法活动请求
    BLOCK_ADULT_CONTENT=true             # 阻止成人/性内容
    
    # 注入检测(细粒度控制)
    DETECT_PROMPT_INJECTION=true        # 主注入检测开关
    DETECT_SYSTEM_PROMPTS=true           # 检测系统角色注入
    DETECT_INSTRUCTION_OVERRIDE=true     # 检测“忽略指令”尝试
    
    # 输入净化(细粒度控制)
    SANITIZE_INPUT=true                  # 主净化开关
    REMOVE_SCRIPTS=true                  # 移除脚本标签和JS
    LIMIT_REPEATED_CHARS=true            # 通过重复字符限制DoS
    
    # 性能与灵活性
    ENABLE_PATTERN_CACHING=true          # 缓存编译模式以提高速度
    MAX_PROMPT_LENGTH_FOR_DEEP_SCAN=1000 # 跳过长提示的深度扫描
    ALLOW_EDUCATIONAL_CONTENT=false      # 白名单教育内容
    WHITELIST_PATTERNS=                  # 逗号分隔的正则表达式模式以允许
    

在Claude Code中的配置

方法1:使用Claude Code CLI(推荐)

使用交互式的MCP设置向导:

claude mcp add

或者直接添加服务器配置:

claude mcp add-json ai-bridge '{"command": "node", "args": ["/path/to/mcp-ai-bridge/src/index.js"]}'

方法2:手动配置

将以下内容添加到您的Claude Code MCP设置中。配置文件的位置取决于您的环境:

  • Claude Code CLI:使用配置目录中的settings.json(通常位于~/.claude/$CLAUDE_CONFIG_DIR
  • Claude Desktop:使用~/.claude/claude_desktop_config.json

为了兼容Claude Desktop:

{
  "mcpServers": {
    "ai-bridge": {
      "command": "node",
      "args": ["/path/to/mcp-ai-bridge/src/index.js"],
      "env": {
        "OPENAI_API_KEY": "your_openai_api_key",
        "GOOGLE_AI_API_KEY": "your_google_ai_api_key"
      }
    }
  }
}

如果已经配置了.env文件,可以省略env部分:

{
  "mcpServers": {
    "ai-bridge": {
      "command": "node",
      "args": ["/path/to/mcp-ai-bridge/src/index.js"]
    }
  }
}

方法3:从Claude Desktop导入

如果您已经在Claude Desktop中进行了配置,可以导入该配置:

claude mcp add-from-claude-desktop

可用工具

1. ask_openai

查询OpenAI模型时带有完整的验证和安全特性。

参数:

  • prompt(必需):要发送的问题或提示(最大10,000个字符)
  • model(可选):从'gpt-4o'、'gpt-4o-mini'、'gpt-4-turbo'、'gpt-4'、'o1'、'o1-mini'、'o1-pro'、'o3-mini'、'chatgpt-4o-latest'以及其他可用模型中选择(默认:'gpt-4o-mini')
  • temperature(可选):控制随机性(0-2,默认:0.7)

安全特性:

  • 对提示长度和类型的输入验证
  • 温度范围验证
  • 模型验证
  • 速率限制(默认每分钟100次请求)

2. ask_gemini

查询Google Gemini模型时带有完整的验证和安全特性。

参数:

  • prompt(必需):要发送的问题或提示(最大10,000个字符)
  • model(可选):从'gemini-1.5-pro-latest'、'gemini-1.5-pro-002'、'gemini-1.5-pro'、'gemini-1.5-flash-latest'、'gemini-1.5-flash'、'gemini-1.5-flash-002'、'gemini-1.5-flash-8b'、'gemini-1.0-pro-vision-latest'、'gemini-pro-vision'中选择(默认:'gemini-1.5-flash-latest')
  • temperature(可选):控制随机性(0-1,默认:0.7)

安全特性:

  • 对提示长度和类型的输入验证
  • 温度范围验证
  • 模型验证
  • 速率限制(默认每分钟100次请求)

3. server_info

获取全面的服务器状态和配置信息。

返回:

  • 服务器名称和版本
  • 每个服务可用的模型
  • 安全设置(速率限制、验证状态)
  • 每个API的配置状态

使用示例

在Claude Code中,您可以像这样使用这些工具:

mcp__ai-bridge__ask_openai
  prompt: "解释编程中的递归概念"
  model: "gpt-4o"
  temperature: 0.5

mcp__ai-bridge__ask_gemini
  prompt: "Python和JavaScript之间的主要区别是什么?"
  model: "gemini-1.5-flash-latest"

mcp__ai-bridge__server_info

调试MCP服务器

如果您遇到MCP服务器问题,可以使用Claude Code的调试功能:

# 启用MCP调试模式以获得详细的错误信息
claude --mcp-debug

# 检查MCP服务器状态和工具
claude
# 然后使用/mcp斜杠命令查看服务器详情

测试

项目包括全面的单元测试和安全测试。运行测试:

# 运行所有测试(包括安全测试)
npm test

# 在监视模式下运行测试
npm run test:watch

# 运行测试并生成覆盖率报告
npm run test:coverage

测试覆盖率

  • 所有服务器功能的单元测试
  • 输入验证和速率限制的安全测试
  • API交互的集成测试
  • 错误处理测试
  • 基于模拟的测试以避免实际API调用

故障排除

常见问题

  1. "未配置API密钥"错误:确保已将正确的API密钥添加到您的.env文件或Claude Code配置中
  2. "无效的OpenAI API密钥格式"错误:OpenAI密钥必须以'sk-'开头
  3. "超出速率限制"错误:等待速率限制窗口重置(默认:1分钟)
  4. "提示太长"错误:保持提示在10,000个字符以内
  5. 模块未找到错误:在mcp-ai-bridge目录中运行npm install
  6. 权限错误:确保index.js文件具有执行权限
  7. 日志问题:设置LOG_LEVEL环境变量(error, warn, info, debug)

Claude Code特定故障排除

  1. MCP服务器无法加载

    • 使用claude --mcp-debug查看详细的错误消息
    • 使用/mcp斜杠命令检查服务器配置
    • 验证服务器路径正确且可访问
    • 确保安装了Node.js并且在PATH中
  2. 配置问题

    • 使用claude mcp add进行交互式设置
    • 如果使用自定义配置位置,请检查CLAUDE_CONFIG_DIR环境变量
    • 对于超时,配置MCP_TIMEOUTMCP_TOOL_TIMEOUT环境变量
  3. 服务器启动失败

    • 检查服务器进程是否可以独立启动:node /path/to/mcp-ai-bridge/src/index.js
    • 验证所有依赖项是否已安装
    • 检查服务器目录上的文件权限

安全特性

增强的安全保护

  • 多层输入验证:类型、长度和内容验证
  • 内容过滤:阻止显式、暴力、非法和有害内容
  • 提示注入检测:识别并阻止操纵尝试,包括:
    • 指令覆盖尝试(“忽略之前的指令”)
    • 系统角色注入(“system: 作为...”)
    • 模板注入({{system}},<|system|>,[INST])
    • 可疑模式检测
  • 输入净化:移除控制字符、脚本和恶意模式
  • 速率限制:默认每分钟100次请求以防止API滥用
  • API密钥验证:在使用前对API密钥进行格式验证
  • 安全错误处理:错误消息中无堆栈跟踪或敏感信息
  • 结构化日志记录:所有操作都以适当的级别记录

安全级别

  • 基础:最小过滤,允许大部分内容
  • 中等(默认):平衡保护,合理限制
  • 严格:最大保护,阻止边缘内容

细粒度安全配置

安全级别

  • disabled - 不进行安全检查(最大性能)
  • basic - 只进行基本保护(良好性能)
  • moderate - 平衡保护(默认,良好平衡)
  • strict - 最大保护(可能影响性能)

个别功能控制

# 主开关
SECURITY_LEVEL=moderate
BLOCK_EXPLICIT_CONTENT=true
DETECT_PROMPT_INJECTION=true
SANITIZE_INPUT=true

# 细粒度内容过滤
BLOCK_VIOLENCE=true                  # “如何杀人”,暴力
BLOCK_ILLEGAL_ACTIVITIES=true       # “如何黑客攻击”,非法行为
BLOCK_ADULT_CONTENT=true            # 成人/性内容

# 细粒度注入检测
DETECT_SYSTEM_PROMPTS=true           # “system: 作为管理员”
DETECT_INSTRUCTION_OVERRIDE=true     # “忽略之前的指令”

# 细粒度净化
REMOVE_SCRIPTS=true                  # 移除<script>标签
LIMIT_REPEATED_CHARS=true           # 防止字符泛滥

# 性能优化
ENABLE_PATTERN_CACHING=true         # 缓存模式以提高速度
MAX_PROMPT_LENGTH_FOR_DEEP_SCAN=1000 # 跳过长提示的密集检查

# 灵活性选项
ALLOW_EDUCATIONAL_CONTENT=true      # 白名单“研究关于”,“解释”
WHITELIST_PATTERNS="educational,academic" # 自定义正则表达式模式

性能考虑

  • 模式缓存减少了正则表达式编译的开销
  • 长提示(>1000个字符)在基础模式下进行轻量级检查
  • 提前终止在发现问题后停止检查
  • 细粒度控制让您禁用不需要的检查

最佳实践

  • 永远不要将.env文件提交到版本控制系统
  • 保持您的API密钥安全并定期轮换
  • 考虑在您的API账户上设置使用限制
  • 监控日志以查找异常活动
  • 使用速率限制功能来控制成本
  • 使用server_info工具验证服务器配置

速率限制

服务器实现了滑动窗口速率限制:

  • 默认:每分钟100次请求
  • 通过环境变量配置
  • 按会话跟踪
  • 包含重置时间信息的优雅错误消息