링크된 문서
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);
연결된 구성 요소
주의사항
이 서버는 신뢰할 수 있는 저장소에서만 사용해야 합니다. 프롬프트 인젝션 공격에 대한 보호가 불충분하여 보안 취약성이 있을 수 있습니다. 다음 사항에 주의하세요:
- 승인된 코드베이스에서만 사용하세요.
- 코드 변경 전에 변경 사항을 검토하세요.
- 중요한 시스템이나 프로덕션 환경에서 사용하지 마세요.
- 민감한 코드나 비밀 정보가 포함된 저장소에서는 사용을 제한하세요.