Documentation MCP
by syamai
README.md
# Documentation MCP
[](https://www.npmjs.com/package/@frontpoint/documentation-mcp)
[](https://opensource.org/licenses/MIT)
코드베이스를 분석하여 README, API 문서, 아키텍처 다이어그램, CHANGELOG를 자동으로 생성하는 MCP 서버입니다.
## 주요 기능
- **코드 자동 분석**: TypeScript/JavaScript AST 파싱으로 함수, 클래스, 인터페이스 추출
- **JSDoc 파싱**: JSDoc/TSDoc 주석에서 설명, 파라미터, 반환값 정보 추출
- **문서화 커버리지**: 코드의 문서화 비율을 계산하여 품질 측정
- **다양한 문서 생성**: README, API 문서, Mermaid 다이어그램, CHANGELOG 지원
- **다국어 지원**: 한국어/영어 문서 생성 지원
## 설치
### npm을 통한 글로벌 설치 (권장)
```bash
npm install -g @frontpoint/documentation-mcp
```
### 프로젝트 로컬 설치
```bash
npm install @frontpoint/documentation-mcp
```
### 소스에서 설치
```bash
# 저장소 클론
git clone https://github.com/anthropics/documentation-mcp.git
cd documentation-mcp
# 의존성 설치 및 빌드
npm install
npm run build
```
## MCP 클라이언트 설정
### 방법 1: npx 사용 (가장 간편)
npx를 사용하면 별도 설치 없이 바로 사용할 수 있습니다.
**Claude Desktop 설정** (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["@frontpoint/documentation-mcp", "."]
}
}
}
```
### 방법 2: 글로벌 설치 후 사용
```bash
npm install -g @frontpoint/documentation-mcp
```
**Claude Desktop 설정**:
```json
{
"mcpServers": {
"documentation": {
"command": "documentation-mcp",
"args": ["."]
}
}
}
```
### 방법 3: 프로젝트별 로컬 설정
프로젝트 루트에 `.mcp.json` 파일 생성:
```json
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["@frontpoint/documentation-mcp", "."]
}
}
}
```
### Claude Code (CLI) 설정
```bash
# npx 사용
claude mcp add documentation npx @frontpoint/documentation-mcp .
# 또는 글로벌 설치 후
claude mcp add documentation documentation-mcp .
```
**설정 파일 위치:**
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
## 사용 워크플로우
### 1단계: 프로젝트 초기화
```
doc-init
```
프로젝트를 분석하고 `.doc-generator/` 디렉토리에 설정 파일을 생성합니다.
**옵션:**
- `--language <lang>`: 문서 언어 (ko | en). 기본값: en
- `--outputPath <path>`: 문서 출력 경로
- `--includePrivate`: private 멤버도 문서화에 포함
- `--diagramFormat <format>`: 다이어그램 형식 (mermaid | plantuml)
- `--force`: 기존 설정 덮어쓰기
**예시:**
```
doc-init --language ko
doc-init --outputPath docs --includePrivate
```
### 2단계: 코드베이스 분석
```
doc-analyze
```
TypeScript/JavaScript 파일을 파싱하여 문서화 정보를 추출합니다.
**옵션:**
- `--scope <path>`: 분석할 경로 (기본값: 전체 프로젝트)
- `--includePrivate`: private 멤버도 포함
- `--force`: 캐시 무시하고 새로 분석
**예시:**
```
doc-analyze
doc-analyze --scope src/api
```
### 3단계: 문서 생성
```
doc-generate <type>
```
분석된 코드를 기반으로 문서를 생성합니다.
**지원 문서 유형:**
- `readme`: README.md 생성
- `api`: API 문서 생성
- `diagram`: Mermaid 아키텍처 다이어그램 생성
- `changelog`: CHANGELOG.md 생성
- `all`: 모든 문서 생성
**옵션:**
- `--force`: 기존 파일 덮어쓰기
- `--dryRun`: 실제 생성 없이 미리보기
**예시:**
```
doc-generate readme
doc-generate all --force
doc-generate api --dryRun
```
### 4단계: 상태 확인
```
doc-status
```
현재 문서화 상태와 커버리지를 확인합니다.
**옵션:**
- `--detailed`: 상세 정보 포함
- `--coverage`: 커버리지 정보만 표시
## 생성되는 문서 구조
```
your-project/
├── .doc-generator/ # 설정 디렉토리
│ ├── config.json # 문서화 설정
│ ├── state.json # 생성 상태
│ └── analysis-cache.json # 분석 결과 캐시
├── README.md # 프로젝트 README
├── CHANGELOG.md # 변경 로그
└── docs/
├── api/
│ └── README.md # API 문서
└── diagrams/
└── architecture.md # 아키텍처 다이어그램
```
## 도구 목록
| 도구 | 설명 |
|------|------|
| `doc-init` | 프로젝트 초기화, `.doc-generator/` 생성 |
| `doc-analyze` | 코드베이스 분석 (함수, 클래스, 인터페이스, API 엔드포인트) |
| `doc-generate` | 문서 생성 (README, API, 다이어그램, CHANGELOG) |
| `doc-status` | 현재 문서화 상태 및 커버리지 확인 |
## 프로그래매틱 사용
```typescript
import { DocumentationMCPServer } from '@frontpoint/documentation-mcp/server';
const server = new DocumentationMCPServer();
await server.initialize('/path/to/project');
await server.start();
```
```typescript
import { analyzeProject } from '@frontpoint/documentation-mcp/core/code-analyzer';
import type { ProjectAnalysis } from '@frontpoint/documentation-mcp/types';
const analysis: ProjectAnalysis = await analyzeProject('/path/to/project', config);
console.log(`Analyzed ${analysis.totalFiles} files`);
```
## 개발
```bash
# 저장소 클론
git clone https://github.com/anthropics/documentation-mcp.git
cd documentation-mcp
# 의존성 설치
npm install
# 개발 모드 (watch)
npm run dev
# 테스트
npm test
# 린트
npm run lint
# 빌드
npm run build
```
## 기여하기
1. 이 저장소를 포크합니다
2. 피처 브랜치를 생성합니다 (`git checkout -b feature/amazing-feature`)
3. 변경사항을 커밋합니다 (`git commit -m 'Add amazing feature'`)
4. 브랜치에 푸시합니다 (`git push origin feature/amazing-feature`)
5. Pull Request를 생성합니다
## 라이선스
MIT License - 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요.
## 관련 링크
- [MCP (Model Context Protocol)](https://modelcontextprotocol.io/)
- [Claude Desktop](https://claude.ai/download)
- [Claude Code](https://claude.ai/code)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues