hechtcarmel/jetbrains-index-mcp-plugin
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codebase
IDE Index MCP Server – 개요
JetBrains Index MCP Server는 JetBrains IDE(IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm 등)용 플러그인으로, IDE 내부에서 Model Context Protocol (MCP) 서버를 시작합니다. 서버는 로컬 HTTP 포트(예: IntelliJ의 경우 127.0.0.1:29170)에서 수신 대기하며, IDE 자체의 코드 인텔리전스 엔진(AST, 심볼 인덱스, 리팩토링, 진단, 빌드 실행 도구)을 JSON 기반 RPC 호출 집합으로 노출합니다.
Claude, Codex, Cursor, Windsurf와 같은 AI 코딩 어시스턴트는 이러한 RPC 메서드를 호출하여 다음을 수행할 수 있습니다:
- 정의, 참조, 계층 구조 찾기;
- 안전한 리팩토링(이름 변경, 이동, 재포맷 등) 실행;
- 파일 읽기, 텍스트 검색, 진단 가져오기, 빌드 또는 테스트 트리거;
- 여러 프로젝트 관리(절전/깨우기, 열기/닫기)로 메모리 사용량을 낮게 유지.
요컨대, 이 플러그인은 IDE의 강력하고 언어 인식 기능을 AI 에이전트가 단순한 정적 분석 또는 퍼지 검색 도구에 의존하는 대신 사용할 수 있는 헤드리스 서비스로 전환합니다.
주요 기능(전문 용어 최소화)
| 영역 | 플러그인이 제공하는 것 | AI 어시스턴트에게 중요한 이유 |
|---|---|---|
| 다중 언어 지원 | Java/Kotlin, Python, JavaScript/TypeScript, Go, PHP, Rust, Scala, Markdown(및 JetBrains가 이미 지원하는 모든 언어)에서 작동. | 동일한 MCP 엔드포인트가 추가 구성 없이 여러 언어의 쿼리에 응답할 수 있습니다. |
| 범용 도구 | 참조 찾기, 정의로 이동, 파일/텍스트 검색, 진단 읽기, IDE의 가상 파일 시스템 동기화, 빌드/테스트 트리거, 프로젝트 열기/닫기 등. | AI에게 코드베이스의 진정한 의미론적 보기를 제공합니다(단순한 원시 텍스트가 아님). |
| 언어 인식 리팩토링 | 안전한 이름 변경, 파일 이동, 재포맷, 임포트 최적화, 멤버 편집/삽입/교체, 메서드 시그니처 변경, Java에서 Kotlin으로 변환 등. | AI는 참조를 깨지 않고 자동으로 적용되는 변경을 제안할 수 있습니다. |
| 프로젝트 수명 주기 관리 | 유휴 프로젝트는 자동으로 절전 상태가 되고, PSI 캐시가 해제되며, 필요 시 다시 열립니다. | AI가 여러 리포지토리에서 작업할 때 메모리 사용량을 합리적으로 유지합니다. |
| 헤드리스/원격 친화적 | 서버는 일반 IDE 창, JetBrains 원격 개발 세션 또는 헤드리스 자동화 실행에서 작동합니다. | 로컬 IDE와 통신하는 컨테이너 또는 CI 작업에서 AI를 사용할 수 있습니다. |
| 간단한 보안 모델 | 127.0.0.1에 바인딩되고 인증 없음. 같은 머신의 프로세스만 호출할 수 있습니다. |
단일 사용자 워크스테이션에 충분합니다. 공유 머신에서 추가 격리가 필요한지 사용자가 결정해야 합니다. |
작동 방식(고수준 아키텍처)
- 플러그인 시작 – IDE가 시작되면 플러그인은 IDE별로 고유한 기본 포트(예: IntelliJ는 29170, PyCharm은 29172)에서
127.0.0.1에 바인딩된 HTTP 서버를 시작합니다. - MCP 요청 처리 – 각 요청은 도구(예:
ide_find_definition)를 설명하는 JSON 페이로드입니다. 플러그인은 요청을 IDE의 내부 API(PSI, 인덱스, 리팩토링 엔진)로 전달하고 구조화된 JSON 응답을 반환합니다. - 도구 창 – 하단 패널 UI가 서버 상태를 표시하고, 구성 JSON을 복사하고, 포트를 변경하거나 개별 도구를 활성화/비활성화할 수 있습니다.
- 클라이언트 구성 – AI 어시스턴트는 로컬 서버 URL을 가리키는 작은 JSON 스니펫으로 구성됩니다. README에는 Claude, Codex, Cursor, Windsurf 및 일반 VS Code MCP 클라이언트용 준비된 명령이 제공됩니다.
- 수명 주기 관리 – 선택적 백그라운드 구성 요소가 창 포커스와 MCP 활동을 모니터링하여 유휴 프로젝트를 자동으로 저메모리 "휴면" 상태로 전환하고 새 MCP 호출이 도착하면 깨웁니다.
누가 이것을 사용할까?
| 사용 사례 | 이점 |
|---|---|
| AI 지원 코딩 – Claude 또는 Codex가 코드를 제안하도록 하고 제안이 정확한 프로젝트 구조에 기반하도록 원하는 개발자. | AI는 IDE에 심볼의 실제 정의를 요청하고, 정확한 진단을 얻고, 안전하게 리팩토링을 적용할 수 있습니다. |
| 자동 코드 리뷰 / 대량 리팩토링 – 대규모 다중 모듈 리포지토리에서 클래스를 이름 변경해야 하는 스크립트. | 플러그인의 헤드리스 이름 변경 도구는 모든 참조를 업데이트하고 언어별 규칙을 존중합니다. |
| CI / 테스트 파이프라인 – 전체 UI를 시작하지 않고 IDE를 통해 정적 분석 또는 빌드 단계 실행. | ide_build_project 및 ide_run_tests는 IDE의 빌드 시스템을 기계 친화적인 방식으로 노출합니다. |
| 다중 프로젝트 워크스페이스 – 수십 개의 Maven/Gradle 프로젝트를 다루는 개발자. | 수명 주기 관리는 적극적으로 편집되지 않는 프로젝트를 절전하여 메모리를 확보합니다. |
시작하기(빠른 단계)
- JetBrains Marketplace(또는 제공된 ZIP)에서 플러그인을 설치합니다.
- IDE를 다시 시작 – MCP 서버가 자동으로 시작됩니다.
- "Index MCP Server" 도구 창을 열고 **"Install on Coding Agents"**를 클릭합니다. 버튼은 적절한 CLI 명령(Claude, Codex)을 실행하거나 다른 클라이언트용 JSON 구성을 복사합니다.
- AI 어시스턴트 설정에서 서버 URL(예:
http://127.0.0.1:29170/index-mcp/streamable-http)을 추가합니다. - 코딩 시작 – 어시스턴트는 이제 IDE에 정의를 요청하고, 안전한 리팩토링을 실행하고, 진단을 읽을 수 있습니다.
제한 사항 및 보안 참고 사항
- 서버는 로컬 전용이며 인증이 없습니다. 공유 워크스테이션에서는 모든 프로세스가 쓰기 가능한 도구(이름 변경, 이동, 편집)를 호출할 수 있습니다. 필요한 경우 쓰기 도구를 비활성화하거나 OS 수준 방화벽 규칙을 사용하는 것을 고려하세요.
- Rider는 지원되지 않습니다. ReSharper 백엔드가 필요한 PSI API를 노출하지 않기 때문입니다.
- 일부 도구는 기본적으로 비활성화되어 있습니다(예:
ide_read_file,ide_refactor_rename). Settings → Tools → Index MCP Server → Exposed Tools에서 활성화해야 합니다.
라이선스 및 기여
이 플러그인은 표준 JetBrains 플러그인 라이선스(리포지토리의 LICENSE 파일 참조)로 배포됩니다. 풀 리퀘스트를 통한 기여를 환영합니다. 지침은 리포지토리의 Contributing 섹션을 참조하세요.
TL;DR
JetBrains Index MCP Server는 IDE의 깊은 코드 이해 엔진을 AI 코딩 어시스턴트가 호출할 수 있는 로컬 HTTP 서비스로 전환합니다. 여러 언어를 지원하고, 안전한 리팩토링, 프로젝트 수명 주기 관리를 제공하며, 인기 있는 AI 도구와 즉시 작동합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트