Skip to main content
Glama

DeepSource MCP 서버

씨아이 딥소스 딥소스 딥소스 npm 버전 npm 다운로드 특허

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과 함께 사용

  1. claude_desktop_config.json 편집합니다:

    • 클로드 데스크톱 열기

    • Settings -> Developer -> Edit Config 으로 이동하세요.

    • 아래 구성 중 하나를 mcpServers 섹션에 추가하세요.

  2. 변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.

예제 쿼리

연결되면 AI 도우미는 다음과 같은 쿼리를 통해 DeepSource 데이터를 사용할 수 있습니다.

지엑스피1

이렇게 하려면 필터가 있는 project_issues 도구를 사용합니다.

{ "projectKey": "your-project-key", "path": "src/", "analyzerIn": ["javascript"], "first": 10 }

분석 실행을 필터링하려면:

Show me the most recent Python analysis runs

이렇게 하려면 필터와 함께 project_runs 도구를 사용합니다.

{ "projectKey": "your-project-key", "analyzerIn": ["python"], "first": 5 }

코드 품질 측정 항목:

What's my code coverage percentage? Is it meeting our thresholds?

여기서는 quality_metrics 도구를 사용합니다.

{ "projectKey": "your-project-key", "shortcodeIn": ["LCV", "BCV", "CCV"] }

보안 규정 준수 보고서의 경우:

Are we compliant with OWASP Top 10 security standards?

이 경우 compliance_report 도구를 사용합니다.

{ "projectKey": "your-project-key", "reportType": "OWASP_TOP_10" }

임계값을 설정하려면 다음을 수행하십시오.

Update our line coverage threshold to 80%

update_metric_threshold 도구를 사용합니다.

{ "projectKey": "your-project-key", "repositoryId": "repo-id", "metricShortcode": "LCV", "metricKey": "AGGREGATE", "thresholdValue": 80 }

환경 변수

서버는 다음과 같은 환경 변수를 지원합니다.

  • DEEPSOURCE_API_KEY (필수): 인증을 위한 DeepSource API 키

  • LOG_FILE (선택 사항): 로그를 기록할 파일 경로입니다. 설정하지 않으면 로그가 기록되지 않습니다.

  • LOG_LEVEL (선택 사항): 기록할 최소 로그 수준(DEBUG, INFO, WARN, ERROR). 기본값은 DEBUG입니다.

로깅을 포함한 구성 예:

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log", "LOG_LEVEL": "DEBUG" } } } }

도커

{ "mcpServers": { "deepsource": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "DEEPSOURCE_API_KEY", "-e", "LOG_FILE=/tmp/deepsource-mcp.log", "-v", "/tmp:/tmp", "sapientpants/deepsource-mcp-server" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log" } } } }

엔피엑스

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

사용 가능한 도구

DeepSource MCP 서버는 다음과 같은 도구를 제공합니다.

  1. projects : 사용 가능한 모든 DeepSource 프로젝트 나열

    • 매개변수:

      • 필수 매개변수 없음

  2. project_issues : 필터링을 사용하여 DeepSource 프로젝트의 이슈를 가져옵니다.

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • 페이지 매김 매개변수:

        • offset (선택 사항) - 페이지 매김을 위해 건너뛸 항목 수

        • first (선택 사항) - 반환할 항목 수(기본값은 10)

        • after (선택 사항) - 앞으로 페이지 매김을 위한 커서

        • before (선택 사항) - 역방향 페이지 매김을 위한 커서

        • last (선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)

      • 필터링 매개변수:

        • path (선택 사항) - 특정 파일 경로로 문제 필터링

        • analyzerIn (선택 사항) - 특정 분석기(예: ["python", "javascript"])로 문제를 필터링합니다.

        • tags (선택 사항) - 태그로 문제 필터링

  3. project_runs : 필터링을 사용하여 DeepSource 프로젝트에 대한 분석 실행 목록

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • 페이지 매김 매개변수:

        • offset (선택 사항) - 페이지 매김을 위해 건너뛸 항목 수

        • first (선택 사항) - 반환할 항목 수(기본값은 10)

        • after (선택 사항) - 앞으로 페이지 매김을 위한 커서

        • before (선택 사항) - 역방향 페이지 매김을 위한 커서

        • last (선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)

      • 필터링 매개변수:

        • analyzerIn (선택 사항) - 특정 분석기(예: ["python", "javascript"])로 실행되는 필터

  4. run : runUid 또는 commitOid로 실행된 특정 분석을 가져옵니다.

    • 매개변수:

      • runIdentifier (필수) - 실행을 식별하기 위한 runUid(UUID) 또는 commitOid(커밋 해시)

  5. recent_run_issues : 페이지네이션 지원을 통해 특정 브랜치에서 실행된 가장 최근의 분석에서 이슈를 가져옵니다.

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • branchName (필수) - 가장 최근 실행을 가져올 브랜치 이름

      • 페이지 매김 매개변수:

        • first (선택 사항) - 반환할 문제 수(기본값은 10)

        • after (선택 사항) - 앞으로 페이지 매김을 위한 커서

        • last (선택 사항) - 커서 전에 반환할 문제 수(기본값: 10)

        • before (선택 사항) - 역방향 페이지 매김을 위한 커서

    • 보고:

      • 지점에서 가장 최근에 실행된 내용에 대한 정보

      • 프로젝트의 현재 문제(참고: 문제는 실행별이 아닌 저장소 수준입니다)

      • 커서 및 페이지 상태를 포함한 페이지 매김 정보

      • 실행 및 분기에 대한 메타데이터

  6. dependency_vulnerabilities : DeepSource 프로젝트에서 종속성 취약점을 가져옵니다.

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • 페이지 매김 매개변수:

        • offset (선택 사항) - 페이지 매김을 위해 건너뛸 항목 수

        • first (선택 사항) - 반환할 항목 수(기본값은 10)

        • after (선택 사항) - 앞으로 페이지 매김을 위한 커서

        • before (선택 사항) - 역방향 페이지 매김을 위한 커서

        • last (선택 사항) - 'before' 커서 전에 반환할 항목 수(기본값: 10)

  7. quality_metrics : 필터링을 사용하여 DeepSource 프로젝트에서 품질 지표 가져오기

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • shortcodeIn (선택 사항) - 특정 단축 코드(예: ["LCV", "BCV"])로 메트릭 필터링

    • 다음과 같은 메트릭을 반환합니다.

      • 라인 커버리지(LCV)

      • 지점 커버리지(BCV)

      • 문서 범위(DCV)

      • 중복 코드 비율(DDP)

      • 각 메트릭에는 현재 값, 임계값 및 통과/실패 상태가 포함됩니다.

  8. update_metric_threshold : 특정 품질 측정 항목에 대한 임계값을 업데이트합니다.

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • repositoryId (필수) - GraphQL 저장소 ID

      • metricShortcode (필수) - 업데이트할 메트릭의 단축 코드

      • metricKey (필수) - 메트릭의 언어 또는 컨텍스트 키

      • thresholdValue (선택 사항) - 새 임계값 또는 임계값을 제거하려면 null을 지정합니다.

    • 예: 80% 라인 적용 임계값 설정: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80

  9. update_metric_setting : 품질 지표에 대한 설정을 업데이트합니다.

    • 매개변수:

      • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

      • repositoryId (필수) - GraphQL 저장소 ID

      • metricShortcode (필수) - 업데이트할 메트릭의 단축 코드

      • isReported (필수) - 메트릭을 보고해야 하는지 여부

      • isThresholdEnforced (필수) - 임계값을 적용해야 하는지 여부(검사에 실패할 수 있음)

  10. compliance_report : DeepSource 프로젝트에서 보안 규정 준수 보고서를 받습니다.

  • 매개변수:

    • projectKey (필수) - DeepSource 프로젝트의 고유 식별자

    • reportType (필수) - 가져올 규정 준수 보고서 유형( OWASP Top 10 , SANS Top 25 또는 MISRA-C )

  • 다음을 포함한 포괄적인 보안 규정 준수 데이터를 반환합니다.

    • 범주 및 심각도별 보안 문제 통계

    • 준수 상태(합격/불합격)

    • 시간 경과에 따른 변화를 보여주는 추세 데이터

    • 보안 태세 개선을 위한 분석 및 권장 사항

개발

  1. 저장소를 복제합니다.

git clone https://github.com/sapientpants/deepsource-mcp-server.git cd deepsource-mcp-server
  1. 종속성 설치:

pnpm install
  1. 프로젝트를 빌드하세요:

pnpm run build
  1. Claude Desktop 구성

{ "mcpServers": { "deepsource": { "command": "node", "args": [ "/path/to/deepsource-mcp-server/dist/index.js" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

필수 조건

  • 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로 코드 포맷하기

문제 해결

디버그 로깅 활성화

문제가 발생하는 경우 디버그 로깅을 활성화하여 자세한 정보를 확인하세요.

  1. LOG_FILE 환경 변수를 로그를 기록할 파일 경로로 설정합니다.

  2. LOG_LEVEL``DEBUG 로 설정합니다(기본값입니다)

  3. 자세한 오류 정보는 로그 파일을 확인하세요.

구성 예:

{ "mcpServers": { "deepsource": { "command": "npx", "args": ["-y", "deepsource-mcp-server@1.1.0"], "env": { "DEEPSOURCE_API_KEY": "your-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log", "LOG_LEVEL": "DEBUG" } } } }

그런 다음 로그 파일을 확인하세요.

tail -f /tmp/deepsource-mcp.log

일반적인 문제

  1. 인증 오류 : DEEPSOURCE_API_KEY 가 올바르고 필요한 권한이 있는지 확인하세요.

  2. 로그가 나타나지 않음 : LOG_FILE 경로가 쓰기 가능한지, 상위 디렉토리가 존재하는지 확인하십시오.

  3. 도구 오류 : 자세한 오류 메시지와 스택 추적을 보려면 로그 파일을 확인하세요.

특허

MIT

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    A 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 -
    25
    33
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    A 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 -
    3
    70
    MIT License
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    A 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 -
    1
    72
    Apache 2.0
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    A 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 -
    5
    2

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapientpants/deepsource-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server