Skip to content
mcp-health logo

MCP Health

mcp-health

Validates MCP server connectivity and health. Checks stdio and http MCP servers for availability, reports connection status, and provides fallback guidance. Triggers on: mcp health, check mcp, validate mcp, mcp status, mcp connectivity.

rudironsoni/Synaxis0installs2stars

SKILL.md

Full skill instructions

MCP Health

Validates MCP server connectivity and health status for local stdio and remote http MCP servers.

Preloaded Skills

Always load before analysis:

  • [skill:dotnet-advisor] -- routing and context

Usage

# Check all MCP servers
[mcp-health:check-all]

# Check specific MCP
[mcp-health:check microsoftdocs-mcp]

# Get health report
[mcp-health:report]

MCP Server Types

stdio Servers (Local)

Launch local processes via stdio transport:

  • serena -- Semantic code analysis (Language Server Protocol)
  • context7 -- Library documentation lookup

http Servers (Remote)

Connect to remote APIs via HTTP:

  • microsoftdocs-mcp -- Microsoft Learn documentation
  • deepwiki -- DeepWiki MCP server
  • github -- GitHub API operations

Health Check Methods

For stdio Servers

# Check if command exists and is executable
which uvx || which npx

# Test stdio connection
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \
  uvx --from serena-mcp server 2>&1 | head -5

For http Servers

# Test HTTP connectivity
curl -s -o /​dev/​null -w "%{http_code}" https://learn.microsoft.com/​api/​mcp/​health
curl -s -o /​dev/​null -w "%{http_code}" https://mcp.deepwiki.com/​health

Validation Script

Add to session start hooks:

# Inline mcp-health-check.sh: Validate MCP servers
set -uo pipefail

MCP_CONFIG="${MCP_CONFIG:-.rulesync/​mcp.json}"
[ ! -f "$MCP_CONFIG" ] && exit 0

# Check if jq is available
if ! command -v jq >/​dev/​null 2>&1; then
  echo "{\"warning\":\"jq not found - skipping MCP health check\"}"
  exit 0
fi

# Extract and validate MCP servers
FAILED_MCP=""

while IFS= read -r mcp_name; do
  mcp_type=$(jq -r ".mcpServers.\"$mcp_name\".type" "$MCP_CONFIG" 2>/​dev/​null || echo "")

  case "$mcp_type" in
    http)
      url=$(jq -r ".mcpServers.\"$mcp_name\".url" "$MCP_CONFIG" 2>/​dev/​null)
      if [ -n "$url" ]; then
        if ! curl -s --connect-timeout 5 -o /​dev/​null "$url/​health" 2>/​dev/​null; then
          FAILED_MCP="$FAILED_MCP $mcp_name"
        fi
      fi
      ;;
    stdio)
      # Check if command exists
      cmd=$(jq -r ".mcpServers.\"$mcp_name\".command" "$MCP_CONFIG" 2>/​dev/​null)
      if ! command -v "$cmd" >/​dev/​null 2>&1; then
        # Check common package managers
        case "$cmd" in
          uvx) command -v uvx || command -v pipx || FAILED_MCP="$FAILED_MCP $mcp_name" ;;
          npx) command -v npx || FAILED_MCP="$FAILED_MCP $mcp_name" ;;
        esac
      fi
      ;;
  esac
done < <(jq -r '.mcpServers | keys[]' "$MCP_CONFIG" 2>/​dev/​null || true)

if [ -n "$FAILED_MCP" ]; then
  echo "{\"warning\":\"MCP servers unavailable:$FAILED_MCP\"}"
else
  echo "{\"status\":\"healthy\"}"
fi

exit 0

Health Report Format

{
  "timestamp": "2026-02-28T10:45:00Z",
  "servers": {
    "serena": {
      "type": "stdio",
      "status": "healthy",
      "command": "uvx",
      "available": true
    },
    "microsoftdocs-mcp": {
      "type": "http",
      "status": "healthy",
      "url": "https://learn.microsoft.com/​api/​mcp",
      "latency_ms": 45
    },
    "context7": {
      "type": "http",
      "status": "healthy",
      "url": "https://mcp.context7.com/​mcp"
    }
  },
  "summary": {
    "total": 5,
    "healthy": 4,
    "unavailable": 1
  }
}

Troubleshooting

stdio Server Issues

Problem: Command not found (uvx, npx)

Solutions:

# Install uvx via pipx
pipx install uvx

# Install npx (comes with Node.js)
npm install -g npx

# Or use npm directly for npx packages
npm install -g @anthropic-ai/​mcp-server-fetch

Problem: MCP server crashes immediately

Solutions:

  • Check MCP server logs: --verbose flag
  • Verify environment variables in MCP config
  • Update MCP server: pipx upgrade serena-mcp

http Server Issues

Problem: Connection timeout

Solutions:

  • Check network connectivity: curl -I <mcp-url>
  • Verify firewall/​proxy settings
  • Check MCP service status page

Problem: 401 Unauthorized

Solutions:

  • Verify API tokens in .env or environment
  • Check token expiration
  • Regenerate tokens if needed

Fallback Behavior

When MCP servers are unavailable:

  1. graceful degradation -- Continue without MCP features
  2. local caching -- Use cached MCP responses if available
  3. alternative sources -- Fall back to web search or local docs
  4. user notification -- Inform user of unavailable features

Integration

With Hooks

Add to .rulesync/​hooks.json:

{
  "hooks": {
    "sessionStart": [
      {
        "type": "command",
        "command": "# MCP health check script here",
        "timeout": 30
      }
    ]
  }
}

With Skills

Reference in skills that depend on MCP:

## Preloaded Skills

- [skill:mcp-health] -- validate MCP availability
- [skill:microsoft-learn-mcp] -- query Microsoft documentation

References

  • MCP Specification
  • [skill:dotnet-observability] -- for health metrics export
  • [skill:dotnet-resilience] -- for retry patterns

More skills from rudironsoni

dotnet-project-analysis logo
rudironsoni/Synaxis

dotnet-project-analysis

Analyzes .NET solution layout and build config -- .sln, .csproj, CPM.

2 0
View
wiki-agents-md logo
rudironsoni/Synaxis

wiki-agents-md

Generates AGENTS.md files for coding agent context

2 0
View
wiki-architect logo
rudironsoni/Synaxis

wiki-architect

Analyzes repos and generates structured catalogues

2 0
View

Using AwesomeAssertions for fluent and readable test assertion skill. Used when writing clear assertions, comparing objects, validating collections, handling complex comparisons. Covers Should(), BeEquivalentTo(), Contain(), ThrowAsync() and complete API. Keywords: assertions, awesome assertions...

2 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View