Skip to main content
Glama

DocGen MCP Server

Documentation Generator MCP Server for automated documentation creation from source files.

Overview

The DocGen MCP server automates the creation of standardized documentation by extracting information from source files and applying templates. It seamlessly integrates with other MCP servers (Google Drive, GitHub, Perplexity) to provide a comprehensive solution.

Related MCP server: RAG Documentation MCP Server

Features

  • Extract information from GitHub repositories and Google Drive files

  • Process multiple source types (scripts, presentations, code, reference documents)

  • Template-based document generation

  • Document history tracking

  • AI-enhanced content generation through Perplexity integration

Installation

Prerequisites

  • Node.js 16+

  • npm or yarn

  • Access to Google Drive API (for Google Drive source extraction)

  • Access to GitHub API (for GitHub source extraction)

Steps

  1. Clone the repository:

    git clone https://github.com/rjadhav/docgen-mcp.git
    cd docgen-mcp
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build
  4. Add to your MCP settings file:

    For Claude Desktop

    Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "docgen-mcp": {
          "command": "node",
          "args": ["/path/to/docgen-mcp/build/index.js"],
          "env": {},
          "disabled": false,
          "autoApprove": []
        }
      }
    }

    For VSCode Cline

    Edit the VSCode Claude Dev extension's MCP settings file:

    {
      "mcpServers": {
        "docgen-mcp": {
          "command": "node",
          "args": ["/path/to/docgen-mcp/build/index.js"],
          "env": {},
          "disabled": false,
          "autoApprove": []
        }
      }
    }

Usage

The DocGen MCP server exposes the following tools:

create_documentation

Generate documentation from source files using a template.

list_templates

List available documentation templates.

view_document_history

View history of previously generated documents.

Templates

Templates are stored in the templates directory and use a simple marker system for content generation:

  • {{projectId}} - Replaced with the project identifier

  • {{date}} - Current date

  • {{section:NAME}} - Replaced with generated content for the named section

Custom templates can be added by creating new .template files in the templates directory.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

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

Available Tools

3 tools
create_documentationC

Create documentation from source files using a template

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNoPath where to save the generated documentation
project_idYesProject identifier (e.g., "JUVR058")
sourcesYes
template_typeYesType of documentation template to use (e.g., "CRISPRseq_Analysis")

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 'Create documentation' which implies a write/mutation operation, but doesn't disclose critical behavioral traits such as whether this requires specific permissions, what happens if documentation already exists at the output path (overwrites?), or any rate limits/constraints. The description adds minimal context beyond the basic action.

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 ('Create documentation') and includes essential elements ('from source files using a template') without any wasted words. It's appropriately sized for the tool's complexity and gets straight to the point.

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 (4 parameters, no annotations, no output schema, and a write operation), the description is insufficiently complete. It doesn't explain what the tool returns (e.g., success confirmation, error details), behavioral implications of the mutation, or how parameters interact. For a documentation generation tool with multiple inputs, 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 'source files' and 'template' which loosely map to the 'sources' and 'template_type' parameters, but doesn't add meaningful semantics beyond what the schema provides (e.g., schema already describes template_type as 'Type of documentation template to use'). With 75% schema description coverage, the baseline is 3, and the description doesn't significantly compensate for the 25% gap or enhance parameter understanding.

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 ('Create documentation') and resources involved ('from source files using a template'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its siblings (list_templates, view_document_history), which would require mentioning it's a generation/write operation versus listing or viewing operations.

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 existing templates or source files), compare to sibling tools, or specify scenarios where this tool is appropriate versus others, leaving the agent with no contextual usage information.

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

list_templatesC

List available documentation templates

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category to filter templates

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 the action ('List') but doesn't describe traits like whether this is a read-only operation, how results are returned (e.g., pagination, format), or any limitations (e.g., rate limits). This is a significant gap for a tool with zero annotation coverage.

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 with zero waste. It's appropriately sized for a simple tool and front-loaded with the core purpose, making it easy for an agent to parse 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'available documentation templates' entails (e.g., format, metadata), return values, or behavioral context, leaving gaps for a tool that likely returns a list of resources.

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%, with the single parameter 'category' documented as 'Optional category to filter templates'. The description doesn't add any meaning beyond this, such as examples of categories or filtering behavior, so it meets the baseline for high schema coverage without compensating further.

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 ('List') and resource ('available documentation templates'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'view_document_history' which might also involve listing documentation-related items, so it doesn't reach the highest 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?

No guidance is provided on when to use this tool versus alternatives like 'create_documentation' or 'view_document_history'. The description lacks context about prerequisites, timing, or exclusions, leaving 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.

view_document_historyB

View history of previously generated documents

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of history entries to return
project_idNoFilter by project ID

TDQS

B3.1/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 'view history', implying a read-only operation, but doesn't specify if it requires authentication, has rate limits, or what the return format looks like (e.g., pagination, error handling). This is a significant gap for a tool with no annotation coverage.

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 any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits and usage context, which are important for an agent to operate effectively without structured annotations.

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, clearly documenting both parameters ('limit' and 'project_id'). The description adds no additional semantic information beyond what the schema provides, such as default values or usage examples, so it meets the baseline score when the schema does the heavy lifting.

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 a specific verb ('view') and resource ('history of previously generated documents'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_templates' or 'create_documentation', which could also involve document-related operations, so it doesn't reach the highest 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. It doesn't mention sibling tools like 'list_templates' or 'create_documentation', nor does it specify prerequisites or contexts for usage, leaving the agent to infer 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.

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: create_documentation generates new docs, list_templates shows available templates, and view_document_history accesses past outputs. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (create_documentation, list_templates, view_document_history) with snake_case throughout. The naming is predictable and readable.

Tool Count3/5

With only 3 tools, the set feels thin for a documentation generation server. While it covers core operations, more tools might be expected for tasks like updating templates, deleting documents, or customizing generation parameters.

Completeness3/5

The tools cover creation, template listing, and history viewing, but there are notable gaps: no update or delete operations for documents or templates, and no way to customize generation beyond templates. This could limit agent workflows.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rjadhavJT/docgen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server