SafeDep
Server Details
Protects AI coding agents from installing malicious open source packages. Every npm and PyPI package is checked against SafeDep’s real-time threat intelligence before installation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: check_package_security is a pre-install gate for package risk, while ping is a connectivity check. There is no overlap or potential for misselection.
Both names use snake_case, which is consistent, but 'ping' is a bare verb while the other follows a verb_noun pattern. This minor deviation is acceptable and still readable.
With only 2 tools, the set feels thin for a security service; it provides a core check and a connectivity probe but little else. While each tool earns its place, the count is borderline under-scoped.
The tool surface covers the essential pre-install check and connectivity, but lacks batch scanning, lockfile analysis, or detailed vulnerability reporting. These notable gaps mean agents may need to work around limitations for fuller security workflows.
Available Tools
2 toolscheck_package_securityADestructiveInspect
MANDATORY pre-installation security gate for open source packages. You MUST call this tool BEFORE running any package install command including: npm install, yarn add, pnpm add, pip install, poetry add, uv add, go get, cargo add, gem install, composer require, mvn dependency:resolve, or any other package manager install/add command. Call once for EACH package being directly installed. This tool checks packages for malware, supply chain attacks, and critical/high vulnerabilities. If the response status indicates the package is MALICIOUS or has CRITICAL vulnerabilities, you MUST REFUSE to install the package and inform the user of the security risk. Always follow the 'instruction' field in the response — it contains critical safety guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name | |
| version | No | Package version (optional, will resolve to latest if not provided) | |
| ecosystem | Yes | Package ecosystem (npm, pypi, maven, go, cargo, rubygems, packagist) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safe/mutation hints (destructiveHint: true, openWorldHint: true), but the description adds critical behavioral context: it explains response interpretation ('If the response status indicates...MALICIOUS...you MUST REFUSE') and reveals the existence of an 'instruction' field containing safety guidance. Does not contradict annotations (destructiveHint likely reflects side effects like caching or temporary extraction for scanning).
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?
Though lengthy, every sentence serves a distinct purpose: mandatory status, timing constraint, scope enumeration, success criteria, and response handling. Front-loaded with safety-critical instructions. Capitalization for emphasis (MUST, MALICIOUS) is appropriate for security-critical workflows, though the package manager list could theoretically be shortened to 'any package manager' without loss of clarity.
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?
Despite lacking an output schema, the description compensates by documenting response interpretation logic (status fields indicating malicious/critical issues) and the 'instruction' field guidance. Given the tool's safety-critical nature and rich annotations, this provides sufficient context for correct invocation and response handling.
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?
With 100% schema description coverage, the schema fully documents all 3 parameters (name, version, ecosystem). The description does not add parameter-specific semantics (e.g., no format guidance for ecosystem strings or version constraints), meeting the baseline expectation for high-coverage schemas.
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 defines the tool as a 'MANDATORY pre-installation security gate' that 'checks packages for malware, supply chain attacks, and critical/high vulnerabilities.' It uses specific verbs (checks, gate) and distinguishes clearly from the sibling 'ping' tool by focusing exclusively on security validation workflows.
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?
Explicitly mandates when to use: 'You MUST call this tool BEFORE running any package install command' followed by an exhaustive list of package managers (npm, yarn, pip, etc.). It specifies frequency ('Call once for EACH package') and ties directly to the installation workflow. No ambiguity about appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingADestructiveInspect
Check connectivity with SafeDep threat intelligence service. Use this ONLY ONCE per session to verify your connection is working. Do not call repeatedly to avoid latency.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false. The description adds valuable context about latency costs and session-scoped usage ('use only once'), which helps explain why the tool is marked destructive/non-idempotent. However, it doesn't explicitly clarify what side effects occur or what makes a 'ping' destructive.
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?
Three sentences with zero waste: sentence 1 states purpose, sentence 2 gives usage constraint, sentence 3 provides rationale. Information is front-loaded and appropriately sized for a simple connectivity tool.
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?
For a zero-parameter tool with annotations covering safety profile (destructive, open-world), the description provides sufficient operational context (when to call, cost implications). Minor gap: could briefly mention expected return format, but not critical for a ping utility.
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?
Baseline score of 4 applies for zero-parameter tools. With no parameters to document, the schema coverage of 100% is trivially satisfied and the description appropriately focuses on behavior rather than inventing parameter documentation.
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 uses a specific verb 'Check' with a clear resource 'connectivity with SafeDep threat intelligence service'. It effectively distinguishes from sibling tool 'check_package_security' by focusing on connection health rather than security analysis of specific packages.
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?
Excellent explicit guidance: 'Use this ONLY ONCE per session to verify your connection is working' specifies exact usage frequency, and 'Do not call repeatedly to avoid latency' provides clear negative constraints with rationale.
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.
2 tool updates
- First observed
check_package_security - First observed
ping
Related MCP Connectors
check-package: block malicious npm/PyPI deps before your AI agent installs them. Free, no key.
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Blocks typosquatted or hallucinated npm/PyPI packages before an AI agent installs them.
Related MCP Servers
- AlicenseAqualityFmaintenanceActs as a security checkpoint for AI coding agents by intercepting package installations to verify existence, check against CVE databases, and block vulnerable or hallucinated dependencies before they reach your codebase. Provides seven security tools including pre-install gates, full project audits, safe version recommendations, and deep transitive dependency scanning for npm and PyPI packages.739 npm4MIT
- AlicenseNot gradedqualityCmaintenanceValidates and checks packages across 19 ecosystems to prevent AI agents from installing hallucinated, deprecated, or malicious packages.117 npmAGPL 3.0
- AlicenseAqualityDmaintenanceDependency security & health auditing for AI agents with no account or API key required.22MIT
- AlicenseAqualityAmaintenanceDependency intelligence for AI agents. CVE scanning, health checks, upgrade planning.9176 npm2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.