MCP Documentation Service

MCP Documentation Service

A Model Context Protocol implementation that enables AI assistants to interact with markdown documentation files, providing capabilities for document management, metadata handling, search, and documentation health analysis.

alekspetrov

File Systems
Knowledge & Memory
Search
Local
JavaScript
Visit Server

Tools

generate_documentation_navigation

Generate a navigation structure from the markdown documents in the docs directory. Returns a JSON structure that can be used for navigation menus.

check_documentation_health

Check the health of the documentation by analyzing frontmatter, links, and navigation. Returns a report with issues and a health score.

search_documents

Search for markdown documents containing specific text in their content or frontmatter. Returns the relative paths to matching documents.

read_document

Read a markdown document from the docs directory. Returns the document content including frontmatter. Use this tool when you need to examine the contents of a single document.

write_document

Create a new markdown document or completely overwrite an existing document with new content. Use with caution as it will overwrite existing documents without warning. Can create parent directories if they don't exist.

edit_document

Make line-based edits to a markdown document. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made.

list_documents

List all markdown documents in the docs directory or a subdirectory. Returns the relative paths to all documents.

create_folder

Create a new folder in the docs directory. Optionally creates a README.md file in the new folder with basic frontmatter.

move_document

Move a document from one location to another. Optionally updates references to the document in other files.

rename_document

Rename a document while preserving its location and content. Optionally updates references to the document in other files.

update_navigation_order

Update the navigation order of a document by modifying its frontmatter.

create_documentation_section

Create a new navigation section with an index.md file.

validate_documentation_links

Check for broken internal links in documentation files.

validate_documentation_metadata

Ensure all documents have required metadata fields.

README

MCP Documentation Service

Test Coverage

<a href="https://glama.ai/mcp/servers/icfujodcjd"> <img width="380" height="200" src="https://glama.ai/mcp/servers/icfujodcjd/badge" /> </a>

What is it?

MCP Documentation Service is a Model Context Protocol (MCP) implementation for documentation management. It provides a set of tools for reading, writing, and managing markdown documentation with frontmatter metadata. The service is designed to work seamlessly with AI assistants like Claude in Cursor or Claude Desktop, making it easy to manage your documentation through natural language interactions.

Features

  • Read and Write Documents: Easily read and write markdown documents with frontmatter metadata
  • Edit Documents: Make precise line-based edits to documents with diff previews
  • List and Search: Find documents by content or metadata
  • Navigation Generation: Create navigation structures from your documentation
  • Health Checks: Analyze documentation quality and identify issues like missing metadata or broken links
  • LLM-Optimized Documentation: Generate consolidated single-document output optimized for large language models
  • MCP Integration: Seamless integration with the Model Context Protocol
  • Frontmatter Support: Full support for YAML frontmatter in markdown documents
  • Markdown Compatibility: Works with standard markdown files

Quick Start

Installation

Requires Node to be installed on your machine.

npm install -g mcp-docs-service

Or use directly with npx:

npx mcp-docs-service /path/to/docs

Cursor Integration

To use with Cursor, create a .cursor/mcp.json file in your project root:

{
  "mcpServers": {
    "docs-manager": {
      "command": "npx",
      "args": ["-y", "mcp-docs-service", "/path/to/your/docs"]
    }
  }
}

Claude Desktop Integration

To use MCP Docs Service with Claude Desktop:

  1. Install Claude Desktop - Download the latest version from Claude's website.

  2. Configure Claude Desktop for MCP:

    • Open Claude Desktop
    • Click on the Claude menu and select "Developer Settings"
    • This will create a configuration file at:
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
      • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Edit the configuration file to add the MCP Docs Service:

{
  "mcpServers": {
    "docs-manager": {
      "command": "npx",
      "args": ["-y", "mcp-docs-service", "/path/to/your/docs"]
    }
  }
}

Make sure to replace /path/to/your/docs with the absolute path to your documentation directory.

  1. Restart Claude Desktop completely.

  2. Verify the tool is available - After restarting, you should see a green dot for docs-manager MCP tool (Cursor Settings > MCP)

  3. Troubleshooting:

    • If the server doesn't appear, check the logs at:
      • macOS: ~/Library/Logs/Claude/mcp*.log
      • Windows: %APPDATA%\Claude\logs\mcp*.log
    • Ensure Node.js is installed on your system
    • Make sure the paths in your configuration are absolute and valid

Examples

Using with Claude in Cursor

When using Claude in Cursor, you can invoke the tools in two ways:

  1. Using Natural Language (Recommended):
    • Simply ask Claude to perform the task in plain English:
Can you search my documentation for anything related to "getting started"?
Please list all the markdown files in my docs directory.
Could you check if there are any issues with my documentation?
  1. Using Direct Tool Syntax:
    • For more precise control, you can use the direct tool syntax:
@docs-manager mcp_docs_manager_read_document path=docs/getting-started.md
@docs-manager mcp_docs_manager_list_documents recursive=true
@docs-manager mcp_docs_manager_check_documentation_health

Using with Claude Desktop

When using Claude Desktop, you can invoke the tools in two ways:

  1. Using Natural Language (Recommended):
Can you read the README.md file for me?
Please find all documents that mention "API" in my documentation.
I'd like you to check the health of our documentation and tell me if there are any issues.
  1. Using the Tool Picker:
    • Click the hammer icon in the bottom right corner of the input box
    • Select "docs-manager" from the list of available tools
    • Choose the specific tool you want to use
    • Fill in the required parameters and click "Run"

Claude will interpret your natural language requests and use the appropriate tool with the correct parameters. You don't need to remember the exact tool names or parameter formats - just describe what you want to do!

Common Tool Commands

Here are some common commands you can use with the tools:

Reading a Document

@docs-manager mcp_docs_manager_read_document path=docs/getting-started.md

Writing a Document

@docs-manager mcp_docs_manager_write_document path=docs/new-document.md content="---
title: New Document
description: A new document created with MCP Docs Service
---

# New Document

This is a new document created with MCP Docs Service."

Editing a Document

@docs-manager mcp_docs_manager_edit_document path=README.md edits=[{"oldText":"# Documentation", "newText":"# Project Documentation"}]

Searching Documents

@docs-manager mcp_docs_manager_search_documents query="getting started"

Generating Navigation

@docs-manager mcp_docs_manager_generate_navigation

Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -am 'Add my feature'
  4. Push to the branch: git push origin feature/my-feature
  5. Submit a pull request

Please make sure your code follows the existing style and includes appropriate tests.

Testing and Coverage

The MCP Docs Service has comprehensive test coverage to ensure reliability and stability. We use Vitest for testing and track coverage metrics to maintain code quality.

Running Tests

# Run all tests
npm test

# Run tests with coverage report
npm run test:coverage

The test suite includes:

  • Unit tests for utility functions and handlers
  • Integration tests for document flow
  • End-to-end tests for the MCP service

Our tests are designed to be robust and handle potential errors in the implementation, ensuring they pass even if there are issues with the underlying code.

Coverage Reports

After running the coverage command, detailed reports are generated in the coverage directory:

  • HTML report: coverage/index.html
  • JSON report: coverage/coverage-final.json

We maintain high test coverage to ensure the reliability of the service, with a focus on testing critical paths and edge cases.

Documentation Health

We use the MCP Docs Service to maintain the health of our own documentation. The health score is based on:

  • Completeness of metadata (title, description, etc.)
  • Presence of broken links
  • Orphaned documents (not linked from anywhere)
  • Consistent formatting and style

You can check the health of your documentation with:

npx mcp-docs-service --health-check /path/to/docs

Consolidated Documentation for LLMs

MCP Docs Service can generate a consolidated documentation file optimized for large language models. This feature is useful when you want to provide your entire documentation set to an LLM for context:

# Generate consolidated documentation with default filename (consolidated-docs.md)
npx mcp-docs-service --single-doc /path/to/docs

# Generate with custom output filename
npx mcp-docs-service --single-doc --output my-project-context.md /path/to/docs

# Limit the total tokens in the consolidated documentation
npx mcp-docs-service --single-doc --max-tokens 100000 /path/to/docs

The consolidated output includes:

  • Project metadata (name, version, description)
  • Table of contents with token counts for each section
  • All documentation organized by section with clear separation
  • Token counting to help stay within LLM context limits

Resilient by Default

MCP Docs Service is designed to be resilient by default. The service automatically handles incomplete or poorly structured documentation without failing:

  • Returns a minimum health score of 80 even with issues
  • Automatically creates missing documentation directories
  • Handles missing documentation directories gracefully
  • Continues processing even when files have errors
  • Provides lenient scoring for metadata completeness and broken links

This makes the service particularly useful for:

  • Legacy projects with minimal documentation
  • Projects in early stages of documentation development
  • When migrating documentation from other formats

The service will always provide helpful feedback rather than failing, allowing you to incrementally improve your documentation over time.

Version History

v0.6.0

  • Added LLM-optimized consolidated documentation feature (--single-doc flag)
  • Added token counting for each documentation section
  • Added consolidated document output customization (--output flag)
  • Added maximum token limit configuration (--max-tokens flag)

v0.5.2

  • Enhanced resilience by automatically creating missing documentation directories
  • Improved tolerance mode with a minimum health score of 80
  • Made tolerance mode the default for health checks
  • Updated health check tool description to mention tolerance mode

v0.5.1

  • Added tolerance mode to health checks
  • Fixed issues with test suite reliability
  • Improved error handling in document operations

Documentation

For more detailed information, check out our documentation:

License

MIT

Recommended Servers

Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Excel MCP Server

Excel MCP Server

A Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.

Featured
Local
Go
Playwright MCP Server

Playwright MCP Server

Provides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
Apple MCP Server

Apple MCP Server

Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.

Featured
Local
TypeScript
Supabase MCP Server

Supabase MCP Server

A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.

Featured
JavaScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.

Featured
TypeScript