SelfHeal MCP
](https://www.npmjs.com/package/selfheal-mcp)  
MCP服务器的自愈代理。使用自动重试、断路器保护和调用可观察性包装任何MCP工具调用。
你的人工智能代理停止破坏古怪的API。
一键安装: 在MCPize上安装 | npx selfheal-mcp特性
- 使用回退重试 --指数回退+瞬态故障抖动(5xx、超时、速率限制)
- 断路器 --按目标断路器停止锤击死服务
- 通话指标 --按工具和目标细分的成功率、延迟、错误频率
- 代理模式 --透明地包裹任何现有的MCP服务器
- 零配置 --独立工作,开箱即用,代理模式配置文件
快速开始
单独模式
添加到您的Claude桌面/Claude代码配置中:
{
"mcpServers": {
"selfheal": {
"command": "npx",
"args": ["-y", "selfheal-mcp"]
}
}
}然后使用 wrap_call 要发出任何具有自愈功能的HTTP请求:
Use the wrap_call tool to GET https://api.example.com/data with target "example-api"代理模式
创建 selfheal.config.json:
{
"mode": "proxy",
"targets": [
{
"name": "my-server",
"transport": "streamable-http",
"url": "https://my-mcp-server.com/mcp"
}
]
}{
"mcpServers": {
"selfheal": {
"command": "npx",
"args": ["-y", "selfheal-mcp"],
"env": {
"SELFHEAL_CONFIG": "/path/to/selfheal.config.json"
}
}
}
}所有工具来自 my-server 通过内置的自我修复功能重新暴露。
工具
| 工具 | 说明 |
|---|---|
wrap_call | 使用重试+断路器执行HTTP调用 |
circuit_status | 检查任何目标的健康状况 |
circuit_reset | 修复问题后重置断路器 |
metrics | 成功率、延迟、最大错误 |
recent_errors | 最近的故障及其详细信息 |
添加代理模式
| 工具 | 说明 |
|---|---|
selfheal_metrics | 所有代理呼叫的指标 |
selfheal_circuits | 所有目标的电路状态 |
selfheal_recent_errors | 所有目标最近发生的错误 |
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
SELFHEAL_CONFIG | ./selfheal.config.json | 配置文件路径 |
SELFHEAL_MAX_RETRIES | 3 | 最大重试次数 |
SELFHEAL_BASE_DELAY_MS | 1000 | 回退的基本延迟 |
SELFHEAL_MAX_DELAY_MS | 30000 | 最大延迟上限 |
SELFHEAL_CIRCUIT_THRESHOLD | 5 | 电路断开前的故障 |
SELFHEAL_CIRCUIT_COOLDOWN_MS | 120000 | 半开试验前冷却 |
运作原理
Agent → SelfHeal MCP → [Retry + Circuit Breaker] → Target API/MCP Server
↓
Metrics Collector- 请求到达 --代理调用工具
- 电路检查 --如果目标失败次数太多,请立即拒绝
- 重试执行 --尝试调用,在出现指数回退的瞬态错误时重试
- 记录指标 --记录成功/失败、持续时间、尝试次数
- 更新电路 --跟踪每个目标的连续故障
安装
MCPize(推荐)
使用托管主机一键安装: 在MCPize上安装
npm
npx selfheal-mcpPyPI
不适用——这是一个TypeScript服务器。关于Python的替代方案,请参见 LeadEnrich MCP.
许可证
麻省理工学院-由 自由工程师
相关
- 站点健康MCP --完整的网站健康审计
- LeadEnrich MCP --瀑布铅富集
