mcp-rtfm

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides Git repository context for documentation generation and analysis. The server can extract context from Git repositories when analyzing projects and creating documentation.

  • Specializes in managing and enhancing Markdown documentation files, providing capabilities for content analysis, metadata generation, and document relationships.

  • Leverages remark for advanced Markdown processing including AST-based content analysis, heading structure detection, and proper Markdown parsing and manipulation.

MCP-RTFM

"RTFM!"이라고들 하지만, R에 대한 FM이 없다면 어떨까요? 🤔 MCP-RTFM을 소개합니다. 모두가 읽으라고 계속 권하는 그 빌어먹을 매뉴얼을 만들 수 있도록 도와주는 MCP 서버입니다! 고급 콘텐츠 분석, 메타데이터 생성, 지능형 검색 기능을 활용하여 존재하지 않거나 읽을 수 없는 문서를 상호 연결된 지식 기반으로 변환하여 "기본적인 질문"이 제기되기 전에 실제로 답을 제공합니다.

반전 : 사람들에게 RTFM을 하라고 말하는 대신, 이제 R-ing할 만한 FM을 선사할 수 있게 됐네요! "빌어먹을 매뉴얼을 읽어봐"라는 말에 대한 가장 좋은 대답은 실제로 읽을 만한 매뉴얼을 갖는 거니까요. 📚✨

📚 목차

🚀 빠른 시작

지엑스피1

✨ 특징

문서 관리 도구

  • analyze_existing_docs - 콘텐츠 분석 및 메타데이터를 통해 기존 문서를 분석하고 개선합니다.
  • analyze_project_with_metadata - 향상된 콘텐츠 분석 및 메타데이터 생성을 통해 문서 구조 초기화
  • analyze_project - 문서 구조의 기본 초기화
  • read_doc - 문서 파일을 읽습니다(업데이트 전 필수)
  • update_doc - diff 기반 변경 사항을 사용하여 문서 업데이트
  • get_doc_content - 문서 파일의 현재 내용을 가져옵니다
  • get_project_info - 프로젝트 구조 및 문서 상태 가져오기
  • search_docs - 강조된 결과를 사용하여 문서 파일 검색
  • update_metadata - 문서 메타데이터 업데이트
  • get_related_docs - 메타데이터 및 콘텐츠 링크를 기반으로 관련 문서 찾기
  • customize_template - 문서 템플릿을 만들거나 업데이트합니다.

기본 문서 파일

서버는 자동으로 다음 핵심 문서 파일을 생성하고 관리합니다.

  • techStack.md - 도구, 라이브러리 및 구성에 대한 자세한 인벤토리
  • codebaseDetails.md - 코드 구조 및 논리에 대한 저수준 설명
  • workflowDetails.md - 주요 프로세스에 대한 단계별 워크플로
  • integrationGuides.md - 외부 시스템 연결에 대한 지침
  • errorHandling.md - 문제 해결 전략 및 사례
  • handoff_notes.md - 주요 주제 및 다음 단계 요약

문서 템플릿

다양한 문서 유형에 대한 기본 제공 템플릿:

  • 표준 문서 템플릿
  • API 문서 템플릿
  • 워크플로 문서 템플릿

customize_template 도구를 사용하여 사용자 정의 템플릿을 만들 수 있습니다.

📝 워크플로 예시

1. 기존 문서 분석

// 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. 향상된 프로젝트 문서 설정

// 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. 콘텐츠 링크를 통한 문서 업데이트

// 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. 문서 메타데이터 관리

// 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. 컨텍스트를 활용한 문서 검색

// 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. 사용자 정의 템플릿 만들기

// 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"] } } });

🔧 설치

VSCode(루 클라인)

설정 파일에 추가 위치: 설정 파일에 추가 위치:

  • 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
  • 리눅스: ~/.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": [] } } }

클로드 데스크탑

다음 위치의 구성 파일에 추가:

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

🎯 고급 기능

콘텐츠 연결

[[document-name]] 구문을 사용하여 문서 간의 링크를 생성하세요. 서버는 이러한 관계를 자동으로 추적하여 관련 문서를 찾을 때 포함합니다.

메타데이터 기반 조직

문서는 다음을 사용하여 구성됩니다.

  • 카테고리(예: "아키텍처", "API", "워크플로")
  • 유연한 그룹화를 위한 태그
  • 공유 메타데이터를 기반으로 한 자동 관계 검색
  • 콘텐츠 링크 분석

향상된 콘텐츠 분석

서버는 보다 나은 문서 관리를 위해 고급 라이브러리를 사용합니다.

  • 마크다운 처리를 위한 통합/설명 :
    • AST 기반 콘텐츠 분석
    • 정확한 헤딩 구조 감지
    • 코드 블록 및 링크 추출
    • 적절한 마크다운 구문 분석 및 조작
  • 강력한 검색 기능을 위한 미니서치 :
    • 모든 문서에 대한 빠른 퍼지 검색
    • 필드 가중 검색(제목에 더 높은 우선순위 부여)
    • 전체 콘텐츠 및 메타데이터 인덱싱
    • TTL 관리를 통한 효율적인 캐싱
    • 실시간 검색 인덱스 업데이트

지능형 메타데이터 생성

  • 분류를 위한 자동 콘텐츠 분석
  • 콘텐츠 패턴 기반 스마트 태그 생성
  • 문서의 구조화된 서문
  • AST 기반 제목 및 섹션 감지
  • 코드 조각 식별 및 태그 지정
  • 컨텍스트 인식 결과 프레젠테이션

템플릿 시스템

  • 일반적인 문서 유형에 대한 내장 템플릿
  • 메타데이터 기본값을 사용한 사용자 정의 템플릿 지원
  • 템플릿 상속 및 재정의 기능
  • 일관된 서식을 위한 플레이스홀더 시스템

🛠️ 개발

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

🐛 디버깅

MCP 서버는 stdio를 통해 통신하므로 디버깅이 어려울 수 있습니다. MCP Inspector를 사용하세요.

npm run inspector

검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.

📄 라이센스

MIT © 모델 컨텍스트 프로토콜

ID: 44sgp6bmdc