Skip to content

Commit 4d96073

Browse files
committed
feat: add Korean README for Code Index MCP with detailed usage and features
1 parent 3fc0d2e commit 4d96073

File tree

1 file changed

+284
-0
lines changed

1 file changed

+284
-0
lines changed

README_ko.md

Lines changed: 284 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
1+
# 코드 인덱스 MCP
2+
3+
<div align="center">
4+
5+
[![MCP Server](https://img.shields.io/badge/MCP-Server-blue)](https://modelcontextprotocol.io)
6+
[![Python](https://img.shields.io/badge/Python-3.10%2B-green)](https://www.python.org/)
7+
[![License](https://img.shields.io/badge/License-MIT-yellow)](LICENSE)
8+
9+
**대규모 언어 모델을 위한 지능형 코드 인덱싱과 분석**
10+
11+
고급 검색, 정밀 분석, 유연한 탐색 기능으로 AI가 코드베이스를 이해하고 활용하는 방식을 혁신하세요.
12+
13+
</div>
14+
15+
<a href="https://glama.ai/mcp/servers/@johnhuang316/code-index-mcp">
16+
<img width="380" height="200" src="https://glama.ai/mcp/servers/@johnhuang316/code-index-mcp/badge" alt="code-index-mcp MCP server" />
17+
</a>
18+
19+
## 개요
20+
21+
Code Index MCP는 [Model Context Protocol](https://modelcontextprotocol.io) 기반 MCP 서버로, AI 어시스턴트와 복잡한 코드베이스 사이를 연결합니다. 빠른 인덱싱, 강력한 검색, 정밀한 코드 분석을 제공하여 AI가 프로젝트 구조를 정확히 파악하고 효과적으로 지원하도록 돕습니다.
22+
23+
**이럴 때 안성맞춤:** 코드 리뷰, 리팩터링, 문서화, 디버깅 지원, 아키텍처 분석
24+
25+
## 빠른 시작
26+
27+
### 🚀 **권장 설정 (대부분의 사용자)**
28+
29+
어떤 MCP 호환 애플리케이션에서도 몇 단계만으로 시작할 수 있습니다.
30+
31+
**사전 준비:** Python 3.10+ 및 [uv](https://github.com/astral-sh/uv)
32+
33+
1. **MCP 설정에 서버 추가** (예: `claude_desktop_config.json` 또는 `~/.claude.json`)
34+
```json
35+
{
36+
"mcpServers": {
37+
"code-index": {
38+
"command": "uvx",
39+
"args": ["code-index-mcp"]
40+
}
41+
}
42+
}
43+
```
44+
45+
2. **애플리케이션 재시작**`uvx`가 설치와 실행을 자동으로 처리합니다.
46+
47+
3. **사용 시작** (AI 어시스턴트에게 아래 프롬프트를 전달)
48+
```
49+
프로젝트 경로를 /Users/dev/my-react-app 으로 설정해줘
50+
이 프로젝트에서 모든 TypeScript 파일을 찾아줘
51+
"authentication" 관련 함수를 검색해줘
52+
src/App.tsx 파일을 분석해줘
53+
```
54+
55+
## 대표 사용 사례
56+
57+
**코드 리뷰:** "예전 API를 사용하는 부분을 모두 찾아줘"
58+
**리팩터링 지원:** "이 함수는 어디에서 호출되나요?"
59+
**프로젝트 학습:** "이 React 프로젝트의 핵심 컴포넌트를 보여줘"
60+
**디버깅:** "에러 처리 로직이 있는 파일을 찾아줘"
61+
62+
## 주요 기능
63+
64+
### 🧠 **지능형 검색과 분석**
65+
- **듀얼 전략 아키텍처:** 7개 핵심 언어는 전용 tree-sitter 파서를 사용하고, 그 외 50+ 파일 형식은 폴백 전략으로 처리
66+
- **직접 Tree-sitter 통합:** 특화 언어에 정규식 폴백 없음 – 문제 시 즉시 실패하고 명확한 오류 메시지 제공
67+
- **고급 검색:** ugrep, ripgrep, ag, grep 중 최적의 도구를 자동 선택해 활용
68+
- **범용 파일 지원:** 정교한 AST 분석부터 기본 파일 인덱싱까지 폭넓게 커버
69+
- **파일 분석:** `build_deep_index` 실행 후 구조, 임포트, 클래스, 메서드, 복잡도 지표를 심층적으로 파악
70+
71+
### 🗂️ **다중 언어 지원**
72+
- **Tree-sitter AST 분석(7종):** Python, JavaScript, TypeScript, Java, Go, Objective-C, Zig
73+
- **폴백 전략(50+ 형식):** C/C++, Rust, Ruby, PHP 등 대부분의 프로그래밍 언어 지원
74+
- **문서 및 설정 파일:** Markdown, JSON, YAML, XML 등 상황에 맞는 처리
75+
- **웹 프론트엔드:** Vue, React, Svelte, HTML, CSS, SCSS
76+
- **데이터 계층:** SQL, NoSQL, 스토어드 프로시저, 마이그레이션 스크립트
77+
- **구성 파일:** JSON, YAML, XML, Markdown
78+
- **[지원 파일 전체 목록 보기](#지원-파일-형식)**
79+
80+
### 🔄 **실시간 모니터링 & 자동 새로고침**
81+
- **파일 워처:** 파일 변경 시 자동으로 얕은 인덱스(파일 목록) 갱신
82+
- **크로스 플랫폼:** 운영체제 기본 파일시스템 이벤트 활용
83+
- **스마트 처리:** 빠른 변경을 묶어 과도한 재빌드를 방지
84+
- **얕은 인덱스 갱신:** 파일 목록을 최신 상태로 유지하며, 심볼 데이터가 필요하면 `build_deep_index`를 실행
85+
86+
### **성능 & 효율성**
87+
- **Tree-sitter AST 파싱:** 정확한 심볼 추출을 위한 네이티브 구문 분석
88+
- **지속 캐싱:** 인덱스를 저장해 이후 응답 속도를 극대화
89+
- **스마트 필터링:** 빌드 디렉터리·임시 파일을 자동 제외
90+
- **메모리 효율:** 대규모 코드베이스를 염두에 둔 설계
91+
- **직접 의존성:** 불필요한 폴백 없이 명확한 오류 메시지 제공
92+
93+
## 지원 파일 형식
94+
95+
<details>
96+
<summary><strong>💻 프로그래밍 언어 (클릭하여 확장)</strong></summary>
97+
98+
**전용 Tree-sitter 전략 언어:**
99+
- **Python** (`.py`, `.pyw`) – 클래스/메서드 추출 및 호출 추적이 포함된 완전 AST 분석
100+
- **JavaScript** (`.js`, `.jsx`, `.mjs`, `.cjs`) – ES6+ 클래스와 함수를 tree-sitter로 파싱
101+
- **TypeScript** (`.ts`, `.tsx`) – 인터페이스를 포함한 타입 인지 심볼 추출
102+
- **Java** (`.java`) – 클래스 계층, 메서드 시그니처, 호출 관계 분석
103+
- **Go** (`.go`) – 구조체 메서드, 리시버 타입, 함수 분석
104+
- **Objective-C** (`.m`, `.mm`) – 클래스/인스턴스 메서드를 +/- 표기로 구분
105+
- **Zig** (`.zig`, `.zon`) – 함수와 구조체를 tree-sitter AST로 분석
106+
107+
**기타 모든 프로그래밍 언어:**
108+
나머지 언어는 **폴백 파싱 전략**으로 기본 메타데이터와 파일 인덱싱을 제공합니다. 예:
109+
- **시스템/저수준:** C/C++ (`.c`, `.cpp`, `.h`, `.hpp`), Rust (`.rs`)
110+
- **객체지향:** C# (`.cs`), Kotlin (`.kt`), Scala (`.scala`), Swift (`.swift`)
111+
- **스크립트:** Ruby (`.rb`), PHP (`.php`), Shell (`.sh`, `.bash`)
112+
- **그 외 40+ 형식** – 폴백 전략으로 빠른 탐색 가능
113+
114+
</details>
115+
116+
<details>
117+
<summary><strong>🌐 웹 프론트엔드 & UI</strong></summary>
118+
119+
- 프레임워크: Vue (`.vue`), Svelte (`.svelte`), Astro (`.astro`)
120+
- 스타일링: CSS (`.css`, `.scss`, `.less`, `.sass`, `.stylus`, `.styl`), HTML (`.html`)
121+
- 템플릿: Handlebars (`.hbs`, `.handlebars`), EJS (`.ejs`), Pug (`.pug`)
122+
123+
</details>
124+
125+
<details>
126+
<summary><strong>🗄️ 데이터 계층 & SQL</strong></summary>
127+
128+
- **SQL 변형:** 표준 SQL (`.sql`, `.ddl`, `.dml`), 데이터베이스별 방언 (`.mysql`, `.postgresql`, `.psql`, `.sqlite`, `.mssql`, `.oracle`, `.ora`, `.db2`)
129+
- **DB 객체:** 프로시저/함수 (`.proc`, `.procedure`, `.func`, `.function`), 뷰/트리거/인덱스 (`.view`, `.trigger`, `.index`)
130+
- **마이그레이션 도구:** 마이그레이션 파일 (`.migration`, `.seed`, `.fixture`, `.schema`), 도구 구성 (`.liquibase`, `.flyway`)
131+
- **NoSQL & 그래프:** 질의 언어 (`.cql`, `.cypher`, `.sparql`, `.gql`)
132+
133+
</details>
134+
135+
<details>
136+
<summary><strong>📄 문서 & 설정 파일</strong></summary>
137+
138+
- Markdown (`.md`, `.mdx`)
139+
- 구성 파일 (`.json`, `.xml`, `.yml`, `.yaml`)
140+
141+
</details>
142+
143+
## 사용 가능한 도구
144+
145+
### 🏗️ **프로젝트 관리**
146+
| 도구 | 설명 |
147+
|------|------|
148+
| **`set_project_path`** | 프로젝트 디렉터리의 인덱스를 초기화 |
149+
| **`refresh_index`** | 파일 변경 후 얕은 파일 인덱스를 재생성 |
150+
| **`build_deep_index`** | 심층 분석에 사용하는 전체 심볼 인덱스를 생성 |
151+
| **`get_settings_info`** | 현재 프로젝트 설정과 상태를 확인 |
152+
153+
*심볼 레벨 데이터가 필요하면 `build_deep_index`를 실행하세요. 기본 얕은 인덱스는 빠른 파일 탐색을 담당합니다.*
154+
155+
### 🔍 **검색 & 탐색**
156+
| 도구 | 설명 |
157+
|------|------|
158+
| **`search_code_advanced`** | 정규식, 퍼지 매칭, 파일 필터링을 지원하는 스마트 검색 |
159+
| **`find_files`** | 글롭 패턴으로 파일 찾기 (예: `**/*.py`) |
160+
| **`get_file_summary`** | 파일 구조, 함수, 임포트, 복잡도를 분석 (심층 인덱스 필요) |
161+
162+
### 🔄 **모니터링 & 자동 새로고침**
163+
| 도구 | 설명 |
164+
|------|------|
165+
| **`get_file_watcher_status`** | 파일 워처 상태와 구성을 확인 |
166+
| **`configure_file_watcher`** | 자동 새로고침 설정 (활성/비활성, 지연 시간, 추가 제외 패턴) |
167+
168+
### 🛠️ **시스템 & 유지 관리**
169+
| 도구 | 설명 |
170+
|------|------|
171+
| **`create_temp_directory`** | 인덱스 저장용 임시 디렉터리를 생성 |
172+
| **`check_temp_directory`** | 인덱스 저장 위치와 권한을 확인 |
173+
| **`clear_settings`** | 모든 설정과 캐시 데이터를 초기화 |
174+
| **`refresh_search_tools`** | 사용 가능한 검색 도구를 재검색 (ugrep, ripgrep 등) |
175+
176+
## 사용 예시
177+
178+
### 🧭 **빠른 시작 워크플로**
179+
180+
**1. 프로젝트 초기화**
181+
```
182+
프로젝트 경로를 /Users/dev/my-react-app 으로 설정해줘
183+
```
184+
*프로젝트를 설정하고 얕은 인덱스를 생성합니다.*
185+
186+
**2. 프로젝트 구조 탐색**
187+
```
188+
src/components 안의 TypeScript 컴포넌트 파일을 모두 찾아줘
189+
```
190+
*사용 도구: `find_files` (`src/components/**/*.tsx`)*
191+
192+
**3. 핵심 파일 분석**
193+
```
194+
src/api/userService.ts 요약을 알려줘
195+
```
196+
*사용 도구: `get_file_summary` (함수, 임포트, 복잡도 표시)*
197+
*팁: `needs_deep_index` 응답이 나오면 먼저 `build_deep_index`를 실행하세요.*
198+
199+
### 🔍 **고급 검색 예시**
200+
201+
<details>
202+
<summary><strong>코드 패턴 검색</strong></summary>
203+
204+
```
205+
"get.*Data"에 해당하는 함수 호출을 정규식으로 찾아줘
206+
```
207+
*예: `getData()`, `getUserData()`, `getFormData()`*
208+
209+
</details>
210+
211+
<details>
212+
<summary><strong>퍼지 함수 검색</strong></summary>
213+
214+
```
215+
'authUser'와 유사한 인증 관련 함수를 찾아줘
216+
```
217+
*예: `authenticateUser`, `authUserToken`, `userAuthCheck`*
218+
219+
</details>
220+
221+
<details>
222+
<summary><strong>언어별 검색</strong></summary>
223+
224+
```
225+
Python 파일에서만 "API_ENDPOINT" 를 찾아줘
226+
```
227+
*`search_code_advanced` + `file_pattern="*.py"`*
228+
229+
</details>
230+
231+
<details>
232+
<summary><strong>자동 새로고침 설정</strong></summary>
233+
234+
```
235+
파일 변경 시 자동으로 인덱스를 새로고침하도록 설정해줘
236+
```
237+
*`configure_file_watcher`로 활성화 및 지연 시간 설정*
238+
239+
</details>
240+
241+
<details>
242+
<summary><strong>프로젝트 유지 관리</strong></summary>
243+
244+
```
245+
새 컴포넌트를 추가했어. 프로젝트 인덱스를 다시 빌드해줘
246+
```
247+
*`refresh_index`로 빠르게 얕은 인덱스를 업데이트*
248+
249+
</details>
250+
251+
## 문제 해결
252+
253+
### 🔄 **자동 새로고침이 동작하지 않을 때**
254+
- 환경 문제로 `watchdog`가 빠졌다면 설치: `pip install watchdog`
255+
- 수동 새로고침: 변경 후 `refresh_index` 도구 실행
256+
- 워처 상태 확인: `get_file_watcher_status` 도구로 활성 여부 점검
257+
258+
## 개발 & 기여
259+
260+
### 🛠️ **소스에서 실행하기**
261+
```bash
262+
git clone https://github.com/johnhuang316/code-index-mcp.git
263+
cd code-index-mcp
264+
uv sync
265+
uv run code-index-mcp
266+
```
267+
268+
### 🧪 **디버깅 도구**
269+
```bash
270+
npx @modelcontextprotocol/inspector uvx code-index-mcp
271+
```
272+
273+
### 🤝 **기여 안내**
274+
Pull Request를 언제든 환영합니다. 변경 사항과 테스트 방법을 함께 공유해주세요.
275+
276+
---
277+
278+
### 📄 **라이선스**
279+
[MIT License](LICENSE)
280+
281+
### 🌍 **번역본**
282+
- [English](README.md)
283+
- [繁體中文](README_zh.md)
284+
- [日本語](README_ja.md)

0 commit comments

Comments
 (0)