MCP-RTFM
"¡RTFM!", dicen, pero ¿y si no hay un manual de referencia para R? 🤔 Presentamos MCP-RTFM: ¡un servidor MCP que te ayuda a crear el p*to manual que todo el mundo te dice que leas! Mediante análisis de contenido avanzado, generación de metadatos y funciones de búsqueda inteligente, transforma tus documentos inexistentes o ilegibles en una base de conocimiento interconectada que realmente responde a esas "preguntas básicas" antes de que se formulen.
Giro argumental : En lugar de simplemente decirles a las personas que lean el manual, ¡ahora puedes darles un manual que valga la pena leer! Porque la mejor respuesta a "leer el manual" es tener un manual que realmente valga la pena leer. 📚✨
📚 Índice de contenidos
Related MCP server: RAG Documentation MCP Server
🚀 Inicio rápido
# 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!✨ Características
Herramientas de gestión de documentación
analyze_existing_docs: analice y mejore la documentación existente con análisis de contenido y metadatos.analyze_project_with_metadata: inicializa la estructura de la documentación con un análisis de contenido mejorado y generación de metadatos.analyze_project- Inicialización básica de la estructura de la documentaciónread_doc- Lee un archivo de documentación (necesario antes de actualizar)update_doc- Actualizar la documentación usando cambios basados en diferenciasget_doc_content- Obtener el contenido actual de un archivo de documentaciónget_project_info- Obtener la estructura del proyecto y el estado de la documentaciónsearch_docs- Busque en archivos de documentación con resultados resaltadosupdate_metadata- Actualizar los metadatos de la documentaciónget_related_docs: encuentre documentación relacionada basándose en metadatos y enlaces de contenidocustomize_template- Crear o actualizar plantillas de documentación
Archivos de documentación predeterminados
El servidor crea y administra automáticamente estos archivos de documentación principal:
techStack.md- Inventario detallado de herramientas, bibliotecas y configuracionescodebaseDetails.md: explicaciones de bajo nivel sobre la estructura y la lógica del códigoworkflowDetails.md- Flujos de trabajo paso a paso para procesos claveintegrationGuides.md- Instrucciones para conexiones de sistemas externoserrorHandling.md- Estrategias y prácticas de resolución de problemashandoff_notes.md- Resumen de los temas clave y próximos pasos
Plantillas de documentación
Plantillas integradas para diferentes tipos de documentación:
Plantilla de documentación estándar
Plantilla de documentación de API
Plantilla de documentación del flujo de trabajo
Se pueden crear plantillas personalizadas utilizando la herramienta customize_template .
📝 Ejemplos de flujos de trabajo
1. Análisis de la documentación existente
// 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 available2. Configuración mejorada de la documentación del proyecto
// 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 suggestions3. Actualización de la documentación con enlaces de contenido
// 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. Gestión de metadatos de la documentación
// 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. Búsqueda de documentación con contexto
// 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 matches6. Creación de plantillas personalizadas
// 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"]
}
}
});🔧Instalación
VSCode (Roo Cline)
Agregar al archivo de configuración en: Agregar al archivo de configuración en:
Windows:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.jsonMacOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.jsonLinux:
~/.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": []
}
}
}Escritorio de Claude
Agregar al archivo de configuración en:
Ventanas:
%APPDATA%\Claude\claude_desktop_config.jsonMacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-rtfm": {
"command": "node",
"args": ["<path-to-mcp-rtfm>/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}🎯 Funciones avanzadas
Enlace de contenido
Utilice la sintaxis [[document-name]] para crear enlaces entre documentos. El servidor rastrea automáticamente estas relaciones y las incluye al buscar documentación relacionada.
Organización basada en metadatos
Los documentos se organizan utilizando:
Categorías (por ejemplo, "arquitectura", "api", "flujo de trabajo")
Etiquetas para agrupación flexible
Descubrimiento automático de relaciones basado en metadatos compartidos
Análisis de enlaces de contenido
Análisis de contenido mejorado
El servidor utiliza bibliotecas avanzadas para una mejor gestión de la documentación:
unificado/observación para el procesamiento de Markdown:
Análisis de contenido basado en AST
Detección precisa de la estructura del rumbo
Extracción de bloques de código y enlaces
Análisis y manipulación adecuados de Markdown
minibúsqueda para potentes capacidades de búsqueda:
Búsqueda difusa rápida en toda la documentación
Búsqueda ponderada por campo (los títulos tienen mayor prioridad)
Indexación completa de contenido y metadatos
Almacenamiento en caché eficiente con gestión de TTL
Actualizaciones del índice de búsqueda en tiempo real
Generación inteligente de metadatos
Análisis automático de contenido para categorización
Generación de etiquetas inteligentes basada en patrones de contenido
Introducción estructurada en los documentos
Detección de títulos y secciones basada en AST
Identificación y etiquetado de fragmentos de código
Presentación de resultados según el contexto
Sistema de plantillas
Plantillas integradas para tipos de documentación comunes
Compatibilidad con plantillas personalizadas con valores predeterminados de metadatos
Herencia de plantillas y capacidades de anulación
Sistema de marcador de posición para un formato consistente
🛠️ Desarrollo
# Install dependencies
npm install
# Build the server
npm run build
# Development with auto-rebuild
npm run watch🐛 Depuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Utilice el Inspector MCP :
npm run inspectorEl Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.