Skip to main content

MCP Inspector Testing Guide

The MCP Inspector is an in-browser debugging tool for testing MCP servers without connecting to actual applications. This guide explains how to use it for DocuMCP development.

Prerequisites

  • Node.js 20+ installed
  • DocuMCP repository cloned
  • Dependencies installed (npm install)

Quick Start

Option 1: Build and Launch Inspector

npm run build:inspect

This command:

  1. Compiles TypeScript to dist/
  2. Launches MCP Inspector
  3. Opens browser at http://localhost:5173 (or similar)

Option 2: Launch Inspector with Existing Build

npm run build          # First build (if needed)
npm run dev:inspect # Then launch inspector

Using the Inspector

1. Connect to Server

  1. Open the browser URL provided by the inspector
  2. Click the "Connect" button in the left sidebar
  3. Wait for connection confirmation

2. Test Tools

The Tools section lists all available MCP tools:

Example: Testing analyze_repository

  1. Click "Tools" in the top navigation
  2. Select "analyze_repository" from the list
  3. In the right panel, enter parameters:
    {
    "path": "./",
    "depth": "standard"
    }
  4. Click "Run Tool"
  5. Verify the output includes:
    • File counts
    • Language detection
    • Dependency analysis
    • Memory insights

Example: Testing recommend_ssg

  1. First run analyze_repository (as above) to get an analysisId
  2. Select "recommend_ssg"
  3. Enter parameters:
    {
    "analysisId": "<id-from-previous-analysis>",
    "userId": "test-user",
    "preferences": {
    "priority": "simplicity",
    "ecosystem": "javascript"
    }
    }
  4. Click "Run Tool"
  5. Verify recommendation includes:
    • Recommended SSG
    • Confidence score
    • Reasoning
    • Alternative options

3. Test Resources

Resources provide static data for application UIs:

Example: Testing SSG List

  1. Click "Resources" in the top navigation
  2. Select "documcp://ssgs/available"
  3. Verify output shows all 5 SSGs:
    • Jekyll
    • Hugo
    • Docusaurus
    • MkDocs
    • Eleventy
  4. Check each SSG includes:
    • ID, name, description
    • Language, complexity, build speed
    • Best use cases

Example: Testing Configuration Templates

  1. Select "documcp://templates/jekyll-config"
  2. Verify YAML template is returned
  3. Test other templates:
    • documcp://templates/hugo-config
    • documcp://templates/docusaurus-config
    • documcp://templates/mkdocs-config
    • documcp://templates/eleventy-config
    • documcp://templates/diataxis-structure

4. Test Prompts

Prompts provide pre-written instructions for specialized tasks:

Example: Testing tutorial-writer

  1. Click "Prompts" in the top navigation
  2. Select "tutorial-writer"
  3. Provide arguments:
    {
    "project_path": "./",
    "target_audience": "beginners",
    "learning_goal": "deploy first documentation site"
    }
  4. Click "Get Prompt"
  5. Verify prompt messages include:
    • Project context (languages, frameworks)
    • Diataxis tutorial requirements
    • Step-by-step structure guidance

Example: Testing analyze-and-recommend workflow

  1. Select "analyze-and-recommend"
  2. Provide arguments:
    {
    "project_path": "./",
    "analysis_depth": "standard",
    "preferences": "good community support"
    }
  3. Verify workflow prompt includes:
    • Complete analysis workflow
    • SSG recommendation guidance
    • Implementation steps

Common Test Cases

Tool Testing Checklist

  • analyze_repository

    • Test with current directory (./)
    • Test with different depth levels
    • Verify memory integration works
    • Check similar projects are found
  • recommend_ssg

    • Test with valid analysisId
    • Test different preference combinations
    • Verify confidence scores
    • Check historical data integration
  • generate_config

    • Test each SSG type
    • Verify output format
    • Check template variables
  • setup_structure

    • Test Diataxis structure creation
    • Verify all categories included
    • Check example content
  • deploy_pages

    • Test workflow generation
    • Verify GitHub Actions YAML
    • Check custom domain support
  • validate_content

    • Test with documentation path
    • Verify link checking
    • Check code block validation

Resource Testing Checklist

  • documcp://ssgs/available

    • All 5 SSGs listed
    • Complete metadata for each
  • Templates

    • Jekyll config valid YAML
    • Hugo config valid YAML
    • Docusaurus config valid JS
    • MkDocs config valid YAML
    • Eleventy config valid JS
    • Diataxis structure valid JSON
  • Workflows

    • All workflows listed
    • Quick setup available
    • Full setup available
    • Guidance provided

Prompt Testing Checklist

  • Technical Writer Prompts

    • tutorial-writer
    • howto-guide-writer
    • reference-writer
    • explanation-writer
    • diataxis-organizer
    • readme-optimizer
  • Workflow Prompts

    • analyze-and-recommend
    • setup-documentation
    • troubleshoot-deployment

Troubleshooting

Inspector Won't Connect

Problem: Connection fails or times out

Solutions:

  1. Ensure server is built: npm run build
  2. Check no other process is using the port
  3. Try restarting: Ctrl+C and re-run npm run dev:inspect

Tool Returns Error

Problem: Tool execution fails with error message

Solutions:

  1. Check parameter format (must be valid JSON)
  2. Verify required parameters are provided
  3. Ensure file paths exist (for file-based tools)
  4. Check server logs for detailed error messages

Resource Not Found

Problem: Resource URI returns "Resource not found" error

Solutions:

  1. Verify URI spelling matches exactly (case-sensitive)
  2. Check resource list for available URIs
  3. Ensure server version matches documentation

Prompt Arguments Missing

Problem: Prompt doesn't use provided arguments

Solutions:

  1. Check argument names match prompt definition
  2. Verify JSON format is correct
  3. Required arguments must be provided

Best Practices

During Development

  1. Keep Inspector Open: Launch inspector at start of development session
  2. Test After Changes: Run tool tests after modifying tool implementation
  3. Verify All Paths: Test both success and error paths
  4. Check Edge Cases: Test with unusual inputs, empty values, etc.

Before Committing

  1. Full Tool Test: Test at least one example from each tool
  2. Resource Validation: Verify all resources return valid data
  3. Prompt Verification: Check prompts generate correct messages
  4. Error Handling: Test with invalid inputs to verify error messages

For Bug Fixing

  1. Reproduce in Inspector: Use inspector to reproduce bug consistently
  2. Test Fix: Verify fix works in inspector before integration testing
  3. Regression Test: Test related tools to ensure no regressions
  4. Document: Add test case to this guide if bug was subtle

Integration with Development Workflow

Daily Development

# Morning startup
npm run build:inspect

# Keep inspector tab open
# Make code changes in editor
# Test changes in inspector
# Iterate until working

# Before lunch/end of day
npm run build && npm test

Pre-Commit Workflow

# Run full validation
npm run ci

# Test in inspector
npm run build:inspect

# Manual spot checks on key tools
# Commit when all checks pass

CI/CD Integration

While MCP Inspector is primarily for local development, you can add automated checks:

# In CI pipeline (future enhancement)
npm run build
npx @modelcontextprotocol/inspector dist/index.js --test automated-tests.json

Additional Resources

Feedback

If you encounter issues with MCP Inspector or this guide:

  1. Check for known issues: https://github.com/modelcontextprotocol/inspector/issues
  2. Report DocuMCP-specific issues: https://github.com/anthropics/documcp/issues
  3. Suggest improvements to this guide via pull request

Last Updated: 2025-10-09 Version: 1.0.0