
SelfHeal MCP
io.github.carsonroell-debugPublished by GitHub account carsonroell-debugv0.1.1Updated Oct 24, 2026
Self-healing proxy for MCP servers with retry, circuit breaker, and observability
Overview
A local MCP proxy that wraps HTTP calls and other MCP servers with automatic retry, circuit breaking and call metrics.
- What you can do
- Make HTTP requests through a self-healing wrapper with retry and circuit breaker protection
- Check circuit health for a target and reset a circuit after fixing the underlying issue
- Read success rates, latency and top errors, and inspect recent failures in detail
- In proxy mode, re-expose all tools of a configured MCP server with the same retry, circuit and metrics layer
- When to use it
- Useful when an assistant depends on flaky or rate-limited APIs or MCP servers and you want retries, backoff and failure isolation without changing the underlying tools. Also handy for getting per-tool success and latency figures on those calls.
- Requirements
- Runs locally over stdio, typically started with npx selfheal-mcp, so Node.js is needed. Proxy mode requires a selfheal.config.json listing target servers, pointed to by SELFHEAL_CONFIG. Optional tuning variables include SELFHEAL_MAX_RETRIES and SELFHEAL_CIRCUIT_THRESHOLD. No authentication is declared.
Installation
In SourceWeft
- Open SelfHeal MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
SelfHeal MCP
Self-healing proxy for MCP servers. Wraps any MCP tool call with automatic retry, circuit breaker protection, and call observability.
Your AI agents stop breaking on flaky APIs.
One-click install: Install on MCPize |
npx selfheal-mcp
Features
- Retry with backoff — Exponential backoff + jitter on transient failures (5xx, timeouts, rate limits)
- Circuit breaker — Per-target circuit breaker stops hammering dead services
- Call metrics — Success rates, latency, error frequency, broken down by tool and target
- Proxy mode — Wrap any existing MCP server transparently
- Zero config — Works standalone out of the box, config file for proxy mode
Quick Start
Standalone Mode
Add to your Claude Desktop / Claude Code config:
Then use wrap_call to make any HTTP request with self-healing:
Proxy Mode
Create selfheal.config.json:
All tools from my-server are re-exposed with self-healing built in.
Tools
Proxy Mode Adds
Configuration
Environment Variables
How It Works
- Request arrives — Agent calls a tool
- Circuit check — If target has failed too many times, reject immediately
- Execute with retry — Try the call, retry on transient errors with exponential backoff
- Record metrics — Log success/failure, duration, attempts
- Update circuit — Track consecutive failures per target
Install
MCPize (Recommended)
One-click install with managed hosting: Install on MCPize
npm
PyPI
Not applicable — this is a TypeScript server. For Python alternatives, see LeadEnrich MCP.
License
MIT — Built by Freedom Engineers
Related
- SiteHealth MCP — Full website health audit
- LeadEnrich MCP — Waterfall lead enrichment
Source: README.md at commit cb405ae
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.