
Dependency Mcp
io.github.niradler由 GitHub 账号 niradler 发布v0.0.5更新于 Oct 24, 2026
MCP server for checking package versions across multiple package managers
概览
让助手查询 npm、PyPI、Maven、NuGet、RubyGems、Crates.io 和 Go 模块中软件包的最新版本,并验证指定版本是否存在。
- 可以做什么
- 该 MCP 服务器查询公共软件包注册表以回答依赖相关问题。它提供获取软件包最新版本、检查指定版本是否存在,以及获取包含全部已发布版本的详细元数据的工具。批量工具单次请求最多处理 100 个软件包,支持并行处理,并隔离单个软件包的失败。
- 适用场景
- 适用于更新依赖、在 CI/CD 中校验版本锁定、审计项目依赖,或跨多个注册表比较版本。批量工具适合一次检查三个及以上软件包。
- 运行要求
- 通过 stdio 在本地运行,通常使用 npx dependency-mcp 或全局安装 npm 包,因此需要 Node.js 以及访问公共注册表的网络。未声明需要账户、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Dependency Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Dependency MCP Server
A Model Context Protocol (MCP) server for checking package versions across multiple package managers and registries.
Features
- Multi-language support: Check packages from NPM, PyPI, Maven, NuGet, RubyGems, Crates.io, and Go modules
- Latest version lookup: Get the most recent version of any package
- Version existence check: Verify if a specific version exists
- Package information: Get detailed package metadata including all versions
- Batch processing: Check multiple packages simultaneously for improved efficiency
- Easy installation: Install and run via npx
Supported Package Managers
- npm - Node.js packages
- pypi - Python packages
- maven - Java packages (format:
groupId:artifactId) - nuget - .NET packages
- rubygems - Ruby gems
- crates - Rust crates
- go - Go modules
Installation
Global Installation
Run with npx (no installation needed)
Local Development
Usage
The server runs as an MCP server using stdio transport. It's designed to be used with MCP-compatible clients.
Available Tools
Single Package Tools
Use these tools when you need to check 1-2 packages or require detailed information:
1. get_latest_version
Get the latest version of a package. Use for dependency updates, version checks, or when you need the most recent stable release.
Parameters:
package_name(string): Name of the packageregistry(string): Package registry (npm,pypi,maven,nuget,rubygems,crates,go)
Example:
2. check_version_exists
Check if a specific version exists. Use for dependency validation, CI/CD checks, or ensuring version compatibility.
Parameters:
package_name(string): Name of the packageversion(string): Version to checkregistry(string): Package registry
Example:
3. get_package_info
Get detailed package information including all versions. Use for dependency audits, security reviews, or when you need comprehensive package metadata.
Parameters:
package_name(string): Name of the packageregistry(string): Package registry
Example:
Multi-Package Tools
Use these tools when you need to check 3+ packages or perform bulk operations:
4. get_latest_versions
Get latest versions for multiple packages simultaneously. Use when checking 3+ dependencies - processes up to 100 packages in parallel.
Parameters:
packages(array): Array of package namesregistry(string): Package registry
Example:
5. check_versions_exist
Check if specific versions exist for multiple packages. Use for bulk dependency validation, CI/CD pipeline checks, or ensuring multiple package version compatibility.
Parameters:
packages(array): Array of package objects withpackage_nameandversionregistry(string): Package registry
Example:
6. get_packages_info
Get comprehensive package details for multiple packages. Use for dependency audits, security reviews, or bulk package analysis.
Parameters:
packages(array): Array of package namesregistry(string): Package registry
Example:
Tool Selection Guide
When to Use Single Package Tools:
- 1-2 packages to check
- Detailed information needed (versions, homepage, repository)
- Specific version validation for one package
- Quick checks during development
When to Use Multi-Package Tools:
- 3+ packages to check
- Bulk dependency validation
- CI/CD pipeline checks
- Dependency audits or security reviews
- Performance-critical scenarios with multiple packages
Performance Notes:
- Single package tools: Faster for 1-2 packages
- Multi-package tools: 3-5x faster for 5+ packages due to parallel processing
- Error isolation: Failed packages don't break the entire batch
- Batch limits: Maximum 100 packages per request
Batch Processing
The multi-package tools provide significant performance improvements when checking multiple packages:
Benefits
- Eliminates round-trip delays: Check up to 100 packages in a single request
- Consistent error handling: Individual package failures don't break the entire batch
- Parallel processing: All packages are checked concurrently for maximum efficiency
- Reduced API overhead: Fewer HTTP requests to external registries
Limitations
- Maximum batch size: 100 packages per request
- Rate limiting: Built-in delays prevent overwhelming external APIs
- Timeout handling: 10-second timeout per request with graceful fallback
- Memory usage: Large batches may consume more memory
When to Use Batch Tools
- Dependency audits: Check multiple packages in your project
- Version comparisons: Compare versions across multiple packages
- Bulk updates: Identify which packages have newer versions available
- CI/CD pipelines: Validate multiple package versions simultaneously
Production Considerations
Performance
- Concurrent processing: Multi-package tools use Promise.all for parallel execution
- Rate limiting: Built-in 100ms delay between requests to external APIs
- Timeout handling: 10-second timeout with graceful error handling
- Memory management: Efficient processing of large batches
Reliability
- Error isolation: Individual package failures don't affect others in the batch
- Network resilience: Handles temporary network issues gracefully
- API fallbacks: Graceful degradation when external APIs are unavailable
- Validation: Comprehensive input validation prevents invalid requests
- Registry-specific handling: Maven registry may be slower in some network environments
Security
- Input sanitization: All inputs are validated and sanitized
- Rate limiting: Prevents abuse of external APIs
- Error messages: Safe error messages that don't expose internal details
- Timeout protection: Prevents hanging requests
Monitoring
- Timestamps: All responses include ISO timestamps for tracking
- Error tracking: Detailed error information for debugging
- Performance metrics: Built-in timeout and rate limiting tracking
Configuration with Claude Desktop
Add this to your Claude Desktop configuration file:
Windows
%APPDATA%\Claude\claude_desktop_config.json
macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Linux
~/.config/claude/claude_desktop_config.json
Example Responses
Latest Version Response
Version Check Response
Package Info Response
Special Format Notes
Maven
Maven packages should be specified in the format groupId:artifactId:
Go Modules
Go modules should use the full module path:
Error Handling
The server provides detailed error messages for common scenarios:
- Package not found
- Network connectivity issues
- Invalid package name formats
- Registry API errors
- Rate limiting exceeded
- Server errors (5xx responses)
- Request timeouts
- Input validation errors
Error Response Format
All error responses include:
error: Human-readable error messagetimestamp: ISO timestamp of when the error occurredpackage: Package name that caused the errorregistry: Registry where the error occurred
Input Validation
The server validates all inputs:
- Package names: Must be non-empty strings under 500 characters
- Versions: Must be non-empty strings under 100 characters
- Registry: Must be one of the supported registries
- Batch size: Maximum 100 packages per request
- Required parameters: All required fields must be present
Response Expectations
Single Package Tools:
- Success: Returns complete package information with
found: true - Not Found: Returns
found: falsewith error message - Network Issues: Returns error with descriptive message
- Always includes:
timestamp,package,registryfields
Multi-Package Tools:
- Success: Returns array of results, each with individual status
- Partial Success: Some packages succeed, others fail - each has individual result
- Error Isolation: Failed packages don't affect successful ones
- Batch Processing: All packages processed in parallel for efficiency
- Consistent Format: Each result follows same structure as single package tools
Development
Project Structure
Running Tests
Debug Mode
License
MIT
来源:README.md,提交 f7aee77
工具
0版本历史
1- v0.0.5最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。