LangGraph + MCP + OpenRouter 기반의 고급 AI 코딩 도우미 프로젝트
✨ 완전 통합된 AI 코딩 워크플로우: 코드 분석, 보안 스캔, 자동 수정, 테스트까지 원스톱으로 처리
- Semgrep: 5,000+ 규칙 기반 정적 분석
- VS Code: 빌드 오류 및 경고 감지
- ZeroPath: 엔터프라이즈 취약점 검색
- 보안 점수: 100점 만점 기준 자동 평가
- Code Analysis MCP: 자연어 기반 코드 탐색
- VS Code MCP: 에디터 인텔리센스 통합
- 의존성 분석: 패키지 취약점 검사
- 코드 품질: 자동 리팩토링 제안
- Run Python MCP: 안전한 Python 코드 실행
- 인터랙티브 디버깅: 실시간 코드 테스트
- 결과 검증: 자동화된 테스트 실행
- 프로젝트 구조 정리
- LangGraph 워크플로우 완전 구현
- FastAPI 서버 + CORS + SSE 프록시
- MCP 서버 완전 통합 (9개 서버)
- 보안 스캔 워크플로우
- React 대시보드
- Docker 설정
- 포괄적 테스트 스위트
- ZeroPath MCP 서버 설정
- 성능 최적화
- 에러 핸들링 개선
- 모니터링 대시보드 고도화
- Railway 배포 자동화
- 추가 MCP 서버 통합
이 프로젝트는 LangGraph를 사용하여 복잡한 코딩 작업을 자동화하는 AI 도우미입니다. MCP(Model Context Protocol)를 통해 다양한 도구들을 통합하고, OpenRouter를 통해 여러 LLM을 활용합니다.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ FastAPI │ │ LangGraph │ │ MCP Servers │
│ (API Server) │◄──►│ (Workflow) │◄──►│ (9개 서버) │
│ + CORS + SSE │ │ + 보안스캔 │ │ + 보안도구 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React 대시보드 │ │ Checkpointer │ │ OpenRouter │
│ + 모니터링 │ │ (State) │ │ (LLM API) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Plan → Dispatch → Gather → Init Repo → VS Code Diag → Code Analysis
→ Fix → Comprehensive Security → (Apply Patches) → Critic → Python Runner
→ Approve → Test → E2E → GitHub PR
app.py- LangGraph 워크플로우 정의 (메인 그래프)run_advanced.py- FastAPI 서버 (메인 엔트리포인트)config.py- 통합 설정 관리 (Pydantic 기반)main.py- 기본 실행 스크립트
mcp_config.json- MCP 서버 설정 (GitHub, Playwright, TaskMaster, Semgrep, Code Analysis, VS Code, Run Python, ZeroPath)mcp_utils.py- MCP 도구 유틸리티tools_mcp.py- 새로운 MCP 도구 노드들 (보안 스캔, 코드 분석, Python 실행)e2e_check_node.py- Playwright E2E 테스트 노드planner_taskmaster.py- TaskMaster 기반 계획 수립
auth_mw.py- JWT 인증 미들웨어authz_hooks.py- 권한 부여 훅permissions.json- 권한 설정
persistence.py- 체크포인터 관리 (Memory/Redis/Postgres)ttl_policy.py- TTL 정책 관리accounting.py- OpenRouter 사용량 추적
feedback_logging.py- LangSmith 피드백 로깅monitoring.py- 시스템 모니터링observability.py- 관찰성 도구
tests/- 테스트 파일들test_advanced.py- 고급 기능 테스트test_e2e.py- E2E 테스트test_status_tools.py- 상태/도구 API 테스트test_tracing.py- 트레이싱 테스트
Dockerfile- Docker 이미지 빌드docker-compose.yml- 로컬 개발 환경service.json- Railway 배포 설정langgraph.json- LangGraph 서버 설정
# 의존성 설치
pip install -r requirements.txt
# MCP 서버 의존성 설치
pip install uv
uv tool install mcp-run-python
# 환경변수 설정
copy env.example .env# 필수 API 키
OPENROUTER_API_KEY=your_openrouter_key
OPENAI_API_KEY=your_openai_key
# 선택적 API 키
SEMGREP_API_KEY=your_semgrep_key
ZEROPATH_TOKEN_ID=your_zeropath_token_id
ZEROPATH_TOKEN_SECRET=your_zeropath_token_secret
ZEROPATH_ORG_ID=your_zeropath_org_id# 메인 서버 실행
python main.py
# 또는 직접 실행
python src/run_advanced.py# React 대시보드 실행
cd dashboard
npm install
npm run dev
# http://localhost:5173 에서 접속# 전체 스택 실행
docker-compose up -d
# 개별 서비스 실행
docker-compose up redis postgres
python main.py- 계획 수립 - TaskMaster MCP를 통한 작업 분해
- 작업 수집 - GitHub, 파일시스템 등에서 정보 수집
- 수정 및 테스트 - 코드 수정 및 테스트 실행
- E2E 검증 - Playwright를 통한 UI 테스트
- 승인 프로세스 - HITL(Human-in-the-Loop) 승인
- TaskMaster - 작업 계획 및 분해
- GitHub - 코드 저장소 관리
- FileSystem - 파일 시스템 접근
- Runner - 명령어 실행
- Playwright - 브라우저 자동화
- Semgrep - 보안 취약점 스캔 (5,000+ 규칙)
- Code Analysis - 자연어 기반 코드 분석
- VS Code - 에디터 인텔리센스 통합
- Run Python - 안전한 Python 코드 실행
- ZeroPath - 엔터프라이즈 보안 검사 (선택)
- LangSmith - LLM 호출 추적
- OpenRouter - 사용량 및 비용 추적
- 피드백 시스템 - 사용자 피드백 수집
GET /health- 서버 상태 확인GET /tools- 사용 가능한 MCP 도구 목록POST /run- 워크플로우 실행
GET /status/{thread_id}- 스레드 상태 조회GET /usage/{thread_id}- 사용량 조회GET /usage/limits- API 제한 확인
GET /metrics/costs/summary- 비용 요약 (24시간)GET /metrics/costs/timeseries- 비용 시계열 데이터GET /plans/recent- 최근 계획 결과GET /mcp/sse- MCP SSE 프록시
POST /feedback/approval- 승인 피드백POST /feedback/quality- 품질 피드백POST /feedback/error- 오류 피드백
- JWT 토큰 기반 인증
- API 키 인증
- 사용자 역할 기반 접근 제어
- 리소스별 권한 설정
- 작업별 권한 검증
- 동적 권한 부여
python run_advanced.pydocker-compose up -d# Railway CLI 설치 후
railway login
railway init
railway up- 워크플로우 실행 추적
- LLM 호출 분석
- 성능 메트릭
- 토큰 사용량
- 비용 분석
- API 제한 모니터링
pytest tests/pytest tests/test_advanced.py -vpytest tests/test_e2e.py -v- QUICK_START.md - 5분 빠른 시작 가이드
- run_commands.ps1 - 실행 명령어 모음
- setup_mcp_servers.ps1 - MCP 서버 설치 스크립트
- PROJECT_STRUCTURE.md - 상세 프로젝트 구조 가이드
- ALL_COMMANDS.md - 모든 명령어 가이드
- DOCKER_GUIDE.md - Docker 사용 가이드
- LANGGRAPH_STUDIO_GUIDE.md - LangGraph Studio 연결
- RAILWAY_DEPLOYMENT.md - Railway 배포 가이드
- TROUBLESHOOTING_GUIDE.md - 문제 해결 가이드
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License
문제가 발생하면 TROUBLESHOOTING_GUIDE.md를 참조하거나 이슈를 생성해주세요.