VS 코드 MCP 서버
Claude와 다른 MCP 클라이언트가 VS Code에서 직접 코딩할 수 있도록 해주는 Visual Studio Code 확장 프로그램( Marketplace 에서 이용 가능)입니다! Serena 에서 영감을 얻었지만 VS Code의 기본 기능을 사용합니다. 현재 Serena보다 훨씬 간단하지만 작동합니다! 이 확장 프로그램은 SSE API가 아닌 스트리밍 가능한 HTTP API를 사용합니다.
이 확장 기능은 셸 명령 실행을 허용합니다. 이는 잠재적인 보안 위험을 의미하므로 신중하게 사용하고, 사용 중인 MCP 클라이언트를 신뢰하고 포트가 어떤 것에도 노출되지 않았는지 확인하십시오. 인증이 도움이 될 수 있지만, MCP 인증 사양이 아직 유동적이기 때문에 현재로서는 구현되지 않았습니다.
홍보를 환영합니다!
데모 비디오
https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90
설치
- Marketplace 에서 확장 프로그램을 설치하거나 이 저장소를 복제하고
npm install
및npm run compile
실행하여 빌드합니다.
클로드 데스크톱 구성
Claude Desktop은 이 확장 프로그램을 MCP 서버로 사용하도록 구성할 수 있습니다. 이를 위해 claude_desktop_config.json
파일은 다음과 같습니다.
지엑스피1
Claude 프로젝트에서도 이 확장 기능을 자주 사용하는데, Claude에게 추가 지침을 지정할 수 있기 때문입니다. 다음 프롬프트가 잘 작동하는 것 같습니다.
이 확장 기능은 MCP(Model Context Protocol) 서버 역할을 하며, VS Code의 파일 시스템과 편집 기능을 MCP 클라이언트에 제공합니다.
특징
VS Code MCP 서버 확장 기능은 AI 모델과 기타 MCP 클라이언트가 다음을 수행할 수 있도록 하는 MCP 호환 서버를 구현합니다.
- VS Code 작업 공간에서 파일 및 디렉토리 나열
- 인코딩 지원 및 크기 제한을 통해 파일 내용 읽기
- 작업 공간 전체에서 기호 검색
- 줄과 심볼 이름으로 심볼 정의와 호버 정보를 가져옵니다.
- VS Code의 WorkspaceEdit API를 사용하여 새 파일 만들기
- 파일에서 줄 바꾸기
- 작업 공간에서 진단(오류 및 경고)을 확인하세요.
- 셸 통합을 통해 통합 터미널에서 셸 명령 실행
- 상태 표시줄 항목을 통해 서버를 켜고 끕니다.
이 확장 기능을 사용하면 표준화된 MCP 프로토콜을 통해 AI 어시스턴트 및 기타 도구가 VS Code 작업 공간과 상호 작용할 수 있습니다.
작동 원리
확장 프로그램은 다음을 수행하는 MCP 서버를 생성합니다.
- 구성 가능한 포트에서 로컬로 실행(활성화된 경우)
- HTTP를 통해 MCP 프로토콜 요청을 처리합니다.
- VS Code의 기능을 MCP 도구로 공개합니다.
- 서버 상태를 표시하는 상태 표시줄을 제공하며, 이를 클릭하면 서버를 켜거나 끌 수 있습니다.
지원되는 MCP 도구
파일 도구
- list_files_code : 작업 공간의 파일과 디렉토리를 나열합니다.
- 매개변수:
path
: 파일을 나열할 경로recursive
(선택 사항): 파일을 재귀적으로 나열할지 여부
- 매개변수:
- read_file_code : 파일 내용을 읽습니다.
- 매개변수:
path
: 읽을 파일의 경로encoding
(선택 사항): 파일 인코딩(기본값: utf-8)maxCharacters
(선택 사항): 최대 문자 수(기본값: 100,000)
- 매개변수:
편집 도구
- create_file_code : VS Code의 WorkspaceEdit API를 사용하여 새 파일을 만듭니다.
- 매개변수:
path
: 생성할 파일의 경로content
: 파일에 쓸 내용overwrite
(선택 사항): 파일이 존재하는 경우 덮어쓸지 여부(기본값: false)ignoreIfExists
(선택 사항): 파일이 존재하는 경우 무시할지 여부(기본값: false)
- 매개변수:
- replace_lines_code : 파일의 특정 줄을 바꿉니다.
- 매개변수:
path
: 수정할 파일의 경로startLine
: 시작 줄 번호(0부터 시작, 포함)endLine
: 끝 줄 번호(0부터 시작, 포함)content
: 줄을 대체할 새 콘텐츠originalCode
: 검증을 위한 원본 코드
- 매개변수:
진단 도구
- get_diagnostics_code : 작업 공간에서 경고 및 오류를 확인합니다.
- 매개변수:
path
(선택 사항): 확인할 파일 경로(제공되지 않으면 전체 작업 공간을 확인함)severities
(선택 사항): 포함할 심각도 수준 배열(0=오류, 1=경고, 2=정보, 3=힌트). 기본값: [0, 1]format
(선택 사항): 출력 형식('text' 또는 'json'). 기본값: 'text'includeSource
(선택 사항): 진단 소스를 포함할지 여부입니다. 기본값: true
이 도구는 특히 다음과 같은 경우에 유용합니다.
- 변경 사항을 커밋하기 전에 코드 품질 검사
- 수정 사항을 확인하면 보고된 모든 문제가 해결되었습니다.
- 특정 파일이나 전체 작업 공간의 문제 식별
- 매개변수:
심볼 도구
- search_symbols_code : 작업 공간 전체에서 심볼을 검색합니다.
- 매개변수:
query
: 심볼 이름에 대한 검색 쿼리maxResults
(선택 사항): 반환할 최대 결과 수(기본값: 10) 이 도구는 다음과 같은 경우에 유용합니다.
- 코드베이스 전체에서 심볼(함수, 클래스, 변수 등)의 정의 찾기
- 프로젝트 구조 및 조직 탐색
- 이름으로 특정 요소 찾기
- 매개변수:
- get_symbol_definition_code : 파일의 심볼에 대한 정의 정보를 가져옵니다.
- 매개변수:
path
: 심볼을 포함하는 파일의 경로line
: 심볼의 줄 번호(0부터 시작)symbol
: 지정된 줄에서 찾을 기호 이름 이 도구는 다음을 제공합니다.
- 심볼에 대한 유형 정보, 문서 및 소스 세부 정보
- 기호가 나타나는 줄을 보여주는 코드 컨텍스트
- 기호 범위 정보는 다음과 같은 경우에 특히 유용합니다.
- 탐색하지 않고도 기호가 무엇을 나타내는지 이해하기
- 함수 시그니처, 유형 정의 또는 문서 확인
- API 또는 라이브러리 함수에 대한 빠른 참조
- 매개변수:
쉘 도구
- execute_shell_command_code : 셸 통합을 통해 VS Code 통합 터미널에서 셸 명령을 실행합니다.
- 매개변수:
command
: 실행할 쉘 명령어cwd
(선택 사항): 명령을 위한 선택적 작업 디렉토리(기본값: '.')
이 도구는 다음과 같은 경우에 유용합니다.
- CLI 명령 및 빌드 작업 실행
- git 명령 실행
- 터미널 액세스가 필요한 모든 셸 작업 수행
- 분석 및 추가 처리를 위한 명령 출력 얻기
- 매개변수:
주의 사항/TODO
현재 하나의 작업 공간만 지원됩니다. 또한, 이 확장 프로그램은 로컬에서만 작동하여 VS Code 인스턴스가 연결된 네트워크에 노출되는 것을 방지합니다.
확장 설정
이 확장 기능은 다음 설정에 기여합니다.
vscode-mcp-server.port
: MCP 서버의 포트 번호(기본값: 3000)
MCP 클라이언트와 함께 사용
MCP 클라이언트를 이 서버에 연결하려면 다음을 사용하도록 구성하세요.
먼저 상태 표시줄 항목을 클릭하여 서버를 활성화해야 한다는 점을 기억하세요!
기여하다
기여를 환영합니다! 이슈를 제출하거나 풀 리퀘스트를 보내주세요.
특허
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
vscode-mcp-server