Deskaid

local-only server

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

Integrations

  • Uses Git version control to track changes made by Claude, ensuring all code modifications can be rolled back

  • Supports running tests with pytest-style test selectors through custom commands

코뎀프

codemcp를 설치하여 Claude Desktop을 페어 프로그래밍 어시스턴트로 만들어 보세요. 이 도구를 사용하면 Claude에게 컴퓨터의 코드베이스에 대한 기능 구현, 버그 수정, 리팩토링을 직접 요청할 수 있습니다. Claude는 직접 파일을 편집하고 테스트를 실행합니다. 이제 Claude의 채팅 창에 코드를 복사하고 내보내는 번거로움은 이제 그만!

codemcp는 다른 AI 코딩 소프트웨어(Claude Code, Cursor, Cline, Aider)와 유사한 기능을 제공하지만 디자인 공간에서 고유한 위치를 차지합니다.

  1. Anthropic의 월 20달러 구독 서비스인 Claude Pro와 함께 사용하도록 설계되었습니다. 엄청난 API 요금과 작별하세요 . (시간 기반 요금 제한은 이제 안녕입니다.)
  2. 유용하고 정직하며 무해한 LLM이 오용할 가능성이 낮은 제한된 도구 세트를 제공하고, 모든 코드 변경 사항을 롤백할 수 있도록 Git 버전 관리 사용과 같은 모범 사례를 적용하여 안전한 에이전트 AI를 중심으로 구축되었습니다. 결과적으로 AI를 안전하게 활용 하고 변경 사항을 수락할지 여부만 최종적으로 판단할 수 있습니다.
  3. IDE에 구애받지 않습니다 . Claude에게 변경 사항을 요청하면 Claude가 변경 사항을 적용하고, 사용자는 선호하는 IDE 설정을 사용하여 변경 사항을 검토하고 추가로 편집할 수 있습니다.

시작하기

먼저, uvgit이 아직 설치되지 않았다면 설치합니다 (Windows에서 Git을 설치한 경우 재부팅을 권장합니다).

그런 다음 claude_desktop_config.json 에서 다음을 수행합니다.

지엑스피1

Windows에서는 경로에 두 개의 백슬래시가 필요합니다.

C:\\Users\\<username>\\.local\\bin\\uvx.exe

JSON을 수정한 후 Claude Desktop 앱을 다시 시작하세요. MCP가 성공적으로 로드되면 망치 아이콘이 나타나고, 클릭하면 "codemcp"가 표시됩니다.

pip를 이용한 글로벌 설치

uv를 사용하지 않으려면, 전역적으로 pip install 명령을 사용하여 최신 codemcp 버전을 설치할 수 있습니다. 단, 전역 Python 설치 버전이 최신(Python 3.12)이고 codemcp와 충돌하는 Python 종속성이 없는 경우에 한합니다. 일부 사용자는 이 방법이 Windows에서 더 쉽게 작동한다고 합니다.

  1. pip install git+https://github.com/ezyang/codemcp@prod
  2. claude_desktop_config.json 파일에 다음 구성을 추가하세요.
{ "mcpServers": { "codemcp": { "command": "python", "args": ["-m", "codemcp"] } } }
  1. Claude Desktop을 다시 시작하세요

pip install --upgrade git+https://github.com/ezyang/codemcp@prod 사용하여 업데이트를 받으려면 codemcp를 수동으로 업그레이드해야 합니다.

기타 팁

전문가 팁: 서버 로드에 실패하면 설정 > 개발자 > codemcp > 로그로 이동하여 MCP 로그를 확인하세요. 디버깅에 매우 유용합니다. Windows의 로그는 C:\Users\<user_name>\AppData\Roaming\Claude\logs 에 로드됩니다( <user_name> 사용자 이름으로 바꾸세요).

전문가 팁: Windows에서 로그에 "Git 실행 파일을 찾을 수 없습니다. Git이 설치되어 사용 가능한지 확인하세요"라는 메시지가 표시되고 방금 Git을 설치했다면, 컴퓨터를 재부팅하세요(PATH 업데이트가 전파되지 않았습니다). 그래도 문제가 해결되지 않으면 시스템 속성 > 환경 변수 > 시스템 변수 > Path를 열고 Git 항목이 있는지 확인하세요.

전문가 팁: 위험하게 살고 싶다면 prod main 으로 변경하세요. 특정 릴리스에 고정하려면 0.3.0 또는 이와 유사한 버전으로 바꾸세요.

전문가 팁: 명령어로 uvx 만 지정하는 것이 지원되지만, uvx는 글로벌 PATH에 있어야 합니다(셸 프로필을 통해 추가한 것이 아님). OS X에서는 자체 설치 프로그램을 사용한 경우(예 /usr/local/bin 과 같은 시스템 위치에 설치한 경우 제외) 일반적으로 이런 경우가 아닙니다.

용법

먼저, 작업하려는 Git 저장소 체크아웃에 codemcp.toml 파일을 생성해야 합니다. 에이전트가 포매터를 실행하거나 테스트를 실행하는 등의 작업을 수행할 수 있도록 하려면, 해당 작업을 실행하는 명령을 commands 섹션에 추가하세요(참고: 이 명령들은 필요한 가상 환경을 적절히 설정해야 합니다).

format = ["./run_format.sh"] test = ["./run_test.sh"]

다음으로, Claude Desktop에서 프로젝트를 생성하고 이를 프로젝트 지침에 입력하는 것이 좋습니다.

Initialize codemcp with $PROJECT_DIR

여기서 $PROJECT_DIR 작업하려는 프로젝트의 경로입니다.

그런 다음 Claude와 프로젝트에 어떤 변경 사항을 적용할지 이야기해 보세요. codemcp가 코드를 변경할 때마다 커밋이 생성됩니다.

claude.ai 웹 인터페이스와 함께 사용

SSE 서버를 실행하여 claude.ai의 Claude 웹 인터페이스에서 codemcp를 사용할 수도 있습니다.

codemcp serve

이렇게 하면 claude.ai에서 연결할 수 있는 포트 8000에서 로컬 SSE 서버가 시작됩니다. 이 서버는 기본적으로 claude.ai에 대해 CORS를 활성화합니다. 호스트, 포트 및 허용된 CORS 출처를 사용자 지정할 수 있습니다.

codemcp serve --host 0.0.0.0 --port 8765 --cors-origin https://claude.ai --cors-origin https://example.com

이 도구를 사용하여 작성한 샘플 대본을 보려면 다음을 확인하세요.

codemcp는 채팅당 커밋을 생성하고 기능을 작업하면서 이를 수정합니다.

철학

  • 속도 제한을 받으면 다른 일을 할 시간을 가지세요(Claude의 코드 검토, 다른 사람의 코드 검토, 계획 수립, 회의 진행)
  • 이 에이전트는 자율 에이전트가 아닙니다 . 최소한 매 채팅 후에 직접 개입하여 변경 사항을 검토하고 다음 변경 사항을 요청해야 합니다. 한 번의 채팅에서 여러 가지 작업을 요청할 수는 있지만, Claude Desktop의 출력 제한에 도달하여 에이전트를 수동으로 "계속"해야 할 가능성이 높습니다. 이러한 상황을 받아들이고, Claude가 제대로 작업하고 있는지 확인하기 위해 방해 요소를 활용하세요.
  • 클로드가 궤도를 이탈하면 돈보다는 시간이 더 많이 소모됩니다. 그에 맞게 행동하세요. 시간이 병목 현상이라면 클로드의 점진적인 성과를 주의 깊게 살펴보세요.

구성

codemcp.toml 에서 지원하는 모든 구성 옵션은 다음과 같습니다.

project_prompt = """ Before beginning work on this feature, write a short haiku. Do this only once. """ [commands] format = ["./run_format.sh"] test = ["./run_test.sh"]

project_prompt 는 채팅에서 프로젝트를 초기화할 때 로드됩니다.

commands 섹션에서는 특정 도구에 대한 명령을 구성할 수 있습니다. 이름은 LLM에 전달되며, LLM은 해당 명령을 언제 실행할지 결정합니다. project_prompt 에 도구 사용 방법을 추가할 수 있습니다. 또한 도구별로 구체적인 지침을 제공할 수 있는 보다 자세한 구문도 지원합니다.

[commands.test] command = ["./run_test.sh"] doc = "Accepts a pytest-style test selector as an argument to run a specific test."

문제 해결

검사기로 서버를 실행하려면 다음을 사용하세요.

PYTHONPATH=. mcp dev codemcp/__main__.py

로그는 ~/.codemcp/codemcp.log 에 기록됩니다. 로그 수준은 ~/.codemcprc 에 있는 전역 설정 파일에서 설정할 수 있습니다.

[logger] verbosity = "INFO" # Can be DEBUG, INFO, WARNING, ERROR, or CRITICAL

로깅은 프로젝트별로 구성할 수 없지만, 어차피 Claude Desktop을 여러 프로젝트에서 병렬로 사용하는 건 어렵기 때문에 크게 문제가 되지는 않습니다.

기여하다

CONTRIBUTING.md를 참조하세요.

유형 검사

이 프로젝트에서는 strict 모드를 활성화한 상태에서 pyright 사용하여 유형 검사를 수행합니다. 유형 검사 구성은 pyproject.toml 파일에 있습니다. 유형 안전성을 유지하기 위해 몇 가지 전략을 사용합니다.

  1. 외부 라이브러리에 대한 유형 스텁:
    • 사용자 정의 유형 스텁은 stubs/ 디렉토리에 있습니다.
    • pyproject.tomlstubPackages 구성은 라이브러리를 해당 스텁 패키지에 매핑합니다.
  2. 까다로운 사례에 대한 파일별 무시:
    • 복잡한 동적 타이핑 패턴(특히 테스트 코드)이 있는 일부 파일의 경우 pyproject.tomltool.pyright.ignoreExtraErrors 통해 파일별 무시를 사용합니다.
    • 이는 인라인 무시보다 바람직하며 대부분의 코드베이스에서 유형 안전성을 유지할 수 있습니다.

변경 사항을 적용할 때는 다음을 실행하여 유형 검사를 통과했는지 확인하세요.

./run_typecheck.sh

You must be authenticated.

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

Tools

로컬 파일 시스템의 파일을 읽고, 쓰고, 편집할 수 있는 도구를 제공하는 MCP 서버입니다.

  1. Getting started
    1. Global install with pip
    2. Other tips
  2. Usage
    1. Using with claude.ai web interface
  3. Philosophy
    1. Configuration
      1. Troubleshooting
        1. Contributing
          1. Type Checking
            ID: vujkyr83by