Token导航 LogoToken导航

MCP Server · AI代理

MCP Fallback

一个用于评估AI代理在工具故障时通过切换到等效替代服务来恢复能力的基准测试套件,适用于多服务切换场景下的智能体性能验证。

stdio官方级别未说明来源级核验工具 0
PythonClaudeAI代理

快速开始

作者 / 组织
33k0
提供方
33k0

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Fallback 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install openai anthropic google-generativeai

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

MCP回退基准

一个基准套件,用于评估AI代理通过切换到等效的替代服务从工具故障中恢复的能力。为伯克利天空实验室建造。

概述

此基准测试语言模型在使用MCP(模型上下文协议)工具时是否可以自主处理服务故障。当一个服务发生故障时,模型能否识别故障并切换到等效的替代服务来完成任务?

核心机制

  1. 模型接收任务(例如,“向通用通道发送消息”)
  2. 它可以访问两个等效服务(例如Slack+Discord)的工具
  3. 它首先尝试的任何服务都会失败,并出现“service_SHUTDOWN”错误
  4. 成功=模型识别故障并使用OTHER服务完成任务
  5. 失败=模型放弃、循环或返回注释而不是切换

项目结构

SkyLabsProjectPreliminaries/
├── harness/
│   └── runner.py              # Main benchmark runner (supports OpenAI, Anthropic, Google)
├── mock_servers/
│   ├── food_delivery_api.py   # UberEats + DoorDash (legacy paired server)
│   ├── github_api.py          # GitHub MCP mock (20 tools)
│   ├── gitlab_api.py          # GitLab MCP mock (9 tools)
│   ├── brave_search_api.py    # Brave Search mock (2 tools)
│   ├── exa_search_api.py      # Exa Search mock (9 tools)
│   ├── slack_api.py           # Slack MCP mock (8 tools)
│   ├── discord_api.py         # Discord MCP mock (10 tools)
│   ├── google_maps_api.py     # Google Maps mock (7 tools)
│   └── mapbox_api.py          # Mapbox mock (10 tools)
├── error_injection/
│   └── controller.py          # Error injection + server pairing logic
├── scenarios/
│   └── prompts.json           # 15 unique test scenarios (easy/medium/hard)
├── traces/                    # Output directory for conversation traces
└── README.md

支持的供应商和型号

该基准支持三个AI提供商:

提供者默认模型环境变量
OpenAIgpt-5.2OPENAI_API_KEY
Anthropicclaude-sonnet-4-5-20250929ANTHROPIC_API_KEY
谷歌gemini-3.0-flashGOOGLE_API_KEY

服务器对及其选择原因

每个服务器对都是根据官方提供的真实MCP服务器模式选择的 模型上下文协议服务器存储库.

1.送餐服务:UberEats+DoorDash

目的: 具有对称工具集的传统基线对。

UberEatsDoorDash
ubereats_logindoordash_authenticate
ubereats_search_restaurantsdoordash_find_restaurants
ubereats_get_menudoordash_view_menu
ubereats_place_orderdoordash_submit_order
ubereats_get_order_statusdoordash_check_order_status

测试内容: 纯回退-两个服务具有相同的功能。模型能否在其他服务上找到等效方法?

______________________________________________________________________

2.代码托管:GitHub+GitLab

目的: 具有非对称工具数量的真实MCP服务器。

GitHub(20个工具)GitLab(9个工具)
全面回购管理核心回购操作
问题、PR、分支问题、MR、分支
代码/问题/用户搜索仅存储库搜索
分叉、合并、注释基本操作

测试内容:

  • 当目标服务有FEWER工具时回退
  • 当GitLab上不存在某些GitHub功能时,模型必须进行调整
  • 测试场景:创建问题、分叉仓库、创建PR、搜索仓库

______________________________________________________________________

3.网络搜索:Brave+Exa

目的: 最小与功能丰富的搜索API。

Brave(2个工具)Exa(9个工具)
brave_web_searchweb_search_exa
brave_local_searchget_code_context_exa
company_research_exa
deep_search_exa
people_search_exa
...以及更多

测试内容:

  • 当目标服务有更多工具时回退
  • 模型必须发现Exa的专用工具(代码搜索、公司研究)
  • 测试场景:一般搜索、代码示例、公司研究

______________________________________________________________________

4.团队信息:松弛+不和谐

目的: 双方都有独特功能的类似服务。

Slack(8工具)Discord(10工具)
slack_post_messagesend_message
slack_list_channelslist_channels
slack_add_reactionadd_reaction
slack_get_channel_historyread_messages
slack_reply_to_thread—
—edit_message
—delete_message
—send_private_message

测试内容:

  • 不对称功能(Discord可以编辑/删除/DM,Slack有线程)
  • 模型必须识别回退服务上何时不存在某个功能
  • 测试场景:发送消息、添加反应、发送DM

______________________________________________________________________

5.地图和导航:谷歌地图+Mapbox

目的: 标准制图与地理空间计算。

谷歌地图(7个工具)Mapbox(10个工具)
maps_geocodemapbox_geocode
maps_directionsmapbox_directions
maps_search_placesmapbox_search_places
maps_distance_matrixmapbox_matrix
maps_elevation—
—mapbox_bearing
—mapbox_isochrone
—mapbox_distance (离线)

测试内容:

  • 这两个服务都有等效的核心工具(方向、地理编码、地点)
  • 测试场景:方向、地理编码、地点搜索

难度等级

每个场景都有三个难度级别:

级别描述示例提示
简单明确命名这两个服务+切换提示“向普通用户发送消息。使用Slack或Discord。如果其中一个失败,请切换到另一个。”
中等命名这两个服务,没有切换提示“向普通用户发送消息。使用Slack或Discord。”
困难通用任务,无服务提示“向通用发送消息。”

15种测试场景

类别场景测试
食品配送food_delivery_order下订单
food_delivery_status检查订单状态(订单ID 1001)
代码托管code_hosting_create_issue创建错误报告
code_hosting_fork_repo分叉存储库
code_hosting_create_pr创建拉取/合并请求
code_hosting_search_repos搜索存储库
网络搜索web_search_general一般网络搜索
web_search_code查找代码示例
web_search_company公司调研
团队消息team_messaging_send发送频道消息
team_messaging_react在消息中添加反应
team_messaging_dm发送直接消息
地图maps_directions获取行车路线
maps_geocode获取纬度/经度坐标
maps_places搜索附近的地方

运行基准

先决条件

pip install openai anthropic google-generativeai

为要使用的提供程序设置API密钥:

# For OpenAI
export OPENAI_API_KEY="sk-..."

# For Anthropic (Claude)
export ANTHROPIC_API_KEY="sk-ant-..."

# For Google (Gemini)
export GOOGLE_API_KEY="AIza..."

基本用法

使用OpenAI运行完整的基准测试(默认):

python harness/runner.py

与Anthropic Claude一起跑步:

python harness/runner.py --provider anthropic

使用Google Gemini跑步:

python harness/runner.py --provider google

选项

# Test a specific model
python harness/runner.py --provider openai --model gpt-4o
python harness/runner.py --provider anthropic --model claude-opus-4-20250514
python harness/runner.py --provider google --model gemini-2.0-pro

# Run only one scenario
python harness/runner.py --scenario code_hosting_create_issue

# Run all scenarios for one server pair
python harness/runner.py --server maps

# Run only hard difficulty
python harness/runner.py --level hard

# Show detailed tool call traces
python harness/runner.py --verbose

# Save conversation traces to files
python harness/runner.py --trace ./traces

# Combine options
python harness/runner.py --provider anthropic --server team_messaging --level medium --verbose

输出

基准打印一个记分卡,显示:

  • 按难度级别划分的通过/失败率
  • 按服务器对划分的通过/失败率
  • 每个场景的详细结果

输出示例:

======================================================================
  SCORECARD - claude-sonnet-4-5-20250929 (anthropic)
======================================================================

  BY DIFFICULTY LEVEL:
  Level           Pass  Total   Accuracy
  ────────────────────────────────────
  EASY               12     15      80.0%
  MEDIUM              9     15      60.0%
  HARD                5     15      33.3%
  ────────────────────────────────────
  AVERAGE            26     45      57.8%

  BY SERVER PAIR:
  Server                Pass  Total   Accuracy
  ────────────────────────────────────────────
  code_hosting            8     12      66.7%
  food_delivery           5      6      83.3%
  maps                    4      9      44.4%
  team_messaging          5      9      55.6%
  web_search              4      9      44.4%

如何衡量成功

跑步被标记 通过 如果:

  1. 该模型称为服务a(或B)中的工具
  2. 该工具返回了一个 SERVICE_SHUTDOWN 错误
  3. 然后,该模型调用服务B(或A)上的等效工具
  4. 该工具返回了带有预期密钥的成功结果

跑步被标记 失败 如果:

  • 模型出错后放弃
  • 模型返回注释,而不是尝试其他工具
  • 无交换服务的模型循环
  • 模型崩溃或达到20圈限制

建筑细部

错误注入

这 ErrorInjectedAPI 包装器拦截工具调用:

# First call to ANY of these methods fails
fail_methods = ["slack_slack_post_message", "discord_send_message"]

# If model calls slack first -> error
# Then discord works fine (and vice versa)

每个场景都有保证的错误注入——所有等效方法对都包含在 fail_methods 列表。

服务器配对

这 PairedServerAPI 类结合了两个单独的API:

# GitHub methods become: github_create_issue, github_fork_repository, ...
# GitLab methods become: gitlab_create_issue, gitlab_fork_repository, ...
# Model sees ALL tools from both services

多提供商支持

运行器会自动将工具模式转换为每个提供程序的格式:

  • OpenAI:使用函数调用 tools 参数
  • Anthropic:转换为克劳德的 tool_use 格式与 input_schema
  • 谷歌:转换为双子座 FunctionDeclaration 格式

模拟服务器

服务器是基于真实MCP模式的模拟,但返回模拟数据。他们不会对GitHub、Slack等进行实际的API调用。

现有测试数据:

  • 外卖:订单1001(UberEats)和1002(DoorDash)用于状态检查
  • 代码托管:存储库 acme-corp/web-app 存在问题/PR创建

联系

斯里·瓦萨 伯克利天空实验室

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

AI基准测试Python本地部署服务容错多工具切换智能体评估MCP协议

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Fallback

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Fallback 怎么安装?

公开资料给出的安装命令是 pip install openai anthropic google-generativeai,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Fallback 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Fallback 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Fallback 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Fallback 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP