MCP Tools API Reference
DocuMCP provides a comprehensive set of tools via the Model Context Protocol (MCP). These tools enable intelligent documentation deployment through repository analysis, SSG recommendations, and automated GitHub Pages setup.
Core Documentation Tools
analyze_repository
Description: Analyze repository structure, dependencies, and documentation needs
Parameters:
path(string, required): Path to the repository to analyzedepth(enum, optional): Analysis depth level"quick": Fast overview focusing on basic structure"standard": Comprehensive analysis (default)"deep": Detailed analysis with advanced insights
Returns: Analysis object containing:
id: Unique analysis identifier for use in other toolstimestamp: Analysis execution timestructure: File counts, languages, and project featuresdependencies: Package ecosystem and dependency analysisdocumentation: Existing documentation assessmentrecommendations: Project classification and team size estimates
Example:
{
"path": "/path/to/repository",
"depth": "standard"
}
recommend_ssg
Description: Recommend the best static site generator based on project analysis
Parameters:
analysisId(string, required): ID from previous repository analysispreferences(object, optional):priority:"simplicity","features", or"performance"ecosystem:"javascript","python","ruby","go", or"any"
Returns: Recommendation object with weighted scoring and justifications
Example:
{
"analysisId": "analysis_abc123",
"preferences": {
"priority": "simplicity",
"ecosystem": "javascript"
}
}
generate_config
Description: Generate configuration files for the selected static site generator
Parameters:
ssg(enum, required):"jekyll","hugo","docusaurus","mkdocs", or"eleventy"projectName(string, required): Name of the projectprojectDescription(string, optional): Brief descriptionoutputPath(string, required): Where to generate config files
Returns: Generated configuration files and setup instructions
Example:
{
"ssg": "hugo",
"projectName": "My Documentation Site",
"outputPath": "./docs"
}
setup_structure
Description: Create Diataxis-compliant documentation structure
Parameters:
path(string, required): Root path for documentationssg(enum, required): Static site generator typeincludeExamples(boolean, optional, default: true): Include example content
Returns: Created directory structure following Diataxis framework:
- tutorials/: Learning-oriented guides
- how-to/: Problem-oriented step-by-step guides
- reference/: Information-oriented technical reference
- explanation/: Understanding-oriented background material
Example:
{
"path": "./docs",
"ssg": "mkdocs",
"includeExamples": true
}
deploy_pages
Description: Set up GitHub Pages deployment workflow
Parameters:
repository(string, required): Repository path or URLssg(enum, required): Static site generator typebranch(string, optional, default: "gh-pages"): Deployment branchcustomDomain(string, optional): Custom domain name
Returns: GitHub Actions workflow files for automated deployment
Example:
{
"repository": "username/repository",
"ssg": "docusaurus",
"customDomain": "docs.example.com"
}
verify_deployment
Description: Verify and troubleshoot GitHub Pages deployment
Parameters:
repository(string, required): Repository path or URLurl(string, optional): Expected deployment URL
Returns: Deployment status and troubleshooting recommendations
Example:
{
"repository": "username/repository",
"url": "https://username.github.io/repository"
}
Content Management Tools
populate_diataxis_content
Description: Intelligently populate Diataxis documentation with project-specific content
Parameters:
analysisId(string, required): Repository analysis IDdocsPath(string, required): Path to documentation directorypopulationLevel(enum, optional, default: "comprehensive"): Content generation levelincludeProjectSpecific(boolean, optional, default: true): Include project-specific contentpreserveExisting(boolean, optional, default: true): Preserve existing contenttechnologyFocus(array of strings, optional): Specific technologies to emphasize
Returns: Populated content metrics and file creation summary
update_existing_documentation
Description: Intelligently analyze and update existing documentation using memory insights
Parameters:
analysisId(string, required): Repository analysis IDdocsPath(string, required): Path to existing documentation directorycompareMode(enum, optional, default: "comprehensive"): Comparison modeupdateStrategy(enum, optional, default: "moderate"): Update aggressivenesspreserveStyle(boolean, optional, default: true): Preserve existing stylefocusAreas(array of strings, optional): Specific areas to focus on
Returns: Update recommendations and gap analysis
detect_documentation_gaps
Description: Analyze repository and existing documentation to identify missing content
Parameters:
repositoryPath(string, required): Path to the repositorydocumentationPath(string, optional): Path to existing documentationanalysisId(string, optional): Optional existing analysis ID to reusedepth(enum, optional, default: "standard"): Analysis depth
Returns: Identified gaps and recommendations for improvement
Validation Tools
validate_diataxis_content
Description: Validate the accuracy, completeness, and compliance of generated Diataxis documentation
Parameters:
contentPath(string, required): Path to documentation directory to validateanalysisId(string, optional): Repository analysis ID for contextvalidationType(enum, optional, default: "all"): Type of validationincludeCodeValidation(boolean, optional, default: true): Validate code examplesconfidence(enum, optional, default: "moderate"): Validation confidence level
Returns: Validation results with issues, recommendations, and confidence scores
validate_content
Description: Validate general content quality including links and code syntax
Parameters:
contentPath(string, required): Path to content directoryvalidationType(string, optional, default: "all"): Validation typeincludeCodeValidation(boolean, optional, default: true): Validate code blocksfollowExternalLinks(boolean, optional, default: false): Check external URLs
Returns: Content validation results with broken links and code errors
check_documentation_links
Description: Comprehensive link checking for documentation deployment
Parameters:
documentation_path(string, optional, default: "./docs"): Documentation directorycheck_external_links(boolean, optional, default: true): Validate external URLscheck_internal_links(boolean, optional, default: true): Validate internal referencescheck_anchor_links(boolean, optional, default: true): Validate anchor linkstimeout_ms(number, optional, default: 5000): Request timeoutmax_concurrent_checks(number, optional, default: 5): Concurrent check limit
Returns: Comprehensive link validation report
Testing and Deployment Tools
test_local_deployment
Description: Test documentation build and local server before deploying to GitHub Pages
Parameters:
repositoryPath(string, required): Path to the repositoryssg(enum, required): Static site generator typeport(number, optional, default: 3000): Local server porttimeout(number, optional, default: 60): Build timeout in secondsskipBuild(boolean, optional, default: false): Skip build step
Returns: Local testing results and server status
README Management Tools
evaluate_readme_health
Description: Evaluate README files for community health and onboarding effectiveness
Parameters:
readme_path(string, required): Path to README fileproject_type(enum, optional, default: "community_library"): Project typerepository_path(string, optional): Repository path for context
Returns: Health evaluation with scores and recommendations
readme_best_practices
Description: Analyze README files against best practices checklist
Parameters:
readme_path(string, required): Path to README fileproject_type(enum, optional, default: "library"): Project typegenerate_template(boolean, optional, default: false): Generate templatestarget_audience(enum, optional, default: "mixed"): Target audience
Returns: Best practices analysis and improvement recommendations
generate_readme_template
Description: Generate standardized README templates for different project types
Parameters:
projectName(string, required): Name of the projectdescription(string, required): Brief project descriptiontemplateType(enum, required): Project template typeauthor(string, optional): Project author/organizationlicense(string, optional, default: "MIT"): Project licenseoutputPath(string, optional): Output file path
Returns: Generated README template content
validate_readme_checklist
Description: Validate README files against community best practices checklist
Parameters:
readmePath(string, required): Path to README fileprojectPath(string, optional): Project directory for contextstrict(boolean, optional, default: false): Use strict validationoutputFormat(enum, optional, default: "console"): Output format
Returns: Validation report with detailed scoring
analyze_readme
Description: Comprehensive README analysis with length assessment and optimization opportunities
Parameters:
project_path(string, required): Path to project directorytarget_audience(enum, optional, default: "community_contributors"): Target audienceoptimization_level(enum, optional, default: "moderate"): Optimization levelmax_length_target(number, optional, default: 300): Target max length
Returns: README analysis with optimization recommendations
optimize_readme
Description: Optimize README content by restructuring and condensing
Parameters:
readme_path(string, required): Path to README filestrategy(enum, optional, default: "community_focused"): Optimization strategymax_length(number, optional, default: 300): Target maximum lengthinclude_tldr(boolean, optional, default: true): Include TL;DR sectioncreate_docs_directory(boolean, optional, default: true): Create docs directory
Returns: Optimized README content and extracted documentation
Memory System Tools
The memory system provides intelligent learning and pattern recognition across documentation projects.
memory_recall
Description: Recall memories about a project or topic
Parameters:
query(string, required): Search query or project IDtype(enum, optional): Memory type to recalllimit(number, optional, default: 10): Maximum results
memory_insights
Description: Get insights and patterns from memory
Parameters:
projectId(string, optional): Project ID to analyzetimeRange(object, optional): Time range for analysis
memory_similar
Description: Find similar projects from memory
Parameters:
analysisId(string, required): Analysis ID to find similar projects forlimit(number, optional, default: 5): Maximum similar projects
memory_export
Description: Export memories to JSON or CSV
Parameters:
filter(object, optional): Filter memories to exportformat(enum, optional, default: "json"): Export format
memory_cleanup
Description: Clean up old memories
Parameters:
daysToKeep(number, optional, default: 30): Number of days to retaindryRun(boolean, optional, default: false): Preview without deleting
Tool Chaining and Workflows
DocuMCP tools are designed to work together in workflows:
-
Analysis → Recommendation → Implementation:
analyze_repository → recommend_ssg → generate_config → setup_structure → deploy_pages -
Content Management:
analyze_repository → populate_diataxis_content → validate_diataxis_content -
Documentation Maintenance:
detect_documentation_gaps → update_existing_documentation → validate_content
Error Handling
All tools return structured responses with error information when failures occur:
{
"content": [
{
"type": "text",
"text": "Error executing tool_name: error_message"
}
],
"isError": true
}
Resource Storage
Tool results are automatically stored as MCP resources with URIs like:
documcp://analysis/{id}: Analysis resultsdocumcp://config/{ssg}/{id}: Configuration filesdocumcp://deployment/{id}: Deployment workflows
These resources can be accessed later for reference or further processing.
Version Information
Current DocuMCP version: 0.3.2
For the latest updates and detailed changelog, see the project repository.