Skip to main content
Glama
djodjonx

Dependency Checker MCP Server

by djodjonx

Dependency Checker MCP Server

Ce serveur MCP (Model Context Protocol) fournit des outils pour vérifier la sécurité des dépendances npm en utilisant des bases de données de vulnérabilités reconnues : OSV.dev et Socket.dev.

🚀 Installation & Utilisation

Ce serveur peut être utilisé directement via npx sans installation préalable, ou installé globalement.

Configuration pour les clients MCP

Claude Desktop / Gemini CLI

Ajoutez la configuration suivante à votre fichier de configuration MCP (généralement claude_desktop_config.json ou similaire) :

{
  "mcpServers": {
    "dependency-checker": {
      "command": "npx",
      "args": ["-y", "@djodjonx/dependency-checker-mcp@latest"]
    }
  }
}

Note importante : L'ajout de @latest garantit que npx télécharge et exécute toujours la dernière version stable du serveur. Sans cela, npx pourrait utiliser une version en cache ou obsolète.

Si vous travaillez en local sur le projet :

{
  "mcpServers": {
    "dependency-checker-local": {
      "command": "node",
      "args": ["/chemin/vers/dependency-checker-mcp/dist/index.mjs"]
    }
  }
}

Related MCP server: CVE Checker for Node Modules

🛠 Outils disponibles

scan_file

Analyse un fichier de manifeste (package.json, lockfiles) pour détecter les vulnérabilités.

  • Entrée : file_path (chemin absolu du fichier).

  • Supporte : package.json, package-lock.json, yarn.lock, pnpm-lock.yaml.

check_vulnerabilities

Vérifie une liste spécifique de dépendances. Utile pour les agents qui extraient des dépendances d'autres sources.

  • Entrée : Liste d'objets { name, version }.

get_vulnerability_details

Récupère les détails techniques complets d'une vulnérabilité via son ID (CVE, GHSA, etc.).

  • Entrée : vuln_id.

🤝 Contribuer

Les contributions sont les bienvenues ! Voici comment configurer votre environnement de développement.

Prérequis

  • Node.js (v20+)

  • npm

Installation

git clone https://github.com/djodjonx/dependency-checker-mcp.git
cd dependency-checker-mcp
npm install

Développement

  • Build : npm run build (génère les fichiers dans dist/)

  • Dev (Watch) : npm run dev (recompile à chaque changement)

  • Tests : npm test (lance Vitest)

  • Linting : npm run lint (vérifie le code avec oxlint)

Workflow de Commit

Ce projet utilise Conventional Commits pour générer automatiquement le changelog et gérer les versions.

Au lieu d'utiliser git commit, utilisez la commande suivante pour être guidé :

npm run commit

Cela lancera un assistant interactif pour formater votre message de commit correctement (feat, fix, docs, etc.).

Release (Mainteneurs)

Consultez le fichier RELEASE.md pour la procédure détaillée de publication.

📄 Licence

Ce projet est sous licence MIT.

Available Tools

3 tools
check_vulnerabilitiesC

Checks a list of dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
dependenciesYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'checks,' which is vague. No information on network calls, side effects, or whether it modifies anything.

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

Conciseness2/5

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

The description is extremely short (one phrase). While concise in word count, it is under-specified, offering no added value. It does not earn its place because it provides no useful information beyond the tool name.

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

Completeness1/5

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

Given the tool has one complex parameter and no output schema or annotations, the description is critically incomplete. It does not explain return values, potential errors, or prerequisites, making it insufficient for an agent to use correctly.

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

Parameters1/5

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

Schema description coverage is 0%, so the description should add meaning to the 'dependencies' parameter. It does not; it merely echoes the parameter name. No explanation of required fields (name, version) or their purpose.

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

Purpose3/5

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

The description states 'Checks a list of dependencies,' which gives a general verb and resource but lacks specificity (e.g., checks for vulnerabilities? versions?). It does not clearly distinguish from sibling tools like get_vulnerability_details, which could also involve checking details.

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 on when to use this tool versus alternatives (get_vulnerability_details, scan_file) or when not to use it. The description is too brief to suggest appropriate context.

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

get_vulnerability_detailsC

Get details for a list of vulnerability IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
vuln_idsYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'Get details' without indicating whether the operation is read-only, idempotent, or any side effects. The agent lacks assurance about safety or permissions.

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

Conciseness4/5

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

The description is extremely concise at 9 words. However, given the lack of other context, it is too terse; additional details would be warranted. The structure is front-loaded but sparse.

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

Completeness2/5

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

The description omits essential context such as response format, error behavior, or any limitations (e.g., maximum number of IDs). For a retrieval tool with no output schema, this leaves the agent with significant uncertainty.

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

Parameters2/5

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

The only parameter 'vuln_ids' has no schema description (0% coverage). The description merely repeats 'list of vulnerability IDs' without adding constraints, format, or source guidance. This adds minimal value beyond the schema.

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 retrieves details for vulnerability IDs, using a specific verb-resource pair. It distinguishes from sibling tools like check_vulnerabilities and scan_file, which imply different operations.

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 provides no guidance on when to use this tool vs alternatives, nor any prerequisites or contextual hints. The agent is left to infer usage from the name alone.

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

scan_fileB

Parses a manifest file and checks for vulnerabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, description must disclose behavioral traits. It only states the action without mentioning side effects, authentication needs, error handling, or what happens if the file is invalid. Minimal disclosure.

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

Conciseness4/5

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

Extremely concise at 7 words with no fluff. Every word contributes, but could include more critical details without becoming verbose.

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

Completeness2/5

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

Given lack of annotations and output schema, description fails to explain return values, success/error behavior, or any postconditions. Incomplete for a tool with one parameter and no structured output documentation.

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?

Schema coverage is 0%, so description must compensate. It clarifies the parameter 'file_path' is the path to a manifest file, adding value beyond the schema. However, it does not specify file format or constraints, limiting richness.

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?

Describes a specific action (parses and checks for vulnerabilities) on a specific resource (manifest file). Clearly distinguishes from sibling tools 'check_vulnerabilities' and 'get_vulnerability_details' by focusing on file parsing.

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 explicit guidance on when to use this tool versus alternatives. Does not mention prerequisites, exclusions, or when to choose a sibling tool.

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. Dates show when Glama detected each change.

  1. 3 tool updates
    • Addedcheck_vulnerabilities
    • Addedget_vulnerability_details
    • Addedscan_file

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct action: checking dependencies by list, retrieving vulnerability details by ID, and scanning a manifest file. No overlap in purpose.

Naming Consistency5/5

All tool names follow a clear verb_noun pattern in snake_case (check_vulnerabilities, get_vulnerability_details, scan_file), with descriptive verbs that match the operation.

Tool Count5/5

Three tools cover the core workflow of checking dependencies and retrieving details, which is appropriate for a focused dependency checker without unnecessary bloat.

Completeness4/5

The set covers the main use cases (checking via list or file, getting details), but might benefit from a tool to list all known vulnerabilities or update databases, though not essential.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Automatically scans project dependencies (npm, Composer) for security vulnerabilities using the OSV.dev database, providing real-time alerts and detailed remediation guidance directly in your IDE.
    1
    11
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to scan software packages for data exfiltration and security threats directly within their IDE across npm, PyPI, Cargo, and Maven ecosystems. This tool helps ensure the safety of project dependencies by identifying potential risks before they are integrated.
    MIT

Latest Blog Posts

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/djodjonx/dependency-checker-mcp'

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