Back to list
TechNickAI

mcp-debug

by TechNickAI

Claude Code plugin marketplace with 18 commands, 24 agents, and 33 coding rules

15🍴 1📅 Jan 23, 2026

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.

  1. Claude Code config: ~/.config/claude/claude_desktop_config.json
  2. Direct URL: http://localhost:9900 with optional auth
  3. 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 action param
  • 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

  1. Verify connectivity

    curl -s http://localhost:9900/health
    
  2. List available tools

    mcp tools http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
    
  3. Get operation descriptions

    mcp call server-tool --params '{"action":"describe"}' --format pretty \
      http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
    
  4. Test specific operation

    mcp call server-tool --params '{"action":"resource_list","params":{"limit":3}}' \
      --format pretty http://localhost:9900 --headers "Authorization=Bearer $AUTH_TOKEN"
    
  5. 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

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon