MCP 문서 관리

메뉴

code-assistant

code-assistant

code-assistant는 코드베이스를 탐색하고 코드를 변경할 수 있는 코딩 어시스턴트 MCP 서버입니다. 이 서버는 LLM(Large Language Models)이 코드베이스의 구조를 이해하고, 소스 코드를 분석하며, 필요한 수정을 수행할 수 있도록 설계되었습니다.

특징

  • 코드베이스 탐색: 디렉토리 구조 및 파일 시스템 탐색 기능
  • 코드 검색: 패턴, 키워드, 정규식 기반 코드 검색
  • 파일 관리: 파일 읽기, 생성, 수정 및 삭제 기능
  • 코드 분석: 코드 구조 및 의미 분석
  • 코드 수정: 자동 코드 변경 및 패치 생성
  • 다중 언어 지원: 다양한 프로그래밍 언어 코드베이스 지원

API

도구

코드베이스 탐색

  • explore_codebase: 코드베이스의 구조를 탐색합니다.
  • 입력: 경로(선택적)
  • 출력: 디렉토리 및 파일 구조

  • list_files: 특정 패턴에 맞는 파일을 나열합니다.

  • 입력: 디렉토리 경로, 패턴(선택적)
  • 출력: 파일 목록

코드 검색 및 분석

  • search_code: 코드베이스에서 패턴이나 키워드를 검색합니다.
  • 입력: 검색어, 파일 패턴(선택적), 검색 옵션(선택적)
  • 출력: 검색 결과 및 해당 코드 스니펫

  • analyze_function: 특정 함수를 분석합니다.

  • 입력: 함수 이름 또는 경로와 함수 위치
  • 출력: 함수 구조, 인자, 반환 값, 의존성 등의 분석 결과

파일 조작

  • read_file: 파일 내용을 읽습니다.
  • 입력: 파일 경로
  • 출력: 파일 내용

  • create_file: 새 파일을 생성합니다.

  • 입력: 파일 경로, 파일 내용
  • 출력: 생성 결과

  • modify_file: 파일 내용을 수정합니다.

  • 입력: 파일 경로, 변경 내용, 위치(선택적)
  • 출력: 수정 결과

  • delete_file: 파일을 삭제합니다.

  • 입력: 파일 경로
  • 출력: 삭제 결과

코드 변경

  • create_patch: 코드 변경에 대한 패치를 생성합니다.
  • 입력: 변경 파일 목록, 변경 내용
  • 출력: 패치 파일 또는 변경 사항 요약

  • apply_patch: 패치를 적용합니다.

  • 입력: 패치 내용 또는 패치 파일 경로
  • 출력: 적용 결과

사용 방법

설치

# npm을 통한 설치
npm install -g mcp-code-assistant

# 또는 uvx 사용
uvx mcp-code-assistant

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정 파일에 추가합니다:

{
  "mcpServers": {
    "codeAssistant": {
      "command": "npx",
      "args": ["-y", "mcp-code-assistant", "/path/to/your/codebase"]
    }
  }
}

사용 예시

// 코드베이스 탐색
const structure = await explore_codebase("/path/to/project");
console.log(structure);

// 코드 검색
const searchResults = await search_code("function calculateTotal", "*.js");
console.log(searchResults);

// 파일 읽기
const fileContent = await read_file("/path/to/project/src/main.js");
console.log(fileContent);

// 파일 수정
const modificationResult = await modify_file(
  "/path/to/project/src/main.js",
  "// Adding a new comment\nfunction newFeature() { ... }",
  { position: "end" }
);
console.log(modificationResult);

연결된 구성 요소

주의사항

이 서버는 신뢰할 수 있는 저장소에서만 사용해야 합니다. 프롬프트 인젝션 공격에 대한 보호가 불충분하여 보안 취약성이 있을 수 있습니다. 다음 사항에 주의하세요:

  1. 승인된 코드베이스에서만 사용하세요.
  2. 코드 변경 전에 변경 사항을 검토하세요.
  3. 중요한 시스템이나 프로덕션 환경에서 사용하지 마세요.
  4. 민감한 코드나 비밀 정보가 포함된 저장소에서는 사용을 제한하세요.