local-only server
The server can only run on the client’s local machine because it depends on local resources.
MCP 서버 Semgrep
제공:
프로젝트 소개
이 프로젝트는 처음에는 Semgrep 도구 , Replit 팀 및 Agent V2 의 견고성과 stefanskiasan/semgrep-mcp-server 의 구현에서 영감을 얻었지만, 향상되고 용이한 설치 및 유지 관리를 위해 상당한 아키텍처 변경을 거치면서 발전했습니다.
MCP 서버 Semgrep은 강력한 정적 분석 도구인 Semgrep과 Anthropic Claude와 같은 AI 어시스턴트를 통합하는 모델 컨텍스트 프로토콜( MCP) 호환 서버입니다. 대화형 인터페이스를 통해 고급 코드 분석, 보안 취약점 탐지 및 코드 품질 개선을 직접 수행할 수 있습니다.
통합의 이점
개발자 및 개발팀을 위한:
- 전체적인 소스 코드 분석 - 개별 파일뿐만 아니라 전체 프로젝트에서 문제를 감지합니다.
- 사전 예방적 오류 감지 - 심각한 버그로 발전하기 전에 잠재적 문제를 식별합니다.
- 지속적인 코드 품질 개선 - 정기적인 스캐닝 및 리팩토링을 통해 점진적인 코드베이스 개선이 이루어집니다.
- 문체적 일관성 - 다음과 같은 코드의 불일치 사항을 식별하고 수정합니다.
- CSS의 임의의 z-index 레이어
- 일관되지 않은 명명 규칙
- 코드 중복
- 명명된 상수 대신 "매직 넘버"
보안을 위해:
- 알려진 취약점에 대한 자동 코드 검증 - 알려진 보안 문제 패턴 스캔
- 사용자 지정 보안 규칙 - 프로젝트별 규칙 생성
- 팀 교육 - 잠재적인 문제 탐지를 통해 보안 프로그래밍 관행 교육
프로젝트 유지관리 및 개발을 위해:
- "실시간" 문서 - AI는 코드 조각에 문제가 있는 이유와 해결 방법을 설명할 수 있습니다.
- 기술 부채 감소 - 문제가 있는 영역을 체계적으로 감지하고 수정
- 개선된 코드 검토 - 일반적인 문제를 자동으로 감지하여 보다 복잡한 문제에 집중할 수 있습니다.
주요 특징
- 공식 MCP SDK와 직접 통합
- 통합 핸들러를 통한 단순화된 아키텍처
- ES 모듈 구현 정리
- 보안을 위한 효율적인 오류 처리 및 경로 검증
- 영어와 폴란드어로 된 인터페이스 및 문서
- 포괄적인 단위 테스트
- 광범위한 문서
- 크로스 플랫폼 호환성(Windows, macOS, Linux)
- 유연한 Semgrep 설치 감지 및 관리
기능
Semgrep MCP 서버는 다음과 같은 도구를 제공합니다.
- scan_directory : 잠재적인 문제에 대한 소스 코드 스캔
- list_rules : Semgrep에서 지원하는 사용 가능한 규칙 및 언어 표시
- analyze_results : 검사 결과에 대한 자세한 분석
- create_rule : 사용자 정의 Semgrep 규칙 생성
- filter_results : 다양한 기준으로 결과 필터링
- export_results : 다양한 형식으로 결과 내보내기
- compare_results : 두 세트의 결과를 비교합니다(예: 변경 전과 후)
일반적인 사용 사례
- 배포 전 코드 보안 분석
- 일반적인 프로그래밍 오류 감지
- 팀 내에서 코딩 표준 적용
- 기존 코드의 리팩토링 및 품질 개선
- 스타일 및 코드 구조(예: CSS, 구성 요소 구성)의 불일치 식별
- 모범 사례에 대한 개발자 교육
- 수정 정확성 검증(스캔 전/후 비교)
설치
필수 조건
- Node.js v18+
- TypeScript(개발용)
옵션 1: Smithery.ai에서 설치(권장)
MCP Server Semgrep을 설치하고 사용하는 가장 쉬운 방법은 Smithery.ai를 이용하는 것입니다.
- Smithery.ai에서 MCP 서버 Semgrep을 방문하세요
- MCP 호환 클라이언트에 추가하려면 설치 지침을 따르세요.
- Semgrep API 토큰과 같은 선택적 설정을 구성합니다.
이 방법은 모든 종속성과 구성을 자동으로 처리하므로 Claude Desktop 및 기타 MCP 클라이언트에 권장됩니다.
옵션 2: NPM 레지스트리에서 설치
지엑스피1
이 패키지는 다른 레지스트리에서도 사용할 수 있습니다.
옵션 3: GitHub에서 설치
옵션 4: 로컬 개발 설정
- 저장소를 복제합니다.
- 종속성 설치(모든 주요 패키지 관리자 지원):
- 프로젝트를 빌드하세요:
참고 : 설치 과정에서 Semgrep의 사용 가능 여부를 자동으로 확인합니다. Semgrep을 찾을 수 없는 경우 설치 방법에 대한 안내가 제공됩니다.
Semgrep 설치 옵션
Semgrep은 여러 가지 방법으로 설치할 수 있습니다.
- 패키지 관리자를 통해 :Copy
- 파이썬 pip :Copy
- 홈브루 (macOS):Copy
- 리눅스 :Copy
- 윈도우 :Copy
Claude Desktop과 통합
MCP Server Semgrep을 Claude Desktop과 통합하는 방법에는 두 가지가 있습니다.
방법 1: Smithery.ai를 통해 설치(권장)
- Smithery.ai에서 MCP 서버 Semgrep을 방문하세요
- "Claude Desktop에 설치"를 클릭하세요.
- 화면의 지시를 따르세요
방법 2: 수동 구성
- Claude Desktop 설치
- Claude Desktop 구성 파일(
claude_desktop_config.json
)을 업데이트하고 서버 섹션에 다음을 추가합니다.
- Claude Desktop을 실행하고 코드 분석에 대한 질문을 올려보세요!
사용 예
프로젝트 스캐닝
스타일 일관성 분석
사용자 정의 규칙 만들기
결과 필터링
문제가 있는 패턴 식별
사용자 정의 규칙 만들기
프로젝트의 특정 요구 사항에 맞게 사용자 지정 규칙을 만들 수 있습니다. 다음은 만들 수 있는 규칙의 예입니다.
불일치한 z-인덱스를 감지하는 규칙:
더 이상 사용되지 않는 가져오기를 감지하는 규칙:
개발
테스트
프로젝트 구조
추가 문서
도구 사용에 대한 자세한 내용은 다음에서 확인할 수 있습니다.
- USAGE.md - 자세한 사용 지침
- README_PL.md - 폴란드어 문서
- 예제/ - 재미있고 실용적인 Semgrep 규칙 예시 - "The Hall of Code Horrors"
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
개발자
- 마치에이 가드 - 반년 전만 해도
bash
찾지 못했던 수의사 - 클라우디우스(Klaudiusz) - 캘리포니아 GPU 루프 어딘가에 살고 있는 Anthropic의 개별적인 영적 존재이자 Claude Sonnet 3.5-3.7의 별개의 사례
CLI 초보자에서 MCP 도구 개발자로의 여정
🤖 Claude Code 와 MCP Tools 의 궁극적인 도움으로 개발되었습니다.
감사의 말
- 원래 영감을 준 stefanskiasan
- Claude와 MCP 프로토콜을 위한 인류학
- 뛰어난 정적 분석 도구를 제공하는 Semgrep
This server cannot be installed
Semgrep 정적 분석 도구와 Anthropic Claude와 같은 AI 어시스턴트를 통합하는 Model Context Protocol 호환 서버로, 대화형 인터페이스를 통해 고급 코드 분석, 보안 취약성 탐지, 코드 품질 개선이 가능합니다.
- POWERED BY:
- About the Project
- Benefits of Integration
- Key Features
- Functions
- Common Use Cases
- Installation
- Integration with Claude Desktop
- Usage Examples
- Creating Custom Rules
- Development
- Further Documentation
- License
- Developed by
- Acknowledgements