 
            
            
            
            
        MCP-RTFM
有没有被告知RTFM只是发现没有FM的R? MCP-RTFM可帮助您创建人们不断告诉所有人阅读的手册!将您的不存在或不可读取的文档转换为一个智能,可搜索的知识库,在询问这些知识基础之前,该文档实际上回答了这些“基本问题”。
2
Github Watches
5
Github Forks
33
Github Stars
MCP-RTFM
"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
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Take an adjectivised noun, and create images making it progressively more adjective!
Reviews
 
                                    user_Qvc1d43H
I've been a dedicated user of mcp-rtfm, and it has transformed my development process. With its intuitive interface and comprehensive documentation, this tool by ryanjoachim is a must-have for developers. Check it out on GitHub at https://github.com/ryanjoachim/mcp-rtfm. It's efficient, reliable, and constantly updated. Highly recommended!
 
     
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                            