Token导航 LogoToken导航TokenDH.com
Libsrc MCP logo
开发工具stdio官方级别未说明来源级核验

Libsrc MCP

MCP Server

libsrc是一个自动解决项目依赖并提供本地源码路径的工具,适用于AI代理检查源码。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
依赖管理版本控制PythonClaudeClaudeCursorWindsurfClineVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fprochazka

提供方

fprochazka

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx libsrc-mcp serve

详细介绍

libsrc

一个MCP服务器,用于解析项目依赖关系,并为AI代理检查提供本地源代码路径。它自动检测构建系统,解析依赖关系,查找源代码存储库,克隆它们,并作为git工作树签出正确的版本——所有这些都在一次工具调用中完成。

为什么

当AI编码代理能够检查项目中使用的库的源代码时,它们的工作效果最好。但要找到这些来源比应有的要困难得多:

  • 已发布的包是不透明的 --Java分发编译后的JAR,即使在 -sources.jar 如果可用,则必须单独提取。Python轮子包含字节码和剥离的元数据。在这两种情况下,将可读源代码交到代理手中都是不必要的困难。
  • 包失去上下文 --原始源代码存储库通常包含从已发布包中剥离的文档、示例和markdown文件。
  • 准确的版本很重要 --代理需要项目所依赖的精确版本,而不是“最新”或“足够接近”。libsrc从锁文件和构建工具中解析出确切的版本,然后检查出匹配的git标签。
  • 标准工具仅适用于克隆的存储库 --为代理提供git签出的本地路径,使其能够轻松、可预测地使用标准文件工具进行探索。没有JAR提取,没有归档解包,没有猜测——只是一个普通的源文件目录。
  • 平行友好 --每个版本都有自己的git工作树,因此多个代理(或跨任务的同一代理)可以同时检查同一库的不同版本,而不会发生冲突。

libsrc弥合了这一差距:一个工具调用将依赖项名称转换为代理可以立即探索的本地路径。

支持的生态系统

  • Java:Maven(pom.xml)Gradle(build.gradle, build.gradle.kts)
  • python:诗歌(pyproject.toml + poetry.lock),紫外线(pyproject.toml + uv.lock)

普通pip/ requirements.txt 不支持(没有锁定文件就没有可靠的版本解析)。

安装

# Install as a tool
uv tool install libsrc-mcp

# Or run directly without installing
uvx libsrc-mcp serve

# Auto-register in detected AI coding tools
libsrc-mcp install

自动安装到AI工具中

libsrc-mcp install 检测已安装的AI编码工具,并将MCP服务器添加到其配置中。支持:Claude Code、Cursor、Windsurf、Codex CLI、Gemini CLI、JetBrains Junie、VS Code Copilot。跳过未安装或已配置的工具。

libsrc-mcp install
libsrc-mcp install --port 8080  # if using a non-default port

配置

创建 ~/.config/libsrc/config.yml (所有字段均为可选):

# Directory where library sources are cloned (default: ~/devel/libs/)
output_dir: ~/devel/libs/

# HTTP server port (default: 7890)
port: 7890

# Trusted git hostings for cloning (default: github.com, gitlab.com)
trusted_hosts:
  - github.com
  - gitlab.com

# deps.dev API cache TTL in hours (default: 24)
deps_dev_cache_ttl: 24

用法

启动服务器

libsrc-mcp serve
libsrc-mcp serve --port 8080

系统服务(Linux)

mkdir -p ~/.config/systemd/user
cp systemd/libsrc-mcp.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now libsrc-mcp

工作树清理

服务器启动时,7天以上未访问的工作树会自动清理。手动清理:

libsrc-mcp cleanup

MCP工具: get_library_sources

参数类型说明
project_dirstring项目根目录的绝对路径。自动检测构建系统。
library_namestring?用完整标识符替换过滤器(例如。 "hibernate" 火柴 org.hibernate:hibernate-core:6.4.1).省略时,列出依赖项而不进行克隆。
transitivebool包括传递依赖关系(默认值: false).

没有 library_name: 返回用于查找的依赖关系列表。 随着 library_name: 解析源代码仓库,克隆,创建版本工作树,返回本地路径。

运作原理

依赖解析

锁定文件可用时是首选,CLI工具是备用:

生态系统锁定文件(首选)CLI回退
Maven--mvnw dependency:tree -DoutputType=json
Gradle--gradlew dependencies --configuration runtimeClasspath
诗歌poetry.lock (汤姆)poetry show --tree
紫外线uv.lock (汤姆)uv tree

首选构建工具包装器: mvnw > mvn, gradlew > gradle.

源存储库发现

分层策略(首场比赛获胜):

  1. deps.dev API --谷歌的统一包到仓库映射(Maven、PyPI、npm、Go等)。响应在本地缓存。
  2. 注册表回退 --Maven中央POM ` 元素;PyPI JSON API project_urls`.
  3. 启发法 --Maven组ID模式(com.github.*),包名称匹配。

克隆和工作树管理

  • 完整克隆到 ///
  • git fetch --all --tags 在每次标签查找之前
  • 版本工作树位于 .versions/ (在不同版本上启用并行代理)
  • 标签匹配:尝试 v{ver}, {ver}, release-{ver}, {artifact}-{ver},后缀/包含回退
  • 条带发布限定符(.Final, .RELEASE, .GA)对于在标签中省略它们的项目
  • Monrepo dedup:相同的repo+版本=一个跨工件共享的工作树
  • 基于文件的锁定(fcntl.flock)为了并发安全

缓存

  • 依赖缓存: ~/.cache/libsrc/deps/ 由所有构建/锁定文件的内容哈希键控(在任何文件更改时无效)
  • deps.dev缓存: ~/.cache/libsrc/depsdev/ 带可配置TTL
  • 工作树跟踪器: ~/.cache/libsrc/worktree-access.json 用于LRU清理

MCP客户端配置

克劳德代码

claude mcp add libsrc --transport http http://127.0.0.1:7890/mcp

VS代码副本(.vscode/mcp.json)

{
  "servers": {
    "libsrc": { "type": "http", "url": "http://127.0.0.1:7890/mcp" }
  }
}

其他工具

{
  "mcpServers": {
    "libsrc": { "type": "http", "url": "http://127.0.0.1:7890/mcp" }
  }
}

docs/mcp-auto-install.md 有关特定工具的配置详细信息(Cursor、Windsurf、Gemini CLI、Codex CLI、Cline、Continue.dev、JetBrains Junie)。

释放

版本是通过git标签自动导出的 hatch-vcs --不需要手动版本升级。

git tag v
git push origin v

publish.yml GitHub Action通过可信发布自动构建并发布到PyPI。

目录标签

目录标签

依赖管理版本控制PythonClaude本地部署源码解析AI开发工具构建系统

支持客户端

ClaudeCursorWindsurfClineVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP