← All articles

Context7 MCP Failed to Connect: Causes and Fixes

July 7, 2026·18 min read·MCPForge

Quick Answer

If Context7 MCP failed to connect, the fix in 90% of cases is one of three things: wrong command path (npx not found in the client's environment), incorrect package name in the config, or network/proxy blocking outbound HTTPS to context7.com. Start by running the exact command from your MCP config in a plain terminal. If it works there but not in your client, the problem is environment isolation. If it fails in both places, the problem is installation, runtime, or network.


Context7 MCP Failed to Connect: 60-Second Checklist

Work through this list top to bottom before diving into specific sections.

  • Package name is exactly @context7/mcp-server — not context7-mcp, mcp-context7, or any other variant
  • Command is npx or the absolute path to npx — not node, not npm, not a partial path
  • Args array is ["-y", "@context7/mcp-server"]-y skips the npx confirmation prompt that would hang the process
  • Node.js >= 18 is installed — run node --version in a clean terminal
  • npx resolves correctly — run which npx (macOS/Linux) or where npx (Windows)
  • Server starts in isolation — run npx -y @context7/mcp-server directly and confirm it prints ready output
  • No stdout contamination — confirm nothing in your environment prints to stdout before the JSON-RPC handshake
  • Outbound HTTPS to context7.com is not blocked — run curl -I https://context7.com and confirm 200 or redirect
  • No VPN or corporate proxy intercepting TLS — try disabling briefly to test
  • Client config file is valid JSON — paste it into a JSON validator
  • Client was restarted after config changes — most clients do not hot-reload MCP config
  • MCP Inspector confirms the server works — test independently before blaming the client

Jump to the Right Fix

SymptomLikely CauseStart Here
Client shows "failed to connect" immediatelyWrong command, bad args, or npx not foundFix: Command and Args Problems
Server process exits right awayNode.js missing, package install failure, or stdout contaminationFix: Stdio Startup Failures
Connection hangs, then times outnpx prompt not suppressed (missing -y), or network timeoutFix: Command and Args Problems
Works in terminal, fails in Claude Desktop / CursorClient environment does not inherit PATHFix: Terminal Works, Client Fails
HTTP 401 or 403 errors in logsAuthentication or proxy TLS inspectionFix: Auth and Credentials
HTTP 404Wrong endpoint or outdated package versionFix: Network and HTTP Errors
Connection refusedUpstream service down or DNS failureFix: Network and HTTP Errors
Connects but no tools appearHandshake succeeded, tool registration failedFix: Tools Missing After Connect
Worked before, broke after updateNode.js upgrade or package version conflictFix: Broke After Update
Works in Claude Desktop, fails in Cursor (or vice versa)Client-specific config format or env differenceFix: Works in One Client, Fails in Another

Want to analyze your API security?

Import your OpenAPI spec and generate a Security Report automatically.

Identifying the Official Context7 MCP Implementation

Before troubleshooting, confirm you are using the official Context7 MCP server, not a community fork or a different package entirely.

Official package: @context7/mcp-server on npm Official repository: https://github.com/upstash/context7 (Context7 is maintained by Upstash) Transport: stdio — the server communicates over standard input/output, not HTTP or SSE No local server to run: Context7 MCP is a thin client that calls the hosted Context7 API at context7.com. The MCP server process itself runs locally but makes outbound HTTPS calls.

If your config references anything other than @context7/mcp-server as the package, or uses an HTTP/SSE transport, you are using a non-official implementation. Those have their own issues outside the scope of this article.


Verifying Your Installation and Configuration

Confirm the package installs correctly

bash
# Test that npx can fetch and run the package
npx -y @context7/mcp-server --help

If this hangs or errors, you have a local environment problem. Common causes:

  • npx is not installed (npm install -g npm to update)
  • Corporate npm registry proxy blocking the scoped @context7 package
  • npm cache corruption — fix with npm cache clean --force

Check the installed version

bash
npx -y @context7/mcp-server --version
# or check via npm
npm show @context7/mcp-server version

Compare against the latest release on npm. Running an old cached version is a common cause of sudden failures after the upstream API changes.

Validate your client config

For Claude Desktop, the config lives at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

For Cursor, MCP config is in .cursor/mcp.json in your project root or ~/.cursor/mcp.json globally.

Correct Claude Desktop config:

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

Correct Cursor config:

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

The format is identical. The file location differs.

Common config mistakes:

MistakeWhat It Looks LikeFix
Wrong package name"context7-mcp" or "@upstash/context7"Use @context7/mcp-server
Missing -y flag"args": ["@context7/mcp-server"]Add "-y" as first arg
Using node instead of npx"command": "node"Use "command": "npx"
Trailing comma in JSON}, at end of last objectRemove trailing comma
Wrong key name"mcp_servers" or "servers"Must be "mcpServers"

Fix: Command, Args, Runtime, and Package Problems {#fix-command-args-runtime}

Symptom

Client shows "failed to connect" or "spawn error" immediately. The error often mentions that the command was not found or that the process exited with a non-zero code.

How to verify

Open a terminal that is not your IDE's integrated terminal and run:

bash
which npx
# Should return something like /usr/local/bin/npx or /opt/homebrew/bin/npx

node --version
# Must be >= 18.0.0

npx -y @context7/mcp-server
# Should print MCP server startup output to stderr, then wait for JSON-RPC input

If which npx returns nothing, Node.js is not installed or not on PATH.

Fix

Option 1 — Use the absolute path to npx in your config:

bash
# Get the full path
which npx
# /opt/homebrew/bin/npx
json
{
  "mcpServers": {
    "context7": {
      "command": "/opt/homebrew/bin/npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

This is the most reliable fix across all MCP clients because it does not depend on PATH resolution.

Option 2 — Install globally and reference the binary directly:

bash
npm install -g @context7/mcp-server
which context7-mcp   # or check the bin name in package.json

Then use the absolute path to the global binary in your config. This eliminates npx download latency and the -y flag requirement.

Option 3 — Add the PATH to the client's env block:

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"],
      "env": {
        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

How to confirm recovery

Restart your client. The Context7 server entry should show as connected (green indicator in Claude Desktop, no error in Cursor's MCP panel).


Fix: Local Stdio Startup Failures {#fix-stdio-startup}

Symptom

The server process starts but exits immediately. The client logs show something like: "MCP server exited with code 1" or "process exited before handshake completed".

Why this happens

Stdio MCP servers communicate exclusively over stdin/stdout. If anything writes to stdout before the JSON-RPC handshake — a debug log, an npm warning, a shell profile echo statement — the client's JSON parser fails and drops the connection.

Context7 MCP logs to stderr, not stdout, by design. But if your environment has a .npmrc, shell profile, or other script that injects text into stdout, the handshake breaks.

How to verify

Run the server and capture stdout separately:

bash
npx -y @context7/mcp-server 2>/dev/null
# stdout should be EMPTY until you send a JSON-RPC message
# If you see text output here, you have stdout contamination

Also check for common contamination sources:

bash
# Check .npmrc for any scripts that log to stdout
cat ~/.npmrc

# Check if your shell profile echoes anything
bash -i -c 'npx -y @context7/mcp-server' 2>/dev/null
# If this produces non-JSON output on stdout, your shell profile is contaminating it

Fix

  1. Remove or silence echo statements from ~/.bashrc, ~/.zshrc, ~/.profile, or any shell init file that runs for non-interactive shells
  2. Check for npm scripts that run on install and print to stdout
  3. Disable verbose npm logging by adding loglevel=error to ~/.npmrc
ini
# ~/.npmrc
loglevel=error

For shell profiles, guard echo statements:

bash
# Only print if truly interactive
[[ $- == *i* ]] && echo "Welcome!"

Immediate exit due to Node.js errors

If the process exits because of a module resolution error:

bash
# Clear the npx cache entirely
npx clear-npx-cache

# Retry with a clean install
npm cache clean --force
npx -y @context7/mcp-server

If you see ERR_MODULE_NOT_FOUND or Cannot find module, the package download was interrupted. Clearing the cache and retrying almost always resolves this.


Fix: Terminal Works, Client Fails {#fix-terminal-vs-client}

This is the single most common Context7 MCP connection problem. The command runs fine in your terminal but the MCP client cannot start the server.

Why the environments differ

MCP clients like Claude Desktop and Cursor launch server processes using a minimal environment — similar to a cron job. They do not source your .zshrc, .bashrc, or any shell profile. This means:

  • PATH is usually just /usr/bin:/bin
  • NVM_DIR, VOLTA_HOME, ASDF_DIR are not set
  • Any tool installed via nvm, volta, or asdf is invisible to the client

Diagnosing the exact PATH problem

bash
# Check what PATH the MCP client actually sees
# Add this temporarily to your config and check client logs
{
  "mcpServers": {
    "context7-debug": {
      "command": "/bin/sh",
      "args": ["-c", "echo PATH=$PATH >&2 && which npx >&2"]
    }
  }
}

The stderr output in your client's logs will show exactly what PATH is available.

Fix for nvm users

nvm installs Node.js into ~/.nvm/versions/node/vX.X.X/bin/. This path is never in the client's PATH.

bash
# Find the actual npx path
ls ~/.nvm/versions/node/
# Pick your version, e.g., v20.11.0

# Use the absolute path in config
json
{
  "mcpServers": {
    "context7": {
      "command": "/Users/yourname/.nvm/versions/node/v20.11.0/bin/npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

Fix for volta users

bash
which npx
# Usually: /Users/yourname/.volta/bin/npx
json
{
  "mcpServers": {
    "context7": {
      "command": "/Users/yourname/.volta/bin/npx",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

Fix for Windows users

On Windows, npx.cmd is the correct executable. Use the full path:

json
{
  "mcpServers": {
    "context7": {
      "command": "C:\\Program Files\\nodejs\\npx.cmd",
      "args": ["-y", "@context7/mcp-server"]
    }
  }
}

Note the double backslashes — JSON requires escaped backslashes.


Fix: Authentication and Credential Problems {#fix-auth-credentials}

Context7 MCP as of early 2025 does not require a user-supplied API key for standard use. The hosted API at context7.com is open to MCP clients. If you are seeing authentication errors, the cause is almost never a missing Context7 credential — it is something else intercepting the connection.

HTTP 401 — Unauthorized

Cause: A corporate proxy is intercepting HTTPS and returning its own 401 challenge, which Context7 MCP does not know how to handle.

Verify:

bash
curl -v https://context7.com/api/v1/health 2>&1 | grep -E 'HTTP|proxy|Proxy'

Fix: Configure proxy settings so the Context7 process can reach context7.com directly:

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"],
      "env": {
        "HTTPS_PROXY": "http://your-corporate-proxy:8080",
        "NO_PROXY": "localhost,127.0.0.1"
      }
    }
  }
}

HTTP 403 — Forbidden

Cause: IP-based rate limiting, geographic restriction, or a security appliance blocking the request.

Verify: Test from a different network. If it works without VPN/proxy, the restriction is network-side.

Fix: Whitelist context7.com in your network security appliance, or configure the Context7 MCP process to bypass the restricted network path.

TLS certificate errors

Corporate proxies that do TLS inspection will present their own certificate for context7.com. Node.js will reject this unless you configure it to trust the corporate CA.

json
{
  "env": {
    "NODE_EXTRA_CA_CERTS": "/path/to/corporate-ca.pem"
  }
}

Avoid setting NODE_TLS_REJECT_UNAUTHORIZED=0 in production — it disables all TLS verification.


Fix: Network and HTTP Errors {#fix-network-http}

Connection refused

Context7 MCP makes outbound HTTPS connections. "Connection refused" from the MCP client usually means the local stdio process failed to start rather than a remote connection refusal. Check the stdio startup section first.

If the stdio process starts but then fails when calling the Context7 API:

bash
# Test outbound connectivity
curl -s https://context7.com > /dev/null && echo "OK" || echo "FAILED"

# Test with verbose output
curl -v https://context7.com/api/v1 2>&1 | head -30

HTTP 404

Cause: Outdated package version calling a deprecated API endpoint.

Fix:

bash
npx clear-npx-cache
npx -y @context7/mcp-server@latest

Update your config to pin to @latest or the most recent version number:

json
"args": ["-y", "@context7/mcp-server@latest"]

HTTP 429 — Rate Limited

The hosted Context7 API enforces rate limits on unauthenticated or high-frequency usage. If you hit 429 errors:

  • Reduce the frequency of Context7 tool calls in your workflow
  • Check if multiple MCP clients are running simultaneously and both calling Context7
  • Wait for the rate limit window to reset (typically 60 seconds)

HTTP 5xx errors

These indicate a problem on the Context7 hosted service side. Check:

  • Context7 status page for any announcements
  • Retry after a few minutes — transient 5xx errors are usually self-resolving

DNS resolution failure

bash
nslookup context7.com
# or
dig context7.com +short

If DNS fails, try a known-good resolver:

json
{
  "env": {
    "NODE_OPTIONS": "--dns-result-order=ipv4first"
  }
}

Timeout errors

Context7 resolves library documentation from various upstream sources. Some queries legitimately take several seconds. If your client has a short MCP timeout, you may see disconnections on slow queries even though the server is healthy.

For Claude Desktop, this timeout is not configurable. If timeouts are frequent, check if Context7 itself is slow by running a query via MCP Inspector and measuring response time.


Fix: Context7 Works in One Client, Fails in Another {#fix-one-client-only}

Different MCP clients have subtle config format differences and different environment handling.

ClientConfig LocationKey Difference
Claude Desktopclaude_desktop_config.jsonUses mcpServers key, stdio only
Cursor.cursor/mcp.jsonSame format, project or global scope
VS Code (Cline)settings.json or extension configVaries by extension version
WindsurfSimilar to CursorCheck Windsurf docs for current format

If Context7 works in Claude Desktop but fails in Cursor:

  1. Compare the two config files side by side — copy the working config verbatim
  2. Check if Cursor uses a different working directory that affects npx resolution
  3. Check Cursor's MCP logs (Output panel → select MCP) for the specific error

If Context7 works in Cursor but fails in Claude Desktop:

  1. Claude Desktop is stricter about JSON validity — validate the config file
  2. Restart Claude Desktop completely (Cmd+Q on macOS, not just closing the window)
  3. Check Claude Desktop logs at ~/Library/Logs/Claude/ on macOS

Fix: Context7 Connects but Tools Are Missing {#fix-tools-missing}

Symptom

The MCP server shows as connected in your client, but the Context7 tools (resolve-library-id, get-library-docs) do not appear in the tool list.

How to verify with MCP Inspector

bash
npx @modelcontextprotocol/inspector npx -y @context7/mcp-server

This opens a UI at http://localhost:5173. Click Connect, then List Tools. If the tools appear here, the server is healthy and the problem is client-side rendering or filtering.

For a deeper guide on using MCP Inspector, see MCP Inspector: Complete Guide.

Possible causes

Client not yet connected: The client may show a server as "connected" before the tools/list handshake completes. Wait 5 seconds and refresh.

Client tool filtering: Some clients allow you to disable specific tools or servers. Check your client's settings for any tool allowlist or blocklist.

Old client version: Older versions of Claude Desktop had bugs where tool lists from newer MCP servers were silently dropped. Update your client.

Server returned empty tools array: This would be visible in MCP Inspector. If it happens, file a bug with the Context7 repository — include the MCP Inspector output.

Confirming the correct tools

The official Context7 MCP server exposes exactly two tools:

  • resolve-library-id — Takes a library name and returns the Context7-compatible library ID
  • get-library-docs — Takes a library ID and returns relevant documentation

If you see different tool names, you may be running a fork or a different package.


Fix: Broke After an Update {#fix-broke-after-update}

Sudden failures after a previously working setup are usually caused by one of these:

Node.js major version upgrade

A Node.js upgrade (e.g., 18 → 20 → 22) can break npx cache entries and native module bindings.

bash
# Verify current Node.js version
node --version

# Clear the npx cache
npx clear-npx-cache

# Clear npm cache
npm cache clean --force

# Test fresh
npx -y @context7/mcp-server

Context7 package update with breaking changes

If @context7/mcp-server released a new version that changed its startup behavior or required new arguments:

bash
# Check what version you cached vs. latest
npm show @context7/mcp-server versions --json | tail -5

# Force the latest version
npx -y @context7/mcp-server@latest

Check the Context7 GitHub releases page for breaking change notices.

OS update changed binary locations

After a macOS major update (e.g., Ventura to Sonoma), Homebrew paths or system paths can shift. /usr/local/bin may become /opt/homebrew/bin on Apple Silicon Macs.

bash
brew doctor
# and
which npx

Update your MCP config with the new absolute path.

Claude Desktop or Cursor update changed config format

Occasionally client updates change how they parse MCP configs. If the client updated on the same day the connection broke:

  1. Check the client's release notes
  2. Compare your config against the client's current documentation
  3. Re-create the config from scratch using the official format

Testing with MCP Inspector

MCP Inspector is the fastest way to isolate whether the problem is the Context7 server or the MCP client. Never spend more than 5 minutes debugging a client-side issue without confirming the server works in Inspector first.

bash
# Install and run Inspector against Context7 MCP
npx @modelcontextprotocol/inspector npx -y @context7/mcp-server

Once connected at localhost:5173:

  1. Connect — confirms stdio transport works
  2. List Tools — confirms resolve-library-id and get-library-docs are returned
  3. Call resolve-library-id with {"libraryName": "react"} — confirms outbound API connectivity
  4. Check stderr — all Context7 MCP logs appear here; runtime errors are immediately visible

If Inspector works and your client does not, the problem is definitively in the client configuration or environment. If Inspector also fails, the problem is in the server, runtime, or network.

For detailed Inspector usage including request replay and JSON-RPC inspection, see the MCP Inspector Complete Guide.

You can also use MCPForge's online MCP testing tool to validate your server configuration before deploying.


Minimal Reproduction Steps

Before filing a bug report, produce a minimal reproduction to confirm the failure is specific to Context7 MCP and not your broader environment.

bash
# 1. Fresh environment check
env -i HOME=$HOME PATH=/usr/local/bin:/usr/bin:/bin npx -y @context7/mcp-server
# This strips your environment to basics. If this fails, the problem is runtime-level.

# 2. Explicit Node.js check
node -e "require('child_process').spawn('npx', ['-y', '@context7/mcp-server'], {stdio: 'inherit'})"
# Reproduces how MCP clients spawn the process

# 3. Config validation
python3 -m json.tool ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Or: cat your_config.json | python3 -m json.tool
# Invalid JSON will produce a clear error

Bug Report Checklist

If none of the above fixes resolve your issue, report it to the Context7 GitHub repository. Include:

  • OS and version (e.g., macOS 14.3, Windows 11, Ubuntu 22.04)
  • Node.js version (node --version)
  • npm version (npm --version)
  • Package version (npx -y @context7/mcp-server --version)
  • MCP client and version (Claude Desktop 0.X.X, Cursor X.X)
  • Full config JSON (redact any secrets)
  • MCP Inspector output — screenshot or copy of the error
  • Exact error message from client logs
  • Steps that reproduce the failure consistently
  • What you have already tried from this guide

Prevention Best Practices

Once you fix the connection, keep it working:

Use absolute paths always. Even if npx works today in your client, a PATH change will break it again. Absolute paths survive OS updates, Node.js version switches, and shell config changes.

Pin to a tested version when stability matters. @context7/mcp-server@latest is convenient but can introduce breaking changes. Pin to a specific version once you confirm it works:

json
"args": ["-y", "@context7/mcp-server@1.2.3"]

Keep Node.js current but test after upgrades. Node.js LTS versions (18, 20, 22) are all supported. After upgrading Node.js, immediately test Context7 MCP with Inspector before assuming it works.

Monitor the Context7 GitHub repository. Watch for releases and breaking changes. The Context7 team publishes migration notes in release descriptions.

Test after every client update. MCP client updates occasionally change config parsing. Make it a habit to verify Context7 connects after updating Claude Desktop or Cursor.

Keep client logs accessible. For Claude Desktop on macOS, ~/Library/Logs/Claude/ contains MCP server logs. Knowing where these logs are saves hours when something breaks unexpectedly.

For guidance on running MCP servers reliably in production scenarios, see Running MCP in Production.


Architecture: What Actually Happens During Connection

MCP Client (Claude Desktop / Cursor)
         |
         | spawns process via stdio
         v
   npx -y @context7/mcp-server
         |
         | JSON-RPC over stdin/stdout
         | (initialize -> initialized -> tools/list)
         |
         v
   Context7 MCP Server (local Node.js process)
         |
         | HTTPS outbound
         v
   context7.com hosted API
         |
         | returns library documentation
         v
   Context7 MCP Server (formats response)
         |
         | JSON-RPC response over stdout
         v
   MCP Client displays tool result

Understanding this flow makes every error obvious:

  • Spawn fails → problem between client and local process (PATH, command, Node.js)
  • Handshake fails → problem in the local process startup (stdout contamination, crash)
  • Tool call fails → problem between local process and context7.com (network, auth, rate limit)

For a broader understanding of how MCP connection failures manifest across different server types, see MCP Server Failed to Connect: Causes and Fixes.


Summary

Context7 MCP connection failures fall into three categories:

  1. Local spawn problems — wrong command, wrong PATH, missing Node.js, bad config JSON
  2. Process startup problems — stdout contamination, module resolution failure, immediate exit
  3. Upstream connectivity problems — network blocking, TLS interception, rate limiting, service outage

The diagnostic path is always the same: run the command directly in a clean terminal, test with MCP Inspector, then fix the client config. The 60-second checklist covers 90% of cases. If you are still stuck after working through this guide, the bug report checklist gives you everything needed to get a fast response from the Context7 team.

Frequently Asked Questions

Why does Context7 MCP work in the terminal but fail in Claude Desktop or Cursor?

MCP clients launch server processes in a restricted environment that does not inherit your shell's PATH or environment variables. The npx or node binary is not found even though it works interactively. Fix by using absolute paths in the command field and explicitly passing any required environment variables inside the client's env block.

Does Context7 MCP require an API key?

The official @context7/mcp-server package connects to the Context7 hosted API at context7.com. As of early 2025 it does not require a user-supplied API key for basic use — it operates as an open service. If you are seeing authentication errors, the most likely cause is a corporate proxy, VPN interference, or a firewall blocking outbound HTTPS to context7.com.

Context7 MCP connects successfully but no tools appear in my client. What is wrong?

This usually means the tools/list handshake completed but the client failed to render the tools, or the server returned an empty tools array. Confirm with MCP Inspector that tools are returned by the server. Also check that your client version supports dynamic tool discovery and that no tool name filters are active in your configuration.

The server process exits immediately after startup. How do I debug it?

Run the server directly in your terminal with the same command and arguments your MCP client uses. Immediate exits are almost always caused by a missing Node.js binary, a failed npm package resolution, or an uncaught exception during initialization. Add --verbose or check stderr output — Context7 MCP prints startup errors to stderr before exiting.

Can I use Context7 MCP with a local or self-hosted Context7 instance?

The official @context7/mcp-server is designed to connect to the hosted context7.com API. There is no officially supported self-hosted Context7 backend for general use. Community forks may exist, but they are not officially maintained and are outside the scope of official support.

Context7 MCP stopped connecting after a system update or package upgrade. What should I check first?

First check the Node.js version — a major Node.js upgrade can break npx resolution or package compatibility. Then check the installed package version with npx @context7/mcp-server --version and compare it with the latest release on npm. Finally, clear the npx cache with npx clear-npx-cache and retry.

What is the correct package name for the official Context7 MCP server?

The official package is @context7/mcp-server, published on npm. Do not confuse it with community packages like context7-mcp, mcp-context7, or similar names that are not officially maintained by the Context7 team.

How do I test Context7 MCP without opening Claude Desktop or Cursor?

Use MCP Inspector: run npx @modelcontextprotocol/inspector npx @context7/mcp-server in your terminal. This launches an interactive UI at localhost:5173 where you can test the full connection lifecycle, inspect tool responses, and capture raw JSON-RPC messages without involving your actual MCP client.

Check your MCP security posture

Generate a Security Score, detect risky tools, and review permissions before exposing APIs to AI agents.