mcpField
W
whichlib

whichlib

远程服务
whichlib.com开发工具0今天更新

关于 whichlib

whichlib 是面向编码 Agent 的 MCP 服务,可搜索、比较并评分 GitHub 仓库,帮助选择依赖。评分明示热度、维护、采用情况和许可证等依据。

主要功能

  1. 01按需求推荐仓库
  2. 02并排比较仓库
  3. 03查找并评分趋势仓库
  4. 04展示评分明细和结论

适用场景

  1. 01按项目需求选择库
  2. 02采用前比较候选仓库
  3. 03按语言查找新兴趋势仓库

MCP 相关

它向 MCP 客户端提供 recommend_repos、compare_repos 和 trending_repos 三种工具,可通过 stdio 本地运行或使用托管 HTTP 服务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://whichlib.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://whichlib.com/mcp需要授权
安装包
npmwhichlib0.2.4

工具

3
参数类型必填说明
needstring是用通俗语言描述需求,例如 "python pdf parser"、"react state management"。说明要完成的任务,而不是库名。
limitinteger否要返回的仓库数量,范围为 1-10。
languagestring否GitHub 语言名称,例如 "TypeScript"、"Python"、"Rust"、"C++"。JavaScript 也会匹配 TypeScript 仓库,反之亦然;Python 也会匹配 Jupyter Notebook。省略则搜索所有语言。

详细介绍

whichlib

面向编码 Agent 的依赖选择器。询问该使用哪个库,即可获得经过评分和验证的答案,而不是猜测。

whichlib 是一款包含三个工具的 MCP 服务。它使用 MCP 2026-07-28;旧版客户端也能继续使用。它返回的每个仓库都附带透明的 0–100 分评分(活跃势头、维护情况、采用度,包括 npm 和 PyPI 下载量、许可证)、等级、一句话评价和完整评分细目,因此 Agent 可以说明选择理由,你也能了解背后的原因。

面向团队(候补名单): 当你的仓库使用的依赖变得陈旧时收到提醒,并设置团队编码 Agent 添加依赖时必须遵守的规则。为 候补名单议题点一个 👍;达到 20 人报名后就会开发。whichlib 本身将保持免费。

安装

Claude Code:

claude mcp add whichlib -- npx -y whichlib

Cursor、Windsurf 和其他 MCP 客户端:

{ "mcpServers": { "whichlib": { "command": "npx", "args": ["-y", "whichlib"] } } }

需要 Node 22 或更高版本。无需账户或 API 密钥。

无需安装即可使用(托管版,无需 Node):

claude mcp add --transport http whichlib https://whichlib.com/mcp

使用限制和 Web API:https://whichlib.com/docs/

工具

工具提问返回内容
recommend_repos用通俗语言描述 need,可选填 language,limit 为 1–10最符合需求的仓库,按匹配度(评分 × 相关性)排序,并为每个仓库提供下载量和评价
compare_reposrepos:2–10 个 owner/repo 格式的名称并排列出各个仓库,最佳者排在最前,附带相同的评分细目
trending_reposperiod:day / week / month / rising,可选填 language 和 limit指定时间段内获得星标最多的仓库,并附带评分;rising:按本周新增星标数列出任意创建时间的仓库

例如,在 Claude Code 中询问:“我该使用哪个 Python PDF 解析器?”→ MinerU、pdfplumber、pypdf,并附带评分、每周下载量以及类似“快速增长,每周 26k 次下载,3 天前推送,Apache-2.0”的评价。

评分

部分权重依据
活跃势头40%7 天内新增的星标数(有每日星标数时使用),否则按创建以来的每日星标数计算;已知 npm / PyPI 下载趋势时会按其调整(0.5–2 倍)。采用对数刻度。
维护情况25%距上次推送的天数;30 天内得满分,一年后得 0 分。广泛使用的仓库(10k+ 星标或每周 100k+ 次下载)得分不会低于一半。
采用度25%星标、分叉数以及 npm / PyPI 每周下载量,采用对数刻度。
许可证10%宽松许可证 1.0,弱著佐权 0.75,强著佐权 0.5,无许可证 0。

等级:Strong ≥ 75,Solid ≥ 50,Watch ≥ 25,Avoid;创建时间不足 30 天的仓库会标记为 New(“太新,无法判断”),不受其评分影响。已归档仓库的评分上限为 20。在包含 20 项需求的评测中,排名第一的推荐有 75% 的概率被接受为答案,排名前五的推荐则 100% 包含一个被接受的答案;评测及其报告保存在该仓库中。

环境变量(全部可选)

  • GITHUB_TOKEN:将 GitHub 搜索限额从每分钟 10 次提高到 30 次。无需任何权限的细粒度令牌即可。每次推荐会执行三次搜索。
  • WHICHLIB_HISTORY=off:不下载每日星标数。默认情况下,服务会在后台将最近 10 天的数据保存在 ~/.whichlib/stars/,并且每 12 小时最多从 raw.githubusercontent.com 刷新一次,因此活跃势头评分会使用前 1,000 个仓库(按语言划分)和新晋热门仓库的实际每周新增星标数。下载过程中不会发送任何数据。
  • FRESH_REPOS_DATA_DIR:改用包含每日快照或星标数的文件夹(参见仓库的数据分支)。
  • WHICHLIB_TELEMETRY=off 或 DO_NOT_TRACK=1:禁用匿名调用计数。计数内容:工具名称、随机安装 ID、版本、平台、Node 主版本,以及调用所用的 MCP 协议版本。绝不会记录查询、仓库名称或结果。 汇总数据公开于 https://whichlib-telemetry.todorovskijosif.workers.dev/stats。

源代码、仪表板、数据

代码库:https://github.com/josifb/whichlib(MIT)。其中还包含 Fresh Repos 仪表板(按日/周/月展示星标最多的新代码库,支持排序,单个 HTML 文件)、每夜快照和数据丰富任务、推荐评估,以及 80 多个单元测试。

在代码库的 whichlib/ 文件夹中进行开发:

npm test           # unit tests, no network
npm run mcp:smoke  # start the server over stdio and call every tool live
npm run eval       # 20-need recommendation eval (set GITHUB_TOKEN)
npm run snapshot   # today's top repos per period and language -> data/snapshots/
npm run enrich     # add npm / PyPI packages and weekly downloads to the latest snapshot
npm run score      # top repos from the latest snapshot with score and verdict
npm run pull-data  # copy snapshots from the data branch

目录结构:

mcp/server.mjs         MCP entry (stdio)        mcp/tools.mjs       tool logic
mcp/expand.mjs         query expansion          mcp/telemetry.mjs   anonymous call counting
mcp/github-api.mjs     GitHub client + cache    mcp/data.mjs        snapshot history provider
mcp/eval/              needs, metrics, runner, inspect, results/
lib/score.js           the score, shared by browser and Node
snapshot/src/          query, normalize, github, registry, enrich, history, run, score-report, pull-data
dashboard/index.html   redirect to whichlib.com/repos (Fresh Repos)

评论

支持 Markdown

第一次接触 MCP?

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

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