• Knowledge & Memory
  • Search
JavaScript
6
  • Apple
  • Linux
A
security – no known vulnerabilities (report Issue)
F
license - not found
A
quality - confirmed to work

Transform your non-existent or unreadable docs into an intelligent, searchable knowledge base that actually answers those 'basic questions' before they're asked.

  1. Tools
  2. Prompts
  3. Resources
  4. Server Configuration
  5. README.md

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
analyze_existing_docsAnalyze existing documentation files with enhanced content analysis and metadata generation
analyze_project_with_metadataAnalyze project structure, create initial documentation files, and enhance with metadata/context
analyze_projectAnalyze project structure and create initial documentation files
read_docRead a documentation file (required before updating)
update_docUpdate a specific documentation file using diff-based changes
get_doc_contentGet the current content of a documentation file
get_project_infoGet information about the project structure and files
search_docsSearch across documentation files with highlighted results
update_metadataUpdate metadata for a documentation file
get_related_docsFind related documentation files based on metadata
customize_templateCreate or update a custom documentation template

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

README.md

MCP-RTFM

TypeScript MCP License: MIT

"RTFM!" they say, but what if there's no FM to R? 🤔 Enter MCP-RTFM: an MCP server that helps you create the F*ing Manual everyone keeps telling people to read! Using advanced content analysis, metadata generation, and intelligent search capabilities, it transforms your non-existent or unreadable docs into an interconnected knowledge base that actually answers those "basic questions" before they're asked.

Plot twist: Instead of just telling people to RTFM, now you can actually give them an FM worth R-ing! Because the best response to "read the f*ing manual" is having a manual that's actually worth reading. 📚✨

📚 Table of Contents

🚀 Quick Start

# Install dependencies npm install # Build the server npm run build # Add to your MCP settings and start using await use_mcp_tool({ server: "mcp-rtfm", tool: "analyze_project_with_metadata", // Enhanced initialization args: { projectPath: "/path/to/project" } }); // This will: // 1. Create documentation structure // 2. Analyze content with unified/remark // 3. Generate intelligent metadata // 4. Build search index with minisearch // 5. Add structured front matter // 6. Make your docs actually readable!

✨ Features

Documentation Management Tools

  • analyze_existing_docs - Analyze and enhance existing documentation with content analysis and metadata
  • analyze_project_with_metadata - Initialize documentation structure with enhanced content analysis and metadata generation
  • analyze_project - Basic initialization of documentation structure
  • read_doc - Read a documentation file (required before updating)
  • update_doc - Update documentation using diff-based changes
  • get_doc_content - Get current content of a documentation file
  • get_project_info - Get project structure and documentation status
  • search_docs - Search across documentation files with highlighted results
  • update_metadata - Update documentation metadata
  • get_related_docs - Find related documentation based on metadata and content links
  • customize_template - Create or update documentation templates

Default Documentation Files

The server automatically creates and manages these core documentation files:

  • techStack.md - Detailed inventory of tools, libraries, and configurations
  • codebaseDetails.md - Low-level explanations of code structure and logic
  • workflowDetails.md - Step-by-step workflows for key processes
  • integrationGuides.md - Instructions for external system connections
  • errorHandling.md - Troubleshooting strategies and practices
  • handoff_notes.md - Summary of key themes and next steps

Documentation Templates

Built-in templates for different documentation types:

  • Standard Documentation Template
  • API Documentation Template
  • Workflow Documentation Template

Custom templates can be created using the customize_template tool.

📝 Example Workflows

1. Analyzing Existing Documentation

// Enhance existing documentation with advanced analysis await use_mcp_tool({ server: "mcp-rtfm", tool: "analyze_existing_docs", args: { projectPath: "/path/to/project" } }); // This will: // - Find all markdown files in .handoff_docs // - Analyze content structure with unified/remark // - Generate intelligent metadata // - Build search index // - Add front matter if not present // - Establish document relationships // - Preserve existing content // The results include: // - Enhanced metadata for all docs // - Search index population // - Content relationship mapping // - Git context if available

2. Enhanced Project Documentation Setup

// Initialize documentation with advanced content analysis await use_mcp_tool({ server: "mcp-rtfm", tool: "analyze_project_with_metadata", args: { projectPath: "/path/to/project" } }); // Results include: // - Initialized documentation files // - Generated metadata from content analysis // - Established document relationships // - Populated search index // - Added structured front matter // - Git repository context // Get enhanced project information const projectInfo = await use_mcp_tool({ server: "mcp-rtfm", tool: "get_project_info", args: { projectPath: "/path/to/project" } }); // Search across documentation with intelligent results const searchResults = await use_mcp_tool({ server: "mcp-rtfm", tool: "search_docs", args: { projectPath: "/path/to/project", query: "authentication" } }); // Results include: // - Weighted matches (title matches prioritized) // - Fuzzy search results // - Full content context // - Related document suggestions

3. Updating Documentation with Content Links

// First read the document await use_mcp_tool({ server: "mcp-rtfm", tool: "read_doc", args: { projectPath: "/path/to/project", docFile: "techStack.md" } }); // Update with content that links to other docs await use_mcp_tool({ server: "mcp-rtfm", tool: "update_doc", args: { projectPath: "/path/to/project", docFile: "techStack.md", searchContent: "[Why this domain is critical to the project]", replaceContent: "The tech stack documentation provides essential context for development. See [[workflowDetails]] for implementation steps.", continueToNext: true // Automatically move to next document } });

4. Managing Documentation Metadata

// Update metadata for better organization await use_mcp_tool({ server: "mcp-rtfm", tool: "update_metadata", args: { projectPath: "/path/to/project", docFile: "techStack.md", metadata: { title: "Technology Stack Overview", category: "architecture", tags: ["infrastructure", "dependencies", "configuration"] } } }); // Find related documentation const related = await use_mcp_tool({ server: "mcp-rtfm", tool: "get_related_docs", args: { projectPath: "/path/to/project", docFile: "techStack.md" } });

5. Searching Documentation with Context

// Search with highlighted results const results = await use_mcp_tool({ server: "mcp-rtfm", tool: "search_docs", args: { projectPath: "/path/to/project", query: "authentication" } }); // Results include: // - File name // - Line numbers // - Highlighted matches // - Context around matches

6. Creating Custom Templates

// Create a custom template for architecture decisions await use_mcp_tool({ server: "mcp-rtfm", tool: "customize_template", args: { templateName: "architecture-decision", content: `# {title} ## Context [Background and context for the decision] ## Decision [The architecture decision made] ## Consequences [Impact and trade-offs of the decision] ## Related Decisions [Links to related architecture decisions]`, metadata: { category: "architecture", tags: ["decision-record", "design"] } } });

🔧 Installation

VSCode (Roo Cline)

Add to settings file at: Add to settings file at:

  • Windows: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
  • MacOS: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • Linux: ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
{ "mcpServers": { "mcp-rtfm": { "command": "node", "args": ["<path-to-mcp-rtfm>/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

Claude Desktop

Add to config file at:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "mcp-rtfm": { "command": "node", "args": ["<path-to-mcp-rtfm>/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

🎯 Advanced Features

Content Linking

Use [[document-name]] syntax to create links between documents. The server automatically tracks these relationships and includes them when finding related documentation.

Metadata-Driven Organization

Documents are organized using:

  • Categories (e.g., "architecture", "api", "workflow")
  • Tags for flexible grouping
  • Automatic relationship discovery based on shared metadata
  • Content link analysis

Enhanced Content Analysis

The server uses advanced libraries for better documentation management:

  • unified/remark for Markdown processing:
    • AST-based content analysis
    • Accurate heading structure detection
    • Code block and link extraction
    • Proper Markdown parsing and manipulation
  • minisearch for powerful search capabilities:
    • Fast fuzzy searching across all documentation
    • Field-weighted search (titles given higher priority)
    • Full content and metadata indexing
    • Efficient caching with TTL management
    • Real-time search index updates

Intelligent Metadata Generation

  • Automatic content analysis for categorization
  • Smart tag generation based on content patterns
  • Structured front matter in documents
  • AST-based title and section detection
  • Code snippet identification and tagging
  • Context-aware result presentation

Template System

  • Built-in templates for common documentation types
  • Custom template support with metadata defaults
  • Template inheritance and override capabilities
  • Placeholder system for consistent formatting

🛠️ Development

# Install dependencies npm install # Build the server npm run build # Development with auto-rebuild npm run watch

🐛 Debugging

Since MCP servers communicate over stdio, debugging can be challenging. Use the MCP Inspector:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

📄 License

MIT © Model Context Protocol

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues with dependencies of the server.
  • Extract server characteristics such as tools, resources, prompts, and required parameters.

Our directory badge helps users to quickly asses that the MCP server is safe, server capabilities, and instructions for installing the server.

Copy the following code to your README.md file:

Alternative MCP servers

  • A
    security
    A
    license
    A
    quality
    Give Claude access to real-time knowledge and premium content. Get rid of Claude's cutoff data and transform Claude's responses with current events, and trusted, premium sources through Linkup's powerful search capability.
    MIT
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server for document format conversion using pandoc. This server provides tools to transform content between different document formats while preserving formatting and structure.
    MIT
    • Apple
  • -
    security
    A
    license
    -
    quality
    `godoc-mcp` is a Model Context Protocol (MCP) server that provides efficient access to Go documentation. It helps LLMs understand Go projects by providing direct access to package documentation without needing to read entire source files.
    MIT
  • A
    security
    A
    license
    A
    quality
    The ArXiv MCP Server bridges the gap between AI models and academic research by providing a sophisticated interface to arXiv's extensive research repository. This server enables AI assistants to perform precise paper searches and access full paper content, enhancing their ability to engage with scientific literature.
    Apache-2.0