DeepSource MCP 서버
DeepSource와 통합되어 AI 어시스턴트에게 코드 품질 측정항목, 문제 및 분석 결과에 대한 액세스를 제공하는 MCP(Model Context Protocol) 서버입니다.
개요
DeepSource MCP 서버는 AI 어시스턴트가 모델 컨텍스트 프로토콜을 통해 DeepSource의 코드 품질 분석 기능과 상호 작용할 수 있도록 지원합니다. 이러한 통합을 통해 AI 어시스턴트는 다음과 같은 작업을 수행할 수 있습니다.
코드 메트릭 및 분석 결과 검색
접근 및 필터 문제
품질 상태 확인
시간 경과에 따른 프로젝트 품질 분석
특징
DeepSource API 통합 : GraphQL API를 통해 DeepSource에 연결
MCP 프로토콜 지원 : AI 어시스턴트 통합을 위한 모델 컨텍스트 프로토콜 구현
품질 측정 항목 및 임계값 : 임계값을 사용하여 코드 품질 측정 항목을 검색하고 관리합니다.
보안 규정 준수 보고서 : OWASP Top 10, SANS Top 25 및 MISRA-C 규정 준수 보고서에 액세스하세요.
종속성 취약점 : 종속성에 대한 보안 취약점 정보에 액세스합니다.
TypeScript/Node.js : 유형 안전성과 최신 JavaScript 기능을 위해 TypeScript로 구축됨
크로스 플랫폼 : Linux, macOS 및 Windows에서 작동합니다.
강력한 오류 처리 : 네트워크, 인증 및 구문 분석 문제에 대한 포괄적인 오류 처리
Claude Desktop과 함께 사용
claude_desktop_config.json편집합니다:클로드 데스크톱 열기
Settings->Developer->Edit Config으로 이동하세요.아래 구성 중 하나를
mcpServers섹션에 추가하세요.
변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.
예제 쿼리
연결되면 AI 도우미는 다음과 같은 쿼리를 통해 DeepSource 데이터를 사용할 수 있습니다.
지엑스피1
이렇게 하려면 필터가 있는 project_issues 도구를 사용합니다.
분석 실행을 필터링하려면:
이렇게 하려면 필터와 함께 project_runs 도구를 사용합니다.
코드 품질 측정 항목:
여기서는 quality_metrics 도구를 사용합니다.
보안 규정 준수 보고서의 경우:
이 경우 compliance_report 도구를 사용합니다.
임계값을 설정하려면 다음을 수행하십시오.
update_metric_threshold 도구를 사용합니다.
환경 변수
서버는 다음과 같은 환경 변수를 지원합니다.
DEEPSOURCE_API_KEY(필수): 인증을 위한 DeepSource API 키LOG_FILE(선택 사항): 로그를 기록할 파일 경로입니다. 설정하지 않으면 로그가 기록되지 않습니다.LOG_LEVEL(선택 사항): 기록할 최소 로그 수준(DEBUG, INFO, WARN, ERROR). 기본값은 DEBUG입니다.
로깅을 포함한 구성 예:
도커
엔피엑스
사용 가능한 도구
DeepSource MCP 서버는 다음과 같은 도구를 제공합니다.
projects: 사용 가능한 모든 DeepSource 프로젝트 나열매개변수:
필수 매개변수 없음
project_issues: 필터링을 사용하여 DeepSource 프로젝트의 이슈를 가져옵니다.매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자페이지 매김 매개변수:
offset(선택 사항) - 페이지 매김을 위해 건너뛸 항목 수first(선택 사항) - 반환할 항목 수(기본값은 10)after(선택 사항) - 앞으로 페이지 매김을 위한 커서before(선택 사항) - 역방향 페이지 매김을 위한 커서last(선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)
필터링 매개변수:
path(선택 사항) - 특정 파일 경로로 문제 필터링analyzerIn(선택 사항) - 특정 분석기(예: ["python", "javascript"])로 문제를 필터링합니다.tags(선택 사항) - 태그로 문제 필터링
project_runs: 필터링을 사용하여 DeepSource 프로젝트에 대한 분석 실행 목록매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자페이지 매김 매개변수:
offset(선택 사항) - 페이지 매김을 위해 건너뛸 항목 수first(선택 사항) - 반환할 항목 수(기본값은 10)after(선택 사항) - 앞으로 페이지 매김을 위한 커서before(선택 사항) - 역방향 페이지 매김을 위한 커서last(선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)
필터링 매개변수:
analyzerIn(선택 사항) - 특정 분석기(예: ["python", "javascript"])로 실행되는 필터
run: runUid 또는 commitOid로 실행된 특정 분석을 가져옵니다.매개변수:
runIdentifier(필수) - 실행을 식별하기 위한 runUid(UUID) 또는 commitOid(커밋 해시)
recent_run_issues: 페이지네이션 지원을 통해 특정 브랜치에서 실행된 가장 최근의 분석에서 이슈를 가져옵니다.매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자branchName(필수) - 가장 최근 실행을 가져올 브랜치 이름페이지 매김 매개변수:
first(선택 사항) - 반환할 문제 수(기본값은 10)after(선택 사항) - 앞으로 페이지 매김을 위한 커서last(선택 사항) - 커서 전에 반환할 문제 수(기본값: 10)before(선택 사항) - 역방향 페이지 매김을 위한 커서
보고:
지점에서 가장 최근에 실행된 내용에 대한 정보
프로젝트의 현재 문제(참고: 문제는 실행별이 아닌 저장소 수준입니다)
커서 및 페이지 상태를 포함한 페이지 매김 정보
실행 및 분기에 대한 메타데이터
dependency_vulnerabilities: DeepSource 프로젝트에서 종속성 취약점을 가져옵니다.매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자페이지 매김 매개변수:
offset(선택 사항) - 페이지 매김을 위해 건너뛸 항목 수first(선택 사항) - 반환할 항목 수(기본값은 10)after(선택 사항) - 앞으로 페이지 매김을 위한 커서before(선택 사항) - 역방향 페이지 매김을 위한 커서last(선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)
quality_metrics: 필터링을 사용하여 DeepSource 프로젝트에서 품질 지표 가져오기매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자shortcodeIn(선택 사항) - 특정 단축 코드(예: ["LCV", "BCV"])로 메트릭 필터링
다음과 같은 메트릭을 반환합니다.
라인 커버리지(LCV)
지점 커버리지(BCV)
문서 범위(DCV)
중복 코드 비율(DDP)
각 메트릭에는 현재 값, 임계값 및 통과/실패 상태가 포함됩니다.
update_metric_threshold: 특정 품질 측정 항목에 대한 임계값을 업데이트합니다.매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자repositoryId(필수) - GraphQL 저장소 IDmetricShortcode(필수) - 업데이트할 메트릭의 단축 코드metricKey(필수) - 메트릭의 언어 또는 컨텍스트 키thresholdValue(선택 사항) - 새 임계값 또는 임계값을 제거하려면 null을 지정합니다.
예: 80% 라인 적용 임계값 설정: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
update_metric_setting: 품질 지표에 대한 설정을 업데이트합니다.매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자repositoryId(필수) - GraphQL 저장소 IDmetricShortcode(필수) - 업데이트할 메트릭의 단축 코드isReported(필수) - 메트릭을 보고해야 하는지 여부isThresholdEnforced(필수) - 임계값을 적용해야 하는지 여부(검사에 실패할 수 있음)
compliance_report: DeepSource 프로젝트에서 보안 규정 준수 보고서를 받습니다.
매개변수:
projectKey(필수) - DeepSource 프로젝트의 고유 식별자reportType(필수) - 가져올 규정 준수 보고서 유형( OWASP Top 10 , SANS Top 25 또는 MISRA-C )
다음을 포함한 포괄적인 보안 규정 준수 데이터를 반환합니다.
범주 및 심각도별 보안 문제 통계
준수 상태(합격/불합격)
시간 경과에 따른 변화를 보여주는 추세 데이터
보안 태세 개선을 위한 분석 및 권장 사항
개발
저장소를 복제합니다.
종속성 설치:
프로젝트를 빌드하세요:
Claude Desktop 구성
필수 조건
Node.js 20 이상
pnpm 10.7.0 이상
Docker(컨테이너 빌드용)
스크립트
pnpm run build- TypeScript 코드 빌드pnpm run start- 서버 시작pnpm run dev- 개발 모드로 서버 시작pnpm run test- 테스트 실행pnpm run lint- ESLint 실행pnpm run format- Prettier로 코드 포맷하기
문제 해결
디버그 로깅 활성화
문제가 발생하는 경우 디버그 로깅을 활성화하여 자세한 정보를 확인하세요.
LOG_FILE환경 변수를 로그를 기록할 파일 경로로 설정합니다.LOG_LEVEL``DEBUG로 설정합니다(기본값입니다)자세한 오류 정보는 로그 파일을 확인하세요.
구성 예:
그런 다음 로그 파일을 확인하세요.
일반적인 문제
인증 오류 :
DEEPSOURCE_API_KEY가 올바르고 필요한 권한이 있는지 확인하세요.로그가 나타나지 않음 :
LOG_FILE경로가 쓰기 가능한지, 상위 디렉토리가 존재하는지 확인하십시오.도구 오류 : 자세한 오류 메시지와 스택 추적을 보려면 로그 파일을 확인하세요.
특허
MIT
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -2533
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.Last updated -370MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enhances AI-generated code quality through comprehensive analysis across 10 critical dimensions, helping identify issues before they become problems.Last updated -172Apache 2.0
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -52