mcpField
D
Dependency Freshness Checker

Dependency Freshness Checker

本地服务
github.com/Armigerous开发工具020 周前更新

关于 Dependency Freshness Checker

Dependency Freshness Checker 是面向编码 Agent 的 MCP 服务,可查询 npm 和 PyPI 公共注册表。它返回版本状态、弃用信息,以及指定版本到最新版本之间带日期和引用来源的变更。

主要功能

  1. 01最新版本与发布日期
  2. 02弃用状态和落后版本数
  3. 03带日期的变更摘要
  4. 04字段级来源引用
  5. 05批量检查软件包

适用场景

  1. 01生成代码前检查依赖
  2. 02升级前审查软件包更新
  3. 03确认指定版本是否已弃用

MCP 相关

它向 MCP 客户端提供 `check_dependency_freshness(packages)` 工具。可通过 Apify 托管 MCP 服务、自身的 Streamable-HTTP 端点或本地 stdio 调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dependency-freshness": {
"command": "npx",
"args": [
"-y",
"dependency-freshness-mcp"
]
}
}
}
启动命令npx -y dependency-freshness-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmdependency-freshness-mcp

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
packagesarray是要检查的软件包。各项格式:{ ecosystem: "npm"|"pypi", name, currentVersion? }。currentVersion 是你假定或准备使用的版本——提供此值即可获取“落后 N 个版本/自该版本以来的变更”差异。

详细介绍

依赖新鲜度检查器——你的 npm 或 PyPI 依赖是否过时?为 AI Agent 提供最新版本、弃用状态和破坏性变更的 MCP

依赖新鲜度检查器可告知任何 AI 编码 Agent,npm 或 PyPI 软件包是否过时(已过期),并提供可佐证的事实:最新版本、发布日期、弃用状态、落后版本数,以及带日期的**“自你所用版本以来的变更”**破坏性变更差异。它原生支持 MCP,只读取公开注册表和 GitHub 发布信息(不抓取网页,没有服务条款风险),并采用按事件付费定价,适合 Agent 按需使用。

依赖新鲜度检查器能做什么?

提供任意 npm 或 PyPI 软件包(也可选填 Agent 所依据的版本),依赖新鲜度检查器会优先提供带引用来源的结果:

  • 最新发布版本及其发布日期;
  • 软件包(或你所依据的版本)是否已弃用;
  • 你落后了多少个版本;以及
  • 带日期和引用来源的 changeSummary[],说明你的版本与最新版本之间的变更。

每个字段都附有来源 URL 和访问日期,因此 Agent 可以信赖并引用这些结果。

为什么要检查 npm 和 PyPI 依赖的新鲜度?

LLM 编码 Agent 没有时间感知能力:它们的训练数据是固定的,因此会生成 70–90% 使用已弃用软件包的代码。编码 Agent 是数量最多的 Agent 群体,而且都存在这一盲点。依赖新鲜度检查器可在调用时解决训练数据截止时间带来的问题。它属于已有成熟需求的“面向 Agent 的新鲜度检查”领域,但范围更专注,合规风险也更低——它只读取公开的 npm、PyPI 和 GitHub 发布信息,因此不会与第一方 RAG 浏览器或获得资金支持的现有服务竞争。

如何使用依赖新鲜度检查器

传入一小组软件包。默认值经过精简,确保首次运行成本低、速度快且能成功:

{
  "packages": [
    { "ecosystem": "npm", "name": "zod", "currentVersion": "3.22.0" },
    { "ecosystem": "pypi", "name": "fastapi" }
  ]
}

currentVersion 为可选参数——省略即可只询问“最新版本是什么?”。完整架构请参阅 .actor/input_schema.json。

输出——带日期和引用来源的新鲜度结果

每个结果都包含 isOutdated、versionsBehind、latest + latestPublishedAt、带日期的 changeSummary[],以及字段级的 citations[]。批量运行和 MCP 工具会返回相同的数据结构,Agent 和仪表板可以使用统一格式。

将依赖新鲜度检查器用作面向 AI Agent 的 MCP 工具

此 Actor 提供一个 MCP 工具:check_dependency_freshness(packages)。有三种调用方式(相关机制的引用说明见 docs/research/50-mcp.md):

  • A — 托管服务,无需设置。 每个公开的 Apify Actor 都可通过 Apify 的托管 MCP 服务调用,地址为 https://mcp.apify.com——无需额外配置。

  • B — 将 Actor 用作自己的 MCP 服务(Standby)。 已部署的 Actor 会在其稳定 URL 的 /mcp 路径上提供 Streamable-HTTP MCP 端点:

    {
      "mcpServers": {
        "dependency-freshness": {
          "url": "https://<user>--dependency-freshness-mcp.apify.actor/mcp",
          "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
        }
      }
    }
    
  • C — 本地 stdio(开发 / MCP Inspector)。 构建后,将任意 MCP 客户端指向编译后的入口文件:

    {
      "mcpServers": {
        "dependency-freshness": {
          "command": "node",
          "args": ["/abs/path/dependency-freshness-mcp/dist/mcp/stdio.js"],
          "env": { "GITHUB_TOKEN": "ghp_… (optional, raises GitHub rate limit)" }
        }
      }
    }
    

    使用 npx @modelcontextprotocol/inspector node dist/mcp/stdio.js 在本地检查。

定价

依赖新鲜度检查器采用按事件付费定价,适合 Agent 按需使用:每次运行启动收取少量固定费用,另加每检查一个软件包 $0.005(每 1,000 个 $5)——符合 Apify 建议的每 1,000 个结果 $1–10 的价格区间。你只需为实际检查的软件包付费。

常见问题

它会抓取网站吗? 不会。它只读取公开注册表 API 和 GitHub 发布信息——不抓取网页,也没有服务条款风险。

支持哪些生态系统? 目前支持 npm 和 PyPI。

我需要 GitHub 令牌吗? 不需要——令牌是可选的,只会提高 GitHub 速率限制,以支持更大批量的检查。

Agent 可以直接调用它吗? 可以——这正是它的用途。使用 check_dependency_freshness MCP 工具(上文的选项 A 或 B)。

其他 Actor

更多原生面向 Agent 的数据 Actor 即将登陆 Apify Store。关注作者主页,及时了解新的 Agent 数据新鲜度工具。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。