Skip to main content
Glama
perryjr1444-ux

Autonomous Documentation MCP

Autonomous Documentation MCP

npm version License: MIT TypeScript MCP Compatible PRs Welcome

Autonomous documentation generation tool powered by Model Context Protocol (MCP) with Mintlify-style presentation for codebases. Automatically analyze, generate, and maintain beautiful documentation that stays in sync with your code.

Overview

Autonomous Documentation MCP is an intelligent documentation system that understands your codebase and generates professional-grade documentation automatically. Built on the Model Context Protocol, it provides AI agents with powerful tools to analyze code structure, extract APIs, and create comprehensive documentation with zero manual configuration.

graph LR
    subgraph "Documentation Workflow"
        CODE[Codebase] --> ANALYZE[Analyze<br/>analyze_codebase]
        ANALYZE --> GENERATE[Generate<br/>generate_documentation]
        GENERATE --> VALIDATE[Validate<br/>validate_documentation]
        VALIDATE --> SYNC[Sync<br/>sync_documentation]

        CODE --> API[API Reference<br/>generate_api_reference]
        CODE --> EXAMPLES[Extract Examples<br/>extract_code_examples]
        CODE --> CHANGELOG[Generate Changelog<br/>generate_changelog]

        API --> DOCS[Mintlify Docs]
        EXAMPLES --> DOCS
        CHANGELOG --> DOCS
        GENERATE --> DOCS
    end

    style CODE fill:#667eea
    style ANALYZE fill:#4ecdc4
    style GENERATE fill:#95e1d3
    style VALIDATE fill:#ffd93d
    style SYNC fill:#6bcf7f
    style DOCS fill:#764ba2

Why Autonomous Docs MCP?

  • Zero Configuration: Works out of the box with intelligent defaults

  • AI-Native: Built specifically for AI agent consumption via MCP

  • Mintlify-Style: Generates beautiful, modern documentation

  • Multi-Language: Supports TypeScript, JavaScript, Python, Go, Rust, Java, and more

  • Continuous Sync: Keeps docs updated as code evolves

  • Quality Validation: Built-in checks for links, examples, and completeness

Related MCP server: Documentation MCP Server

Features

Core Capabilities

  • Autonomous Codebase Analysis: Automatically scan and understand your entire codebase structure

  • Mintlify-Style Generation: Generate beautiful, modern documentation with MDX and Mintlify components

  • API Reference Auto-Generation: Extract API definitions from code annotations, JSDoc, and docstrings

  • Smart Navigation: Automatically organize docs with intelligent navigation structure

  • Documentation Validation: Ensure quality with built-in validation for links, examples, and frontmatter

  • Sync with Source: Keep docs updated as code changes with automatic change detection

  • Multi-Language Support: First-class support for TypeScript, JavaScript, Python, Go, Rust, Java

  • Changelog Generation: Automatically generate changelogs from git history with semantic versioning

  • Code Example Extraction: Extract and organize code examples from tests, demos, and source files

MCP Tools

The server exposes 8 powerful tools via Model Context Protocol:

  1. analyze_codebase - Autonomously analyze entire codebase structure

  2. generate_documentation - Generate complete Mintlify-style documentation

  3. generate_api_reference - Generate API reference from code annotations

  4. create_docs_config - Generate docs.json configuration

  5. validate_documentation - Validate MDX files, links, and code examples

  6. sync_documentation - Sync docs with codebase changes

  7. generate_changelog - Generate changelog from git history

  8. extract_code_examples - Extract code examples from source

Installation

Prerequisites

  • Node.js 18+

  • npm or yarn

  • Git (for changelog generation)

Quick Install

# Clone the repository
git clone https://github.com/perryjr1444/autonomous-docs-mcp.git
cd autonomous-docs-mcp

# Install dependencies
npm install

# Build the project
npm run build

Development Setup

# Install dependencies
npm install

# Run in development mode with hot reload
npm run dev

# Run tests
npm test

# Lint code
npm run lint

Configuration

MCP Server Configuration

Add to your .claude.json or MCP client configuration:

{
  "mcpServers": {
    "autonomous-docs": {
      "command": "node",
      "args": ["/path/to/autonomous-docs-mcp/dist/index.js"],
      "env": {}
    }
  }
}

Project Configuration (Optional)

Create a .autodocs.json in your project root for custom settings:

{
  "includePatterns": ["**/*.ts", "**/*.js", "**/*.py"],
  "excludePatterns": ["node_modules/**", "dist/**", "*.test.*"],
  "theme": "modern",
  "outputDir": "./docs",
  "apiReference": {
    "format": "mintlify",
    "includePrivate": false
  },
  "validation": {
    "strict": true,
    "checkLinks": true,
    "checkCodeExamples": true
  }
}

Usage

Quick Start

// 1. Analyze your codebase
const analysis = await analyze_codebase({
  path: "/Users/you/my-project",
  depth: "comprehensive",
  include_patterns: ["**/*.ts", "**/*.py"],
  exclude_patterns: ["node_modules/**", "dist/**"]
});

// 2. Generate documentation
const docs = await generate_documentation({
  analysis_result: JSON.stringify(analysis),
  output_dir: "./docs",
  theme: "modern",
  include_api_reference: true,
  include_examples: true
});

// 3. Validate generated docs
const validation = await validate_documentation({
  docs_path: "./docs",
  strict: false,
  check_links: true,
  check_code_examples: true
});

API Reference

analyze_codebase

Analyze entire codebase structure and identify documentation needs.

analyze_codebase({
  path: string,                    // Root path (defaults to current directory)
  include_patterns?: string[],     // Glob patterns to include
  exclude_patterns?: string[],     // Glob patterns to exclude
  depth?: "quick" | "standard" | "comprehensive"  // Analysis depth
})

Returns: JSON analysis result with:

  • Project structure

  • Identified components and APIs

  • Documentation recommendations

  • File classifications

generate_documentation

Generate complete Mintlify-style documentation with MDX files, frontmatter, and navigation.

generate_documentation({
  analysis_result: string,         // JSON from analyze_codebase
  output_dir?: string,             // Output directory (default: "./docs")
  theme?: "default" | "minimal" | "technical" | "modern",
  include_api_reference?: boolean, // Auto-generate API reference
  include_examples?: boolean       // Generate code examples
})

Returns: Generation report with:

  • Files created

  • Navigation structure

  • Theme configuration

  • Validation summary

generate_api_reference

Generate API reference documentation from code annotations.

generate_api_reference({
  source_path: string,             // Path to source code
  output_path?: string,            // Output path for API reference
  format?: "mintlify" | "openapi" | "markdown",
  include_private?: boolean        // Include private/internal APIs
})

create_docs_config

Generate docs.json configuration with navigation and theme settings.

create_docs_config({
  project_name: string,            // Project name
  structure: string,               // JSON string of doc structure
  theme_config?: object,           // Theme customization
  integrations?: string[]          // Integrations (e.g., ['github', 'slack'])
})

validate_documentation

Validate MDX files, frontmatter, internal links, and code examples.

validate_documentation({
  docs_path: string,               // Path to documentation directory
  strict?: boolean,                // Enable strict validation mode
  check_links?: boolean,           // Validate all internal links
  check_code_examples?: boolean    // Validate code examples syntax
})

Returns: Validation report with:

  • Errors and warnings

  • Broken links

  • Invalid code examples

  • Missing frontmatter

sync_documentation

Sync documentation with codebase changes and detect outdated content.

sync_documentation({
  docs_path: string,               // Path to documentation directory
  source_path: string,             // Path to source code
  auto_update?: boolean            // Automatically update outdated docs
})

Returns: Sync report with:

  • Outdated files

  • New APIs detected

  • Removed components

  • Update suggestions

generate_changelog

Generate changelog from git history with semantic versioning.

generate_changelog({
  repo_path: string,               // Path to git repository
  from_version?: string,           // Starting version/tag
  to_version?: string,             // Ending version/tag (defaults to HEAD)
  format?: "mintlify" | "keep-a-changelog" | "conventional"
})

extract_code_examples

Extract and organize code examples from tests, demos, and source files.

extract_code_examples({
  source_path: string,             // Path to source code
  output_path?: string,            // Output path for examples
  categories?: string[]            // Example categories to extract
})

Documentation Structure

Generated documentation follows Mintlify best practices:

docs/
├── introduction.mdx              # Project overview
├── quickstart.mdx                # Getting started guide
├── installation.mdx              # Installation instructions
├── api/
│   ├── overview.mdx             # API reference overview
│   ├── authentication.mdx       # Authentication guide
│   └── endpoints/               # Individual endpoint docs
│       ├── users.mdx
│       └── projects.mdx
├── guides/
│   ├── overview.mdx             # Guides overview
│   ├── best-practices.mdx       # Best practices
│   └── troubleshooting.mdx      # Common issues
├── components/                   # Component documentation
│   ├── button.mdx
│   └── modal.mdx
├── examples/                     # Code examples
│   ├── basic-usage.mdx
│   └── advanced-usage.mdx
├── changelog.mdx                 # Changelog
└── docs.json                     # Navigation configuration

Frontmatter Requirements

All generated MDX files include proper frontmatter for Mintlify:

---
title: "Page Title"
description: "Page description for SEO and navigation"
icon: "file-lines"
---

Mintlify Components

Generated docs support and utilize Mintlify's component library:

<Card title="Feature Name" icon="star">
  Feature description
</Card>

<CardGroup cols={2}>
  <Card title="Card 1" icon="rocket">Content</Card>
  <Card title="Card 2" icon="shield">Content</Card>
</CardGroup>

<Accordion title="Click to expand">
  Collapsible content
</Accordion>

<CodeGroup>
```typescript
// TypeScript example
const example = "code";
# Python example
example = "code"

Examples

Check out the examples/ directory for:

  • API Plugin Integration - Integrate with API documentation tools

  • Continuous Sync - Keep docs in sync with CI/CD

  • Custom Themes - Create custom documentation themes

  • GitHub Actions - Automate doc generation on push

  • Mintlify Deploy - Deploy to Mintlify hosting

  • Multi-Repo - Aggregate docs from multiple repositories

  • Pre-commit Hooks - Validate docs before commits

See examples/INTEGRATION_EXAMPLES.md for detailed integration guides.

Best Practices

  1. Run Analysis Regularly: Keep docs in sync with code changes

    # Add to CI/CD pipeline
    npm run analyze && npm run generate
  2. Validate Before Deploying: Use validation tool to catch issues

    npm run validate-docs
  3. Customize Themes: Match your brand with theme configuration

    {
      "theme": "modern",
      "theme_config": {
        "primaryColor": "#0D9373",
        "logo": "/logo.svg"
      }
    }
  4. Use Examples: Include practical code examples in documentation

    • Extract from test files

    • Create dedicated example files

    • Show common use cases

  5. Keep it Fresh: Use sync tool to detect outdated content

    npm run sync-docs
  6. Leverage Git Hooks: Automatically validate docs on commit

    # Install pre-commit hook
    cp examples/pre-commit/.pre-commit-config.yaml .

Development

Project Structure

autonomous-docs-mcp/
├── src/
│   ├── index.ts                 # MCP server entry point
│   ├── analyzers/
│   │   └── codebase-analyzer.ts # Codebase analysis logic
│   ├── generators/
│   │   ├── mdx-generator.ts    # MDX file generation
│   │   └── docs-config-generator.ts # Config generation
│   └── validators/
│       └── doc-validator.ts     # Documentation validation
├── dist/                         # Compiled JavaScript
├── examples/                     # Usage examples
├── tests/                        # Test suite
├── package.json
├── tsconfig.json
└── README.md

Building

# Build TypeScript
npm run build

# Clean build artifacts
npm run clean

# Rebuild from scratch
npm run clean && npm run build

Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run with coverage
npm run test:coverage

Linting

# Lint TypeScript files
npm run lint

# Fix linting issues automatically
npm run lint:fix

Security

  • No Sensitive Data: Never includes sensitive data in generated docs

  • Link Validation: Validates all links before generation

  • Code Sanitization: Sanitizes code examples to prevent injection

  • Gitignore Respect: Respects .gitignore patterns automatically

  • Private API Control: Option to exclude private/internal APIs

Troubleshooting

Common Issues

Build Errors

# Clear node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
npm run build

MCP Connection Issues

# Check server is running
ps aux | grep autonomous-docs

# Check configuration
cat ~/.claude.json | grep autonomous-docs

Validation Errors

# Run validation with verbose output
npm run validate-docs -- --verbose

# Check specific file
npm run validate-docs -- --file docs/api/endpoint.mdx

Contributing

We welcome contributions! Please see CONTRIBUTING.md for:

  • Code of Conduct

  • Development workflow

  • Pull request process

  • Coding standards

  • Testing guidelines

Changelog

See CHANGELOG.md for version history and release notes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments

Roadmap

  • Support for more programming languages (Ruby, PHP, C#)

  • Integration with popular documentation platforms (ReadTheDocs, GitBook)

  • Real-time collaboration features

  • AI-powered documentation suggestions

  • Visual documentation builder

  • Multi-language documentation support (i18n)

  • Documentation analytics and insights

Author

perryjr1444


Made with ❤️ by the MCP community

Available Tools

8 tools
analyze_codebaseC

Autonomously analyze entire codebase structure, extract documentation needs, identify APIs, components, and generate documentation plan

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoRoot path to analyze (defaults to current directory)
include_patternsNoGlob patterns to include (e.g., ['**/*.ts', '**/*.py'])
exclude_patternsNoGlob patterns to exclude (e.g., ['node_modules/**', 'dist/**'])
depthNoAnalysis depth levelstandard

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'autonomously analyze' and 'generate documentation plan', implying it performs read operations and creates output, but doesn't disclose behavioral traits like whether it modifies files, requires specific permissions, has rate limits, or what the 'documentation plan' output entails. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads key actions ('analyze', 'extract', 'identify', 'generate'). It avoids unnecessary words and directly states the tool's function. However, it could be slightly more structured by separating analysis from output generation for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a tool that performs autonomous analysis and generates a plan (implying potential complexity), the description is incomplete. It doesn't explain what a 'documentation plan' is, how the analysis is conducted, or any prerequisites. For a tool with 4 parameters and significant functionality, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 4 parameters. The description adds no additional meaning about parameters beyond what's in the schema (e.g., it doesn't explain how 'depth' levels affect analysis or provide examples for patterns). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Autonomously analyze entire codebase structure, extract documentation needs, identify APIs, components, and generate documentation plan'. It specifies the verb ('analyze') and resource ('entire codebase structure') with additional outcomes. However, it doesn't explicitly differentiate from siblings like 'extract_code_examples' or 'generate_api_reference', which might have overlapping analysis functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'extract_code_examples', 'generate_api_reference', and 'generate_documentation', there's no indication of whether this is a preliminary step, a comprehensive analysis, or how it relates to other documentation tools. Usage context is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_docs_configC

Generate docs.json configuration with navigation, theme settings, and integrations

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesProject name for documentation
structureYesJSON string of documentation structure
theme_configNoTheme customization options
integrationsNoIntegrations to enable (e.g., ['github', 'slack'])

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Generate', implying a creation operation, but doesn't specify if this overwrites existing files, requires specific permissions, or handles errors. It mentions 'docs.json configuration' but doesn't describe the output format or any side effects, leaving key behavioral traits unclear for a tool with potential file system impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and key components. Every word earns its place by specifying the output ('docs.json configuration') and the main features included. There is no redundancy or unnecessary elaboration, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and involves creating a configuration file (a non-trivial operation), the description is insufficiently complete. It doesn't explain what the generated configuration is used for, how it integrates with sibling tools, or what the expected outcome is. For a tool with 4 parameters and potential system impacts, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'navigation, theme settings, and integrations', which loosely maps to the parameters 'structure', 'theme_config', and 'integrations'. However, with 100% schema description coverage, the schema already documents all parameters fully. The description adds minimal semantic context beyond what the schema provides, such as clarifying that 'structure' relates to navigation, but doesn't compensate for any gaps since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate') and the resource ('docs.json configuration'), specifying it includes navigation, theme settings, and integrations. It distinguishes from siblings like 'generate_documentation' by focusing on configuration generation rather than full documentation creation. However, it doesn't explicitly differentiate from all siblings, such as 'validate_documentation'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'generate_documentation' or 'sync_documentation'. It lacks context about prerequisites, such as needing a project structure defined first, or exclusions, like not being suitable for updating existing configurations. This leaves the agent with minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_code_examplesC

Extract and organize code examples from tests, demos, and source files

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYesPath to source code
output_pathNoOutput path for examples
categoriesNoExample categories to extract

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'extract and organize' but doesn't specify whether this is a read-only operation, what permissions are needed, how it handles errors, or the format of the output. This leaves significant gaps in understanding the tool's behavior beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of extracting and organizing code examples, the lack of annotations, and no output schema, the description is insufficient. It doesn't cover behavioral aspects like error handling, output format, or integration with sibling tools, leaving the agent with incomplete context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all parameters (source_path, output_path, categories) with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as explaining how categories are used or what 'organize' entails, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'extract and organize' and the resource 'code examples from tests, demos, and source files', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'analyze_codebase' or 'generate_documentation', which might also involve code processing, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'generate_documentation' or 'analyze_codebase'. It lacks context about prerequisites, exclusions, or specific scenarios, leaving the agent to infer usage based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_api_referenceC

Generate API reference documentation from code annotations, JSDoc, docstrings, and type definitions

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYesPath to source code for API extraction
output_pathNoOutput path for API reference
formatNoOutput formatmintlify
include_privateNoInclude private/internal APIs

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool's function but lacks details on critical behaviors such as error handling, processing time, file system impacts, or output characteristics. For a tool that generates documentation, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the key action and resources, making it easy to parse quickly, which is ideal for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of generating API documentation and the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like what happens if source_path is invalid, how output is structured, or any dependencies, leaving gaps that could hinder effective tool use by an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning the input schema fully documents all four parameters. The description adds no additional parameter semantics beyond what's in the schema, such as examples or constraints. However, since the schema is comprehensive, a baseline score of 3 is appropriate as the description doesn't need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate API reference documentation') and source materials ('from code annotations, JSDoc, docstrings, and type definitions'), which is specific and informative. However, it doesn't explicitly differentiate this tool from sibling tools like 'generate_documentation' or 'create_docs_config', which might have overlapping functionality, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'generate_documentation' and 'create_docs_config' present, there's no indication of specific use cases, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_changelogC

Generate changelog from git history with semantic versioning and categorization

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYesPath to git repository
from_versionNoStarting version/tag
to_versionNoEnding version/tag (defaults to HEAD)
formatNoChangelog formatmintlify

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'generate changelog' but doesn't specify whether this is a read-only operation, if it modifies files, what permissions are required, or what the output looks like (e.g., file creation, console output). For a tool with 4 parameters and no annotations, this leaves significant gaps in understanding its behavior and effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose: 'Generate changelog from git history with semantic versioning and categorization'. Every word contributes meaning without redundancy, making it easy for an agent to parse quickly. There's no wasted text or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like whether the tool writes files or outputs to console, what errors might occur, or how to interpret results. The 100% schema coverage helps with parameters, but overall context for safe and effective use is lacking, especially for a tool that likely involves file system operations and git commands.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, providing clear documentation for all parameters (repo_path, from_version, to_version, format with enum). The description adds minimal value beyond the schema, mentioning 'git history' which relates to repo_path and version parameters, and 'semantic versioning and categorization' which hints at the format options. However, it doesn't explain parameter interactions or provide additional context like default behaviors beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate changelog from git history with semantic versioning and categorization'. It specifies the action (generate), resource (changelog), and key characteristics (from git history, with semantic versioning and categorization). However, it doesn't explicitly differentiate this tool from its sibling tools like 'analyze_codebase' or 'generate_documentation', which might also involve git operations or documentation generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a git repository), exclusions (e.g., not for non-git projects), or how it differs from sibling tools like 'generate_documentation' or 'validate_documentation'. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_documentationC

Generate complete Mintlify-style documentation with MDX files, frontmatter, navigation, and configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
analysis_resultYesJSON string from analyze_codebase or path to analysis file
output_dirNoOutput directory for generated documentation./docs
themeNoDocumentation theme/styledefault
include_api_referenceNoAuto-generate API reference pages
include_examplesNoGenerate code examples

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions generating documentation but lacks behavioral details: it doesn't specify if this overwrites existing files, requires specific permissions, has rate limits, or what the output looks like. For a tool that likely creates files and directories, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and lists key output components. There's no wasted verbiage, and it's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (generating documentation with multiple components), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the relationship with 'analyze_codebase', what 'complete' entails, or behavioral aspects like file handling. More context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no parameter-specific information beyond the tool's overall purpose. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't enhance understanding of parameters like 'analysis_result' or 'theme'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate complete Mintlify-style documentation with MDX files, frontmatter, navigation, and configuration.' It specifies the verb ('Generate') and resource ('Mintlify-style documentation') with details about output components. However, it doesn't explicitly differentiate from siblings like 'create_docs_config' or 'generate_api_reference' which might handle parts of this process.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'analyze_codebase' (likely a prerequisite), 'create_docs_config', 'generate_api_reference', and 'sync_documentation', there's no indication of workflow sequencing, overlap, or exclusions. Usage is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_documentationC

Sync documentation with codebase changes, detect outdated content, and suggest updates

ParametersJSON Schema
NameRequiredDescriptionDefault
docs_pathYesPath to documentation directory
source_pathYesPath to source code
auto_updateNoAutomatically update outdated documentation

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions actions ('sync', 'detect', 'suggest updates') but fails to specify critical traits: whether it's read-only or destructive (e.g., if 'auto_update' modifies files), permission requirements, rate limits, or output format. For a tool with potential mutation (via 'auto_update'), this lack of detail is a significant gap, scoring low due to inadequate behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded in a single sentence, efficiently stating the core functions without unnecessary words. Every phrase ('sync documentation with codebase changes', 'detect outdated content', 'suggest updates') contributes directly to the purpose. It could be slightly improved by structuring into separate sentences for clarity, but it avoids waste, earning a high score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of syncing documentation (a non-trivial task with potential mutations via 'auto_update'), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, error handling, or what 'suggest updates' entails (e.g., format of suggestions). For a tool with 3 parameters and possible destructive actions, this minimal description is inadequate, failing to provide enough context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters ('docs_path', 'source_path', 'auto_update') with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as explaining how paths are interpreted or the implications of 'auto_update'. Baseline is 3 when schema does the heavy lifting, and the description doesn't compensate with extra insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('sync', 'detect', 'suggest updates') and identifies the resource ('documentation with codebase changes'). It distinguishes from siblings like 'generate_documentation' or 'validate_documentation' by focusing on synchronization rather than creation or validation. However, it doesn't explicitly name the sibling it differs from, keeping it at a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'validate_documentation' or 'generate_documentation' from the sibling list. It implies usage for syncing docs with code changes but lacks explicit when/when-not instructions or prerequisites, such as needing existing documentation or code changes to be present. This leaves the agent to infer context without clear direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_documentationC

Validate MDX files, frontmatter, internal links, code examples, and overall documentation quality

ParametersJSON Schema
NameRequiredDescriptionDefault
docs_pathYesPath to documentation directory
strictNoEnable strict validation mode
check_linksNoValidate all internal links
check_code_examplesNoValidate code examples syntax

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what is validated but doesn't describe how the validation works (e.g., error reporting, output format, side effects like file modifications). For a validation tool with no annotations, this is a significant gap, as it doesn't cover aspects like whether it's read-only, performance implications, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Validate MDX files, frontmatter, internal links, code examples, and overall documentation quality.' It's front-loaded with the main action and lists key components without unnecessary words. However, it could be slightly more structured by hinting at usage context, but it earns its place as concise and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (validation tool with 4 parameters), no annotations, and no output schema, the description is incomplete. It covers what is validated but lacks details on behavior, output, or error handling. While the schema handles parameters well, the overall context for an agent to use the tool effectively is insufficient, as it doesn't explain what happens after validation (e.g., report generation, success/failure indicators).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema already documents all parameters (docs_path, strict, check_links, check_code_examples) with clear descriptions. The description adds no additional meaning beyond the schema, such as explaining parameter interactions or validation specifics. According to the rules, with high schema coverage (>80%), the baseline is 3, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Validate MDX files, frontmatter, internal links, code examples, and overall documentation quality.' It specifies the verb (validate) and resources (MDX files, frontmatter, links, code examples, documentation quality), making the action explicit. However, it doesn't distinguish this from sibling tools like 'analyze_codebase' or 'generate_documentation,' which might have overlapping validation aspects, so it doesn't reach a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lists what it validates but doesn't mention when it's appropriate (e.g., during documentation updates, before publishing) or when not to use it (e.g., for code analysis vs. documentation validation). With sibling tools like 'analyze_codebase' and 'generate_documentation,' there's no explicit differentiation, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updates
    • First observedanalyze_codebase
    • First observedcreate_docs_config
    • First observedextract_code_examples
    • First observedgenerate_api_reference
    • First observedgenerate_changelog
    • First observedgenerate_documentation
    • First observedsync_documentation
    • First observedvalidate_documentation

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: analyze_codebase assesses structure, create_docs_config sets up configuration, extract_code_examples pulls examples, generate_api_reference creates API docs, generate_changelog handles version history, generate_documentation builds full docs, sync_documentation updates content, and validate_documentation checks quality. An agent can easily distinguish between them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with clear, descriptive verbs (analyze, create, extract, generate, sync, validate) and specific nouns (codebase, docs_config, code_examples, api_reference, changelog, documentation). There are no deviations in style or convention throughout the set.

Tool Count5/5

With 8 tools, this server is well-scoped for autonomous documentation generation, covering key aspects like analysis, configuration, content extraction, API reference, changelog, full documentation generation, syncing, and validation. Each tool earns its place without being overwhelming or insufficient.

Completeness5/5

The tool set provides complete coverage for the documentation domain, including planning (analyze_codebase), setup (create_docs_config), content creation (extract_code_examples, generate_api_reference, generate_changelog, generate_documentation), maintenance (sync_documentation), and quality assurance (validate_documentation). There are no obvious gaps, and agents can handle the full documentation lifecycle.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers