依赖分析服务

一个基于FastMCP构建的Model Context Protocol服务器,帮助开发者和代理检查开源依赖项,包括注册表元数据、GitHub发布对齐、公共安全信号和跨多个生态系统的版本固定状态。

  • by bp4151
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bp4151/dependency-analysis-mcp

使用说明

依赖性分析MCP

A. 模型上下文协议 服务器构建于 FastMCP 这有助于代理商和开发人员 检查开源依赖关系:注册表元数据、GitHub发布对齐、公共安全信号以及跨许多生态系统的版本锁定状态。

Python 3.11+ ·包名称: dependencyanalysismcp (参见 pyproject.toml)


它做什么

服务器公开的工具(除其他外):

  • 解决 GitHub 存储库URL来自 npm, PyPI,以及 纽吉特 注册表元数据
  • 比较 注册表“最新” 和 GitHub发布/标签
  • 解析 公共Snyk包顾问 页面(HTML;无Snyk API密钥)
  • 查询 OSV 为了 关键的 a中的漏洞活动 30天 窗口
  • 获取 OpenSSF记分卡 GitHub仓库的结果
  • 扫描一棵树 松散或未固定 常见清单格式的依赖关系
  • 生产a 单一降价摘要 (同步+Snyk+记分卡+OSV+OWASP导向指针)

分析运行中 你的 环境:服务器调用公共注册表和API;确实如此 不 将您的本地源代码上传给第三方。您可以选择要扫描的路径(例如使用 check_dependency_version_pinning).


快速启动

pip install -e .
python -m dependency_analysis_mcp.server

随着 PORT 取消设置,该过程使用 标准 (通常用于Cursor、VS Code和其他MCP客户端)。随着 PORT 集,它服务 可流式传输的HTTP (适用于Fly.io、Docker或其他主机)并公开 GET /health.

控制台入口点(与模块相同):

dependency-analysis-mcp

可选:设置 GITHUB_TOKEN 在解决版本和标签时,在更高的GitHub API速率限制的环境中。不要提交代币。


文档

文档 内容
README_MCP.md 本地stdio设置、客户端JSON示例、HTTP/Fly客户端配置、环境变量
README_TOOLS.md 每个MCP工具:参数、返回形状、限制
README_flyio.md Docker镜像、Fly.io部署、秘密、操作
README_Inspector.md 使用MCP检查器(stdio和HTTP)进行调试
README_GITHUB.md 面向GitHub和OpenSSF的开源仓库实践
贡献.md 如何贡献:设置、PR、文档、安全报告
安全.md 如何私下报告漏洞(协调披露)

存储库布局

路径 角色
dependency_analysis_mcp/ 服务器(server.py),服务,钉扎扫描仪
Dockerfile, fly.toml, .dockerignore 容器和Fly.io部署
pyproject.toml 包元数据和依赖关系

需求

安装时间依赖关系列在 pyproject.toml (fastmcp, httpx, packaging, cvss, pyyaml,以及它们的传递deps)。

对于 远程HTTP 部署,读取 README_flyio.md 出于安全和网络考虑(公共端点、身份验证和 search_root 容器中的行为)。


许可证

该项目根据 MIT许可证.