MCP server by JS190-prog
Local Code MCP
Local Code MCP는 Windows 로컬 폴더의 프로그램 코드를 ChatGPT/MCP에서 안전하게 확인, 수정, 검증, 패키징하기 위한 로컬 MCP 서버입니다.
config.json의 allowed_roots에 등록한 폴더를 직접 연결해서 다음 작업을 수행합니다.
- 로컬 프로젝트 파일 목록 확인
- 코드 파일 읽기
- 파일명/본문 검색
- 안전한 텍스트 패치 및 dry-run diff 확인
- 수정 전 자동 백업
- Git status/diff 확인
- 허용된 테스트 명령 실행
- 변경사항
.md생성 - 수정 파일 ZIP 생성
핵심 안전장치
config.json의allowed_roots안에 있는 폴더만 접근합니다..env, 개인키, Windows 시스템 폴더 등은 기본 차단합니다.- 코드 수정 전 백업을 생성합니다.
- 기본 수정은
dry_run으로 diff를 먼저 확인할 수 있습니다. - 명령 실행은 allowlist에 등록된 명령만 허용합니다.
- 삭제 기능은 기본 구현하지 않았습니다.
설치
Python 3.10 이상을 권장합니다.
cd C:\local-code-mcp
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
pip install "mcp>=1.0.0"
설정
처음에는 예시 설정 파일을 만듭니다.
local-code-mcp init-config config.json
config.json에서 허용할 폴더를 확인합니다.
{
"allowed_roots": [
"C:/hwpmcp",
"C:/OfficeMCP"
]
}
CLI 사용 예시
파일 목록:
local-code-mcp --config config.json list C:/hwpmcp --max-depth 3
본문 검색:
local-code-mcp --config config.json search-text C:/hwpmcp table_created
수정 전 dry-run:
local-code-mcp --config config.json replace C:/hwpmcp/server.py --old "status: success" --new "status: error"
실제 적용:
local-code-mcp --config config.json replace C:/hwpmcp/server.py --old "status: success" --new "status: error" --apply --project-root C:/hwpmcp
문법 검사:
local-code-mcp --config config.json compile C:/hwpmcp
Git diff:
local-code-mcp --config config.json git-diff C:/hwpmcp
변경사항 문서 생성:
local-code-mcp --config config.json changelog C:/hwpmcp --request-summary "표 생성 오류 수정"
ZIP 생성:
local-code-mcp --config config.json zip C:/hwpmcp --include-files-json '["server.py"]'
MCP 서버 실행
$env:LOCAL_CODE_MCP_CONFIG="C:\local-code-mcp\config.json"
python -m local_code_mcp.server
MCP 클라이언트에는 stdio 서버로 등록합니다. 예시:
{
"mcpServers": {
"local-code-mcp": {
"command": "python",
"args": ["-m", "local_code_mcp.server"],
"env": {
"LOCAL_CODE_MCP_CONFIG": "C:/local-code-mcp/config.json"
}
}
}
}
제공 MCP 도구
list_allowed_rootscreate_example_configmcp_list_project_filesmcp_read_filemcp_write_file_safemcp_search_filesmcp_search_textmcp_get_file_infomcp_replace_in_filemcp_restore_from_backupmcp_run_command_safelymcp_run_compile_checkmcp_run_pytestmcp_git_statusmcp_git_diffmcp_git_changed_filesmcp_git_create_branchmcp_git_restore_filemcp_detect_project_typemcp_summarize_projectmcp_generate_changelog_mdmcp_create_change_zipmcp_create_full_snapshot_zip
ChatGPT 스킬: 코드변경 (skills/code-change)
이 저장소에는 MCP 서버와 별도로, ChatGPT에서 바로 쓸 수 있는 Agent Skill이 skills/code-change/에 포함되어 있습니다.
용도
ChatGPT에 업로드한 코드 압축파일이나 프로젝트 폴더를 수정할 때, 아래 워크플로를 일관되게 강제하는 스킬입니다.
- 수정 전 압축 해제 및 구조 분석 (파일 존재 여부를 확인한 뒤에만 편집)
- 최소·호환 가능한 패치 위주 수정 (불필요한 리라이트 금지)
- 가능한 범위의 검증 실행 (
py_compile, 테스트, 정적 점검) 및 미검증 항목 명시 - 변경된 코드 파일 + 마크다운 changelog만 담은 결과물 ZIP 생성
- hwpmcp / officemcp 같은 MCP 커넥터 수정 시 포커스 보존, 표 생성 검증 등 안전 규칙 적용
ChatGPT에서 표시되는 이름은 코드변경이며, 내부 식별자는 code-change입니다.
폴더 구조
skills/code-change/
├── SKILL.md # 스킬 본문 (워크플로, changelog 형식, 체크리스트)
├── agents/openai.yaml # 표시 이름·아이콘·자동 호출 정책
├── scripts/make_change_package.py # 변경 파일 + changelog ZIP 패키징 헬퍼
├── references/review-checklist.md # 패키징 전 리뷰 체크리스트
└── assets/icon.svg
ChatGPT에 추가하는 방법
-
스킬 폴더를 ZIP으로 압축합니다.
Compress-Archive -Path C:\local-code-mcp\skills\code-change -DestinationPath C:\local-code-mcp\code-change-skill.zip -
ChatGPT에서 프로필 아이콘 → Skills → New skill → Upload from your computer를 선택해 ZIP을 업로드합니다.
-
업로드 시 자동 스캔이 진행되며, 대부분 스캔 완료 직후 바로 사용 가능합니다.
-
설치 후에는 코드 수정 요청 시 ChatGPT가 자동으로 이 스킬을 사용합니다(
allow_implicit_invocation: true). "코드변경 스킬로 수정해줘"처럼 명시적으로 호출할 수도 있습니다.
참고:
- 스킬 기능은 현재 베타이며 ChatGPT Business / Enterprise / Edu 등 일부 플랜에서 제공됩니다. 자세한 내용은 Skills in ChatGPT(OpenAI Help Center)를 확인하세요.
- Agent Skills 개방 표준 형식이므로 같은 폴더를 그대로 Codex에서도 사용할 수 있습니다(Codex Agent Skills 문서).
현재 버전의 한계
- GUI 프로그램을 직접 클릭하는 기능은 포함하지 않았습니다. 코드 수정은 파일시스템 기반으로 처리합니다.
- 통합 대상 MCP 클라이언트의 등록 방식은 환경에 따라 다를 수 있습니다.
mcpPython 패키지 버전에 따라 서버 실행 방식 조정이 필요할 수 있습니다.- 보안상 전체 C드라이브 접근은 권장하지 않습니다.
권장 운영 방식
allowed_roots를 필요한 프로젝트 폴더로만 제한합니다.- 먼저
dry_run으로 diff를 확인합니다. - 수정 전 Git 상태를 확인합니다.
- 수정 후
compile,pytest,git-diff를 실행합니다. - 변경사항
.md와 ZIP을 생성합니다.
⚠️ 면책 조항 (Disclaimer)
이 MCP 서버는 AI 모델이 allowed_roots 안의 로컬 코드 파일을 읽고·수정하고·허용된 명령을 실행하게 합니다. AI가 생성한 수정·명령은 예측과 다르게 동작할 수 있으며, 파일 손상 등 사용 중 발생하는 어떠한 손해에 대해서도 개발자는 책임을 지지 않습니다. 백업 기능이 내장돼 있지만 중요한 저장소는 별도로 백업한 뒤 사용하세요. (LICENSE의 무보증 조항 참조)