Libsrc Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Libsrc Mcp (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server that resolves project dependencies and provides local source code paths for AI agent inspection. It auto-detects the build system, resolves dependencies, looks up source repositories, clones them, and checks out the correct version as a git worktree -- all in a single tool call.
AI coding agents work best when they can inspect the source code of libraries used in a project. But getting at those sources is harder than it should be:
-sources.jar is available, it has to be fetched separately and extracted. Python wheels contain bytecode and stripped metadata. In both cases, getting readable source into the agent's hands is needlessly hard.libsrc bridges this gap: one tool call turns a dependency name into a local path the agent can explore immediately.
pom.xml), Gradle (build.gradle, build.gradle.kts)pyproject.toml + poetry.lock), uv (pyproject.toml + uv.lock)Plain pip / requirements.txt is not supported (no reliable version resolution without a lock file).
# 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 installlibsrc-mcp install detects installed AI coding tools and adds the MCP server to their configs. Supported: Claude Code, Cursor, Windsurf, Codex CLI, Gemini CLI, JetBrains Junie, VS Code Copilot. Skips tools that aren't installed or already configured.
libsrc-mcp install
libsrc-mcp install --port 8080 # if using a non-default portCreate ~/.config/libsrc/config.yml (all fields optional):
# 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: 24libsrc-mcp serve
libsrc-mcp serve --port 8080mkdir -p ~/.config/systemd/user
cp systemd/libsrc-mcp.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now libsrc-mcpWorktrees not accessed for 7+ days are cleaned up automatically on server startup. Manual cleanup:
libsrc-mcp cleanupget_library_sources| Parameter | Type | Description |
|---|---|---|
project_dir | string | Absolute path to the project root directory. Build system is auto-detected. |
library_name | string? | Substring filter against full identifier (e.g. "hibernate" matches org.hibernate:hibernate-core:6.4.1). When omitted, lists dependencies without cloning. |
transitive | bool | Include transitive dependencies (default: false). |
Without `library_name`: returns the dependency listing for discovery. With `library_name`: resolves source repos, clones, creates version worktrees, returns local paths.
Lock files are preferred when available, CLI tools are the fallback:
| Ecosystem | Lock File (preferred) | CLI Fallback |
|---|---|---|
| Maven | — | mvnw dependency:tree -DoutputType=json |
| Gradle | — | gradlew dependencies --configuration runtimeClasspath |
| Poetry | poetry.lock (TOML) | poetry show --tree |
| uv | uv.lock (TOML) | uv tree |
Build tool wrappers are preferred: mvnw > mvn, gradlew > gradle.
Layered approach (first match wins):
<scm> element; PyPI JSON API project_urls.com.github.*), package name matching.<output_dir>/<hostname>/<owner>/<repo>git fetch --all --tags before each tag lookup<clone_path>.versions/<version> (enables parallel agents on different versions)v{ver}, {ver}, release-{ver}, {artifact}-{ver}, suffix/contains fallback.Final, .RELEASE, .GA) for projects that omit them from tagsfcntl.flock) for concurrent safety~/.cache/libsrc/deps/ keyed by content hash of all build/lock files (invalidates on any file change)~/.cache/libsrc/depsdev/ with configurable TTL~/.cache/libsrc/worktree-access.json for LRU cleanupclaude mcp add libsrc --transport http http://127.0.0.1:7890/mcp.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" }
}
}See docs/mcp-auto-install.md for tool-specific config details (Cursor, Windsurf, Gemini CLI, Codex CLI, Cline, Continue.dev, JetBrains Junie).
Version is derived automatically from git tags via hatch-vcs — no manual version bumping needed.
git tag v<version>
git push origin v<version>The publish.yml GitHub Action builds and publishes to PyPI automatically via trusted publishing.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.