
mcp-debug
by TechNickAI
Claude Code plugin marketplace with 18 commands, 24 agents, and 33 coding rules
SKILL.md
name: mcp-debug
prettier-ignore
description: "Use when testing MCP servers, debugging MCP tool responses, exploring MCP capabilities, or diagnosing why an MCP tool returns unexpected data" version: 1.0.0 category: debugging triggers:
- "mcp"
- "test mcp"
- "debug mcp"
- "mcp tool"
- "mcp server"
- "mcptools"
Before using MCP debug commands, ensure mcptools is installed:
# Check if installed
which mcp || which mcpt
# Install via Homebrew (macOS)
brew tap f/mcptools && brew install mcp
# Or via Go
go install github.com/f/mcptools/cmd/mcptools@latest
If mcptools is not found, install it first before proceeding.
- Claude Code config:
~/.config/claude/claude_desktop_config.json - Direct URL:
http://localhost:9900with optional auth - mcptools aliases: Previously saved with
mcp alias add
To find available servers:
# Scan all known config locations
mcp configs scan
# List saved aliases
mcp alias list
List Tools
See what tools/operations an MCP server provides:
# HTTP server with bearer auth
mcp tools http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Using an alias
mcp tools server-alias
# Pretty JSON output
mcp tools --format pretty http://localhost:9900
Call a Tool
Execute an MCP tool directly with parameters:
# Call with JSON params
mcp call describe --params '{"action":"describe"}' http://localhost:9900 \
--headers "Authorization=Bearer $AUTH_TOKEN"
# Gateway-style (single tool with action param)
mcp call server-tool --params '{"action":"messages_recent","params":{"limit":5}}' \
http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Format output as pretty JSON
mcp call tool_name --params '{}' --format pretty http://localhost:9900
Interactive Shell
Open persistent connection for multiple commands:
mcp shell http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Then in shell:
# mcp> tools
# mcp> call describe --params '{"action":"describe"}'
Web Interface
Visual debugging in browser:
mcp web http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Opens http://localhost:41999
Example: Gateway Pattern MCP Server
Many MCP servers use a gateway pattern - a single tool with an action parameter for
progressive disclosure:
# List all operations
mcp call server-tool --params '{"action":"describe"}' http://localhost:9900 \
--headers "Authorization=Bearer $AUTH_TOKEN"
# Call specific operation
mcp call server-tool --params '{"action":"resource_list","params":{"limit":5}}' \
http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
Common Debug Commands
# Check if server is responding
curl -s http://localhost:9900/health
# List all tools via mcptools
mcp tools http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Get operation descriptions
mcp call server-tool --params '{"action":"describe"}' --format pretty \
http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
# Test a specific operation
mcp call server-tool --params '{"action":"resource_list","params":{"limit":3}}' \
--format pretty http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
Common Issues
Connection refused
- Check if server is running:
curl http://localhost:9900/health - Check if process is running (e.g.,
ps aux | grep mcp-server) - Check logs:
tail -20 /path/to/server/logs/error.log
401 Unauthorized
- Verify token:
echo $AUTH_TOKEN - Check mcptools header syntax:
Authorization=Bearer(mcptools uses=, HTTP uses:)
Tool not found
- Gateway pattern servers use a single tool with
actionparam - Not direct tool names - check server documentation for tool name
Empty/error results
- Check server permissions and configuration
- Run server-specific diagnostics if available
- Check server logs for errors
mcptools not found
- Install:
brew tap f/mcptools && brew install mcp - Or:
go install github.com/f/mcptools/cmd/mcptools@latest
Typical Debug Session
-
Verify connectivity
curl -s http://localhost:9900/health -
List available tools
mcp tools http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN" -
Get operation descriptions
mcp call server-tool --params '{"action":"describe"}' --format pretty \ http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN" -
Test specific operation
mcp call server-tool --params '{"action":"resource_list","params":{"limit":3}}' \ --format pretty http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN" -
If issues, check logs
tail -50 /path/to/server/logs/error.log
Reading MCP Results
MCP tools return JSON with this structure:
{
"content": [
{
"type": "text",
"text": "{ ... actual result as JSON string ... }"
}
]
}
The inner text field contains the actual result, often as a JSON string that needs
parsing. Use jq to extract:
mcp call server-tool --params '...' --format json http://localhost:9900 \
--headers "Authorization=Bearer $AUTH_TOKEN" \
| jq -r '.content[0].text' | jq .
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
