درس ۶ از ۳۳

ابزار Inspector (Server inspector)

عنوان اصلی: Server inspector

هدف یادگیری: اجرای MCP Inspector روی یک server محلی برای بررسی tools، resources، prompts و notifications، بدون نوشتن client.

مفاهیم کلیدی: Inspector UI (port 6274)، Inspector proxy (port 6277)، CLI mode، request history، configuration export.

Inspector یک UI با React به‌علاوه یک proxy Node است که هر سه transport را می‌فهمد. مفیدترین ابزار debug برای نویسنده‌های MCP server است. تب‌هایی برای Tools، Resources، Prompts، Sampling و Notifications دارد، اجازه می‌دهد هر method را از طریق فرم تولیدشده صدا بزنید، و notificationها را به‌محض emit شدن stream می‌کند. یک حالت --cli هم برای تست CI به‌صورت scripted دارد.

مثال عملی — اجرا روی یک Python server

# UI mode (most common)
npx @modelcontextprotocol/inspector uv run server.py

# Or with the SDK's dev helper
uv run mcp dev server.py
# Inspector UI: http://localhost:6274 (proxy on 6277)

# Pass env vars and args through to the server
npx @modelcontextprotocol/inspector -e API_KEY=xxx node build/index.js arg1 arg2

# Custom ports
CLIENT_PORT=8080 SERVER_PORT=9000 npx @modelcontextprotocol/inspector node build/index.js

مثال عملی — حالت CLI برای CI

npx @modelcontextprotocol/inspector --cli node build/index.js \
  --method tools/list

npx @modelcontextprotocol/inspector --cli node build/index.js \
  --method tools/call --tool-name add --tool-arg a=2 --tool-arg b=3

npx @modelcontextprotocol/inspector --cli node build/index.js \
  --method resources/list

دیاگرام معماری (متنی): Browser → Inspector UI (React روی 6274) → Inspector Proxy (Node روی 6277) → MCP Server (subprocess STDIO یا URL Streamable HTTP). notificationها در همان مسیر برعکس روی یک کانال streaming جریان می‌یابند.

اشتباهات رایج

  • اجرا با نسخه اشتباه Node. به Node ^22.7.5 نیاز دارد.
  • یکی گرفتن «Inspector connection error» (proxy ↔ server) با «Inspector UI error» (browser ↔ proxy). هر دو port را چک کنید.
  • فراموش کردن اینکه Inspector در هر اتصال server را تازه راه می‌اندازد — state از session قبلی از بین رفته است.