Dependency Checker MCP Server
Provides tools to scan npm manifest files (package.json and package-lock.json) for security vulnerabilities in dependencies.
Enables checking of pnpm-lock.yaml files against vulnerability databases to identify potential security risks in project dependencies.
Integrates with Socket.dev to provide security verification for npm dependencies by checking them against their vulnerability database.
Supports the analysis of yarn.lock files to detect security vulnerabilities in the project's dependency tree.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dependency Checker MCP Serverscan my package.json for any security vulnerabilities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 installDéveloppement
Build :
npm run build(génère les fichiers dansdist/)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 commitCela 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 toolscheck_vulnerabilitiesC
Checks a list of dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
| dependencies | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| vuln_ids | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- Added
check_vulnerabilities - Added
get_vulnerability_details - Added
scan_file
TDQS
Each tool targets a distinct action: checking dependencies by list, retrieving vulnerability details by ID, and scanning a manifest file. No overlap in purpose.
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.
Three tools cover the core workflow of checking dependencies and retrieving details, which is appropriate for a focused dependency checker without unnecessary bloat.
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
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
Detect malicious or vulnerable npm packages: registry search, OSV.dev and GitHub advisory lookups
Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Related MCP Servers
- AlicenseBqualityFmaintenanceAudits npm package dependencies for security vulnerabilities, providing detailed reports and fix recommendations with MCP integration.16257MIT
- FlicenseBqualityDmaintenanceEnables checking npm packages for known security vulnerabilities using the OSV API before installation. Supports both single package checks and bulk vulnerability scanning for multiple packages at once.2-
- AlicenseAqualityDmaintenanceAutomatically 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.1111MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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