Skip to main content
Glama

DepsGuard MCP

CI PyPI License Python

AI-Powered Dependency Vulnerability & Breaking Change Analyzer MCP

의존성 패키지의 취약점을 OSV.dev에서 실시간 조회하고, AI가 내 코드의 실제 사용 패턴과 연결하여 진짜 위험한 것만 우선순위화합니다. 버전 업데이트 시 breaking change 영향 범위까지 분석하여 수정 코드를 제안합니다.

기존 도구와 차이점

도구

취약점 탐지

실제 영향 분석

Breaking Change 분석

pip audit / npm audit

Dependabot / Renovate

DepsGuard MCP

✅ AI 판단

✅ AI 판단

Related MCP server: @4da/mcp-server

빠른 시작

pip install depsguard-mcp

# Claude Code에 MCP 등록
claude mcp add depsguard -- depsguard-mcp serve

# 환경 변수 (LLM 선택)
export DEPSGUARD_LLM_PROVIDER="anthropic"   # anthropic | openai | gemini | ollama
export ANTHROPIC_API_KEY="sk-..."

# 사내 프록시 환경
export DEPSGUARD_PROXY="http://proxy:8080"

CLI 사용

# 취약점 스캔
depsguard scan ./requirements.txt
depsguard scan ./package.json

# 업그레이드 breaking change 분석
depsguard upgrade django --from 3.2.0 --to 4.2.0

MCP 도구 목록

도구

설명

scan_dependencies

의존성 파일 스캔 + AI 실제 영향 분석

analyze_upgrade

버전 업그레이드 breaking change AI 분석

list_packages

의존성 파일 패키지 목록 파싱

지원 생태계

파일

생태계

requirements.txt, pyproject.toml

Python / PyPI

package.json

Node.js / npm

아키텍처

의존성 파일 파싱
      ↓
OSV.dev API (취약점 조회, 무료·Key 불필요)
      ↓
AST 코드 사용 패턴 분석
      ↓
LLM 실제 영향 판단 (anthropic / openai / gemini / ollama)
      ↓
MCP 도구 응답

라이선스

Apache 2.0

Available Tools

3 tools
analyze_upgradeA

패키지 버전 업그레이드 시 breaking change를 AI가 분석하고 영향 파일·수정 방법을 제시합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
changelogNochangelog 또는 마이그레이션 가이드 텍스트 (없으면 AI가 일반 지식으로 분석)
ecosystemNoPyPI / npm / Go 등PyPI
package_nameYes패키지 이름 (예: requests, django)
project_rootNo프로젝트 루트 디렉터리.
target_versionYes업그레이드 목표 버전 (예: 2.31.0)
current_versionYes현재 버전 (예: 2.28.0)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must cover behavioral traits. It does state that the AI analyzes breaking changes and suggests affected files/fix methods, and notes that without a changelog it uses general knowledge. However, it doesn't disclose potential side effects like reading files from project_root or whether modifications are suggested vs. executed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every phrase contributes to the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and parameters are documented, the description covers the main function but lacks usage context and comparison with sibling tools. It is minimal but not insufficient for an analysis tool; however, it could benefit from mentioning when to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 6 parameters have descriptions in the schema (100% coverage), so the description adds no additional parameter semantics. The description doesn't mention how the parameters influence behavior beyond what schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool analyzes breaking changes during package version upgrades and proposes affected files and modification methods. The specific verb 'analyze' and resource 'package upgrade' distinguish it from sibling tools like scan_dependencies and list_packages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool instead of siblings, no mention of alternatives or typical scenarios. It only states what it does, leaving the agent to determine applicability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_packagesB

의존성 파일에서 패키지 목록을 파싱하여 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
dependency_fileYesrequirements.txt, package.json 등 경로

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden. It mentions only parsing and returning, without disclosing potential side effects, error handling, or limitations. The behavior is not contradictory but is under-specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and an output schema exists, but the description lacks usage context or alternatives. It is minimally complete but would benefit from explaining when to use it versus sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter at 100% with an example (requirements.txt, package.json). The description adds little beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it parses and returns the package list from a dependency file, using a specific verb and resource. It implies a narrower scope than sibling tools like scan_dependencies or analyze_upgrade, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool over alternatives. The description only states what it does, leaving the agent to infer appropriate usage without any explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_dependenciesA

의존성 파일을 스캔하여 취약점을 탐지하고 AI로 실제 영향을 분석합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
ai_analysisNoTrue이면 CRITICAL/HIGH 취약점에 대해 AI 실제 영향 분석 수행
project_rootNo프로젝트 루트 디렉터리 (AI 영향 분석용 코드 탐색 기준).
dependency_fileYesrequirements.txt, package.json 등 경로

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention that AI analysis is part of the tool, which is a behavioral trait, but it does not disclose whether the tool is read-only, requires specific permissions, or sends data to external services. This leaves some ambiguity but avoids contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the main action and includes no filler. It efficiently communicates the tool's function without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and the input schema fully describes parameters, the description is reasonably complete for a straightforward scanner. It lacks explicit usage guidance and some behavioral nuance, but the core purpose is well-covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions (100% coverage), so a baseline score of 3 applies. The main description does not add extra meaning beyond the schema, as it only refers to dependency files and AI analysis without detailing parameter syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans dependency files ('의존성 파일을 스캔') to detect vulnerabilities ('취약점을 탐지') and analyzes actual impact with AI ('AI로 실제 영향을 분석합니다'). This distinguishes it from sibling tools by emphasizing vulnerability scanning and AI analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used for scanning dependencies for vulnerabilities, but it does not provide explicit guidance on when to use it versus alternatives like list_packages or analyze_upgrade. No exclusions or alternative recommendations are given, but the purpose is clear enough to imply usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedanalyze_upgrade
    • First observedlist_packages
    • First observedscan_dependencies

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: scanning for vulnerabilities, listing packages, and analyzing upgrades. There is no overlap in their primary functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: scan_dependencies, list_packages, analyze_upgrade. This makes the API predictable and easy to navigate.

Tool Count5/5

Three tools is well-scoped for a dependency management server, covering essential workflows without unnecessary bloat. Each tool earns its place.

Completeness4/5

The tool set covers listing, vulnerability scanning, and upgrade analysis, but lacks tools for direct remediation or detailed package-level inspection. Minor gap, but core workflows are covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers