vscode-mcp-server

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

설치

  1. Marketplace 에서 확장 프로그램을 설치하거나 이 저장소를 복제하고 npm installnpm run compile 실행하여 빌드합니다.

클로드 데스크톱 구성

Claude Desktop은 이 확장 프로그램을 MCP 서버로 사용하도록 구성할 수 있습니다. 이를 위해 claude_desktop_config.json 파일은 다음과 같습니다.

지엑스피1

Claude 프로젝트에서도 이 확장 기능을 자주 사용하는데, Claude에게 추가 지침을 지정할 수 있기 때문입니다. 다음 프롬프트가 잘 작동하는 것 같습니다.

You are working on an existing codebase, which you can access using your tools. These code tools interact with a VS Code workspace. Before running code tools that will make any modification to code, always present a comprehensive and detailed plan to the user, including your confidence level (out of 10). When planning, use your tools to explore the codebase so that you understand the context of the project. If you are not confident in your plan because you require more information, use your tools, such as web search, to look for this information or ask the user. IMPORTANT: Only run code tools that will modify code after presenting such a plan to the user, and receiving explicit approval. Approval must be given each time; prior approval for a change does not imply that subsequent changes are approved.

이 확장 기능은 MCP(Model Context Protocol) 서버 역할을 하며, VS Code의 파일 시스템과 편집 기능을 MCP 클라이언트에 제공합니다.

특징

VS Code MCP 서버 확장 기능은 AI 모델과 기타 MCP 클라이언트가 다음을 수행할 수 있도록 하는 MCP 호환 서버를 구현합니다.

  • VS Code 작업 공간에서 파일 및 디렉토리 나열
  • 인코딩 지원 및 크기 제한을 통해 파일 내용 읽기
  • 작업 공간 전체에서 기호 검색
  • 줄과 심볼 이름으로 심볼 정의와 호버 정보를 가져옵니다.
  • VS Code의 WorkspaceEdit API를 사용하여 새 파일 만들기
  • 파일에서 줄 바꾸기
  • 작업 공간에서 진단(오류 및 경고)을 확인하세요.
  • 셸 통합을 통해 통합 터미널에서 셸 명령 실행
  • 상태 표시줄 항목을 통해 서버를 켜고 끕니다.

이 확장 기능을 사용하면 표준화된 MCP 프로토콜을 통해 AI 어시스턴트 및 기타 도구가 VS Code 작업 공간과 상호 작용할 수 있습니다.

작동 원리

확장 프로그램은 다음을 수행하는 MCP 서버를 생성합니다.

  1. 구성 가능한 포트에서 로컬로 실행(활성화된 경우)
  2. HTTP를 통해 MCP 프로토콜 요청을 처리합니다.
  3. VS Code의 기능을 MCP 도구로 공개합니다.
  4. 서버 상태를 표시하는 상태 표시줄을 제공하며, 이를 클릭하면 서버를 켜거나 끌 수 있습니다.

지원되는 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 클라이언트를 이 서버에 연결하려면 다음을 사용하도록 구성하세요.

http://localhost:3000/mcp

먼저 상태 표시줄 항목을 클릭하여 서버를 활성화해야 한다는 점을 기억하세요!

기여하다

기여를 환영합니다! 이슈를 제출하거나 풀 리퀘스트를 보내주세요.

특허

MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

vscode-mcp-server

  1. Demo Video
    1. Installation
      1. Claude Desktop Configuration
        1. Features
          1. How It Works
            1. Supported MCP Tools
              1. File Tools
              2. Edit Tools
              3. Diagnostics Tools
              4. Symbol Tools
              5. Shell Tools
            2. Caveats/TODO
              1. Extension Settings
                1. Using with MCP Clients
                  1. Contributing
                    1. License
                      ID: ohvq7n4onu