Token导航 LogoToken导航TokenDH.com
MCP Chaos Rig logo
开发工具stdio官方级别未说明来源级核验

MCP Chaos Rig

MCP Server

mcp-chaos-rig

一个本地MCP服务器,用于测试客户端在各种故障情况下的表现,包括认证失败、工具消失、不稳定响应和令牌过期等。

工具数

10

提示词数

0

GitHub Stars

10

资源数

0
本地服务器TypeScript开发工具

安装说明

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

作者 / 组织

Typewise

提供方

Typewise

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx mcp-chaos-rig

详细介绍

MCP Chaos Rig

A local MCP server that breaks on demand. Test your client against auth failures, disappearing tools, flaky responses, and token expiry, all from a web UI.

______________________________________________________________________

问题

您正在构建一个MCP客户端。您需要测试OAuth流、令牌刷新、工具发现、错误处理和会话生命周期。生产服务器不会按命令发生故障。你需要一个这样的服务器。

Chaos Rig做什么

运行一个本地MCP服务器,在那里你可以控制一切:

  • 中断身份验证:强制会话中期使用401和500,按需过期令牌,拒绝刷新令牌
  • 破碎工具:禁用要触发的工具 tools/changed,实时切换架构版本
  • 断裂可靠性:添加随机延迟,使工具调用以可配置的速率失败
  • 看到一切:实时请求日志显示入站JSON-RPC调用和出站SSE响应,点击展开正文

Server tab

测试场景

场景如何测试
OAuth 2.1同意流程使用交互式同意页面:批准、拒绝、无效代码、篡改状态
固定标头身份验证切换到标头模式,配置键值对,验证客户端是否发送它们
缺少/错误的标头发送缺少或不匹配标头的请求——401,包含详细信息
会话中的令牌拒绝在客户端连接时将“拒绝OAuth”切换到401或500
令牌到期和刷新将访问令牌TTL设置为短值,观察客户端刷新
拒绝刷新令牌切换“拒绝刷新令牌”以强制重新身份验证
错误的客户端刷新启用“强制刷新令牌所有权”--捕获丢失凭据的客户端并重新注册
作用域发现冲突在元数据和WWW-Authenticate标头中设置不同的作用域,测试客户端信任的作用域
工具消失禁用“工具”选项卡中的工具。客户端收到 tools/changed
工具模式更改在v1和v2模式之间切换回显或添加
不稳定的工具调用设置0-100%的失败率。失败的呼叫返回 isError: true
慢速响应启用具有可配置延迟范围的慢速模式
PKCE代码交换OAuth同意页面提供“错误代码”和“错误状态”选项
数据库支持的工具在真实SQLite联系人数据库上的CRUD操作

______________________________________________________________________

快速开始

npx mcp-chaos-rig

控制面板位于 本地主机:4100/ui,MCP端点位于 http://localhost:4100/mcp。需要节点20+。

如果您更喜欢全局安装:

npm install -g mcp-chaos-rig
mcp-chaos-rig

或者从源代码运行:

git clone https://github.com/Typewise/mcp-chaos-rig.git
cd mcp-chaos-rig
npm install
npm run dev

远程访问

如果您的生产环境需要访问Chaos Rig,请通过隧道(ngrok、Cloudflare隧道等)公开它并设置 BASE_URL 因此OAuth重定向可以正确解析:

BASE_URL=https://your-tunnel.example.dev npx mcp-chaos-rig

认证状态

所有状态都在内存中,并在重新启动时重置。持票人以代币开始 test-token-123 (更改前有效)。OAuth令牌按TTL过期。启用时,刷新令牌跟踪每个客户端的所有权。重启后,在所有权关闭的情况下进行一次刷新以重新播种,然后将其打开。

______________________________________________________________________

控制面板选项卡

服务器

配置身份验证模式、慢速模式(随机延迟)和片状工具(失败率%)。

身份验证模式行为
所有请求都通过
需要 Authorization: Bearer test-token-123
OAuth 2.1带有交互式同意页面的完整授权流程

Bearer和OAuth模式支持故障注入:强制401或500响应以测试错误处理。

OAuth模式添加了访问令牌TTL、刷新令牌拒绝和刷新令牌所有权强制的控制。OAuth端点列在可折叠的部分中。

工具

Tools tab

打开/关闭工具。禁用发送 tools/changed 连接的客户。一些工具(echo、add)支持版本切换。

可用工具:

  • echo:返回您的消息(v2添加了格式选项)
  • add:将两个数字相加(v2接受数组)
  • get-time:当前服务器时间为ISO 8601
  • random-number:范围内的随机整数
  • reverse:反转字符串
  • list-contacts, search-contacts, create-contact, update-contact, delete-contact:SQLite CRUD

联系人

Contacts tab

查看并重置支持联系人工具的SQLite数据库。从三个种子记录开始。

日志

Log tab

实时请求日志,显示入站请求和出站SSE响应。显示时间戳、源(mcp/auth/sse)、方法、状态、JSON-RPC方法、工具名称和参数。单击任何截断的body或args行以展开它。保留最后200个条目。

______________________________________________________________________

OAuth同意页面

OAuth consent page

当auth模式为OAuth时,授权端点会显示一个交互式同意页面:

按钮结果
批准使用有效授权码重定向
拒绝重定向为 error=access_denied
错误代码使用无效代码重定向(令牌交换失败)
错误状态重定向被篡改的状态参数

______________________________________________________________________

链接

目录标签

目录标签

本地服务器TypeScript开发工具故障注入本地部署客户端测试MCP协议

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mcp-chaos-rig

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP