MCP-RTFM

"RTFM!"이라고들 하지만, R에 대한 FM이 없다면 어떨까요? 🤔 MCP-RTFM을 소개합니다. 모두가 읽으라고 계속 권하는 그 빌어먹을 매뉴얼을 만들 수 있도록 도와주는 MCP 서버입니다! 고급 콘텐츠 분석, 메타데이터 생성, 지능형 검색 기능을 활용하여 존재하지 않거나 읽을 수 없는 문서를 상호 연결된 지식 기반으로 변환하여 "기본적인 질문"이 제기되기 전에 실제로 답을 제공합니다.
반전 : 사람들에게 RTFM을 하라고 말하는 대신, 이제 R-ing할 만한 FM을 선사할 수 있게 됐네요! "빌어먹을 매뉴얼을 읽어봐"라는 말에 대한 가장 좋은 대답은 실제로 읽을 만한 매뉴얼을 갖는 거니까요. 📚✨
📚 목차
Related MCP server: RAG Documentation MCP Server
🚀 빠른 시작
지엑스피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 기반 콘텐츠 분석
정확한 헤딩 구조 감지
코드 블록 및 링크 추출
적절한 마크다운 구문 분석 및 조작
강력한 검색 기능을 위한 미니서치 :
지능형 메타데이터 생성
분류를 위한 자동 콘텐츠 분석
콘텐츠 패턴 기반 스마트 태그 생성
문서의 구조화된 서문
AST 기반 제목 및 섹션 감지
코드 조각 식별 및 태그 지정
컨텍스트 인식 결과 프레젠테이션
템플릿 시스템
🛠️ 개발
# Install dependencies
npm install
# Build the server
npm run build
# Development with auto-rebuild
npm run watch
🐛 디버깅
MCP 서버는 stdio를 통해 통신하므로 디버깅이 어려울 수 있습니다. MCP Inspector를 사용하세요.
검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.
📄 라이센스
MIT © 모델 컨텍스트 프로토콜