Dev-Kit MCP 서버
에이전트 개발 도구를 위한 모델 컨텍스트 프로토콜(MCP) 서버로, 루트 프로젝트 디렉터리에서 범위가 지정된 권한 있는 작업을 제공합니다. 이 패키지는 makefile 명령 실행, 파일 이동 및 삭제와 같은 작업을 안전하게 실행할 수 있도록 지원하며, 향후 코드 편집을 위한 더 많은 도구를 포함할 계획입니다. VS-Code copilot 및 기타 AI 지원 개발 도구를 위한 훌륭한 MCP 서버 역할을 합니다.
특징
🔒 보안 작업 : 범위가 지정되고 권한이 있는 루트 디렉토리 내에서 작업 실행
🛠️ Makefile 명령 실행 : 프로젝트 내에서 Makefile 명령을 안전하게 실행합니다.
📁 파일 작업 : 권한이 있는 디렉토리 내에서 파일 이동, 생성, 이름 변경 및 삭제
🔄 Git 작업 : 상태, 추가, 커밋, 푸시, 풀, 체크아웃과 같은 Git 작업 수행
🔌 MCP 통합 : 모든 코드베이스를 MCP 호환 시스템으로 전환
🤖 AI 지원 개발 : VS-Code Copilot 및 기타 AI 도구와의 뛰어난 통합
🔄 확장 가능한 프레임워크 : 코드 편집 및 기타 작업을 위한 새로운 도구를 쉽게 추가할 수 있습니다.
🚀 빠른 성능 : 고성능을 위해 FastMCP로 구축됨
Related MCP server: DevDb MCP Server
설치
지엑스피1
용법
서버 실행
# Recommended method (with root directory specified)
dev-kit-mcp-server --root-dir=workdir
# Alternative methods
uv run python -m dev_kit_mcp_server.mcp_server --root-dir=workdir
python -m dev_kit_mcp_server.mcp_server --root-dir=workdir--root-dir 매개변수는 파일 작업이 수행될 디렉터리를 지정합니다. 이 매개변수는 파일 작업을 해당 디렉터리로만 제한하므로 보안상의 이유로 중요합니다.
사용 가능한 도구
서버는 다음과 같은 도구를 제공합니다.
파일 작업
create_dir : 권한이 있는 루트 디렉토리 내에 디렉토리를 생성합니다.
edit_file : 지정된 시작 및 종료 줄 사이의 줄을 새 텍스트로 바꿔서 파일을 편집합니다.
move_dir : 권한이 있는 루트 디렉토리 내에서 파일 및 디렉토리를 이동합니다.
remove_file : 권한이 있는 루트 디렉토리 내의 파일을 삭제합니다.
rename_file : 권한이 있는 루트 디렉토리 내의 파일 및 디렉토리 이름을 변경합니다.
Git 작업
git_status : Git 저장소의 상태(변경된 파일, 추적되지 않은 파일 등)를 가져옵니다.
git_add : Git 인덱스(스테이징 영역)에 파일을 추가합니다.
git_commit : Git 저장소에 변경 사항을 커밋합니다.
git_push : 원격 Git 저장소에 변경 사항을 푸시합니다.
git_pull : 원격 Git 저장소에서 변경 사항을 가져옵니다.
git_checkout : Git 저장소에서 브랜치를 체크아웃하거나 생성합니다.
git_diff : 커밋 간, 커밋과 작업 트리 간의 차이점을 표시합니다.
Makefile 작업
exec_make_target : 프로젝트 내에서 makefile 명령을 안전하게 실행합니다.
MCP 클라이언트를 사용한 예시 사용
from fastmcp import Client
async def example():
async with Client() as client:
# List available tools
tools = await client.list_tools()
# File Operations
# Create a directory
result = await client.call_tool("create_dir", {"path": "new_directory"})
# Move a file
result = await client.call_tool("move_dir", {"path1": "source.txt", "path2": "destination.txt"})
# Remove a file
result = await client.call_tool("remove_file", {"path": "file_to_remove.txt"})
# Rename a file
result = await client.call_tool("rename_file", {"path": "old_name.txt", "new_name": "new_name.txt"})
# Edit a file
result = await client.call_tool("edit_file", {
"path": "file_to_edit.txt",
"start_line": 2,
"end_line": 4,
"text": "This text will replace lines 2-4"
})
# Git Operations
# Get repository status
result = await client.call_tool("git_status")
# Add files to the index
result = await client.call_tool("git_add", {"paths": ["file1.txt", "file2.txt"]})
# Commit changes
result = await client.call_tool("git_commit", {"message": "Add new files"})
# Pull changes from remote
result = await client.call_tool("git_pull", {"remote": "origin", "branch": "main"})
# Push changes to remote
result = await client.call_tool("git_push")
# Checkout a branch
result = await client.call_tool("git_checkout", {"branch": "feature-branch", "create": True})
# Makefile Operations
# Run a makefile command
result = await client.call_tool("exec_make_target", {"commands": ["test"]})개발
설정
# Clone the repository
git clone https://github.com/DanielAvdar/dev-kit-mcp-server.git
cd dev-kit-mcp-server
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.