MCP-TESTER · v0.1.7 · MIT LICENSE

Model Context Protocol — Inspector

MCP Server Tester

Connect to any MCP server and see what it's actually telling your agent — every tool, every token, every red flag — before you wire it into production.

Open Live Demo → View on GitHub
5auth methods
2transports, auto-fallback
4token providers
A–Freadiness & risk grading
Protocol Tracelive session
initialize0 ms
protocolVersion "2025-11-25"142 ms
tools/list142 ms
17 tools · ~9,340 tokens388 ms
resources/list388 ms
4 resources402 ms
tools/callsend_email1,120 ms
⚠ authority-language flagged1,340 ms

What it checks

Five things every MCP integration should know before it ships

INSPECT

Tools, resources, and prompts — as the server actually sends them

Connects over Streamable HTTP or SSE (with automatic fallback), lists every primitive the server advertises, and keeps a full JSON-RPC history — initialize, tools/list, tools/call, and everything between — so you can see exactly what your agent will see.

Fetch timing broken down by phase: transport connect · initialize · list · network overhead
SCORE

Token cost and definition quality, before a single query runs

Estimate token usage with a generic heuristic or exact counts from the Claude API and tiktoken (o200k_base / cl100k_base), then grade the tool set A–F on description quality, type coverage, and schema specificity.

4 token providers · 5 weighted scoring dimensions
SECURE

Tool poisoning, rug pulls, and prompt-injection attempts

Heuristics scan every name, description, and schema for hidden Unicode, exfiltration hints, and manipulative phrasing. A per-tool hash is pinned per server, so if a tool's definition silently changes after you've approved it, you get a line-by-line diff and have to explicitly re-confirm — nothing updates behind your back. An optional Claude API deep scan catches paraphrased intent heuristics miss.

Rug pull findings require review + confirm before the pinned definition updates
AUTH

Every auth flow an MCP server actually uses

None, Bearer, OAuth2 Client Credentials, Custom Header, and full interactive SSO with PKCE — including OAuth endpoint auto-discovery and Dynamic Client Registration (RFC 7591), so most servers need zero manual configuration. The Auth Inspector shows exactly which headers went out and decodes the resulting JWT.

COMPARE

Two servers, side by side — and a report you can hand off

Run the same inspection against two endpoints at once to diff latency, token cost, and quality scores. Export a self-contained Markdown or JSON report with secrets redacted, ready to paste into a PR or a Slack thread.

Exhibit A

A deliberately hostile server, caught on first connect

MCP Server Tester UI showing the Tool Poisoning Risk card, with findings for hidden Unicode, a rug pull, and a prompt-injection attempt.
bad-mcp — a deliberately malicious test server ASCII smuggling, a rug pull, and a hidden prompt injection are all flagged on the first connect. Source: github.com/ytkoka/bad-mcp

Grading

Every server gets a letter grade, not a vague warning

The same A–F scale is used for both the LLM Readiness Score (are the tool definitions clear enough for an agent to use correctly?) and the Tool Poisoning Risk score (does anything look designed to manipulate the calling agent?).

F <45 D 45 C 60 B 75 A 90
  • Tool descriptions20%
  • Param descriptions25%
  • Type definitions25%
  • Required annotation15%
  • Schema specificity15%

Get started

Running locally takes one command

$pip install remote-mcp-server-tester
$mcp-tester# → http://localhost:8080

No Claude API key required — Generic and tiktoken token counting, plus the heuristic security scan, work fully offline. Or skip installation entirely and try the hosted demo (first request after idle takes ~50s to wake).