MCP Spec Navigator

Navigate and explore the Model Context Protocol specification with dynamic markdown tree generation and intelligent section navigation.

@lepion/mcp-server-specnavigator

npm version

An intelligent MCP (Model Context Protocol) server for navigating, exploring, and understanding the Model Context Protocol specification with dynamic markdown tree generation, intelligent section navigation, and upstream synchronization.

๐ŸŽฏ Purpose

The MCP SpecNavigator server transforms the way you interact with MCP specifications by providing:

  • ๐ŸŒณ Dynamic Markdown Trees - Navigate specifications with auto-generated tree structures
  • ๐Ÿ” Intelligent Search - Find sections instantly with keyword search and anchor links
  • ๐Ÿ”„ Upstream Sync - Stay updated with the latest specification changes
  • ๐Ÿ“š Contextual Documentation - Access specific sections on-demand
  • โšก Performance Optimized - Efficient caching for fast responses

๐Ÿ“‹ Attribution

This project is based on and provides navigation for the Model Context Protocol specification created by the Model Context Protocol team. This is a wrapper/navigation tool that enhances access to the original specification.

โœจ Features

  • Dynamic Markdown Tree Generation: Automatically generates navigable tree structures from MCP specifications
  • Intelligent Section Search: Find sections by keywords and get direct anchor links
  • Specification Caching: Efficiently caches specifications to reduce network requests
  • Upstream Synchronization: Check for updates from the official MCP repository
  • Section Content Retrieval: Get specific sections of the specification on demand

๐Ÿ“ฆ Installation

Via npm (Recommended)

npm install -g @lepion/mcp-server-specnavigator

From Source

# Clone the repository
git clone https://github.com/kayaozkur/mcp-server-specnavigator.git
cd mcp-server-specnavigator

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Start the server
npm start

Development Mode

# Run with hot reload
npm run dev

๐Ÿ› ๏ธ Available Tools

1. fetch_spec_updates

Check for upstream changes in the MCP specification repository.

Parameters:

  • force_refresh (boolean, optional): Force refresh even if cache is valid

Returns:

  • Update status and any new changes detected

2. generate_markdown_tree

Create a navigable tree structure of the MCP specification.

Parameters:

  • max_depth (number, optional): Maximum depth of the tree (default: 3)
  • include_anchors (boolean, optional): Include anchor links in the tree

Returns:

  • Markdown-formatted tree structure with navigation links

3. find_section

Search for sections by keyword and return anchor links.

Parameters:

  • query (string, required): Search query for section titles
  • fuzzy (boolean, optional): Enable fuzzy matching (default: false)

Returns:

  • Array of matching sections with titles, paths, and anchor links

4. get_spec_content

Retrieve content from a specific section of the specification.

Parameters:

  • section_path (string, required): Path to the section (e.g., "protocol/messages")
  • include_subsections (boolean, optional): Include subsection content

Returns:

  • Markdown content of the requested section

โš™๏ธ MCP Configuration

For Claude Desktop

Add to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "specnavigator": {
      "command": "npx",
      "args": ["@lepion/mcp-server-specnavigator"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

For Development

{
  "mcpServers": {
    "specnavigator": {
      "command": "node",
      "args": ["/path/to/mcp-server-specnavigator/dist/index.js"],
      "env": {
        "NODE_ENV": "development"
      }
    }
  }
}

๐Ÿ—๏ธ Architecture

src/
โ”œโ”€โ”€ index.ts                    # Main MCP server entry point
โ”œโ”€โ”€ spec-fetcher.ts            # Handles fetching and caching specs
โ”œโ”€โ”€ markdown-tree-generator.ts  # Generates dynamic markdown trees
โ”œโ”€โ”€ anchor-navigator.ts        # Finds sections and generates anchors
โ””โ”€โ”€ tools.ts                   # MCP tool definitions

๐Ÿงช Development

Running Tests

npm test

Linting

npm run lint

Formatting

npm run format

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Model Context Protocol Team - For creating the MCP specification that this server navigates
  • Anthropic - For developing the Model Context Protocol standard
  • Contributors - Everyone who has contributed to improving this navigation tool

๐Ÿ”— Links


Built with โค๏ธ by the Lepion Team

Related Servers