Evidence-backed open-source project search, recommendations, alternatives, and comparisons.
MCPpedia last refreshed this data
io.github.haocn-ops/git-top is an MCP server that evidence-backed open-source project search, recommendations, alternatives, and comparisons. Its tool list has not been published yet over http, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-haocn-ops-git-top": {
"args": [
"-y",
"pnpm"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Evidence-backed open-source project search, recommendations, alternatives, and comparisons.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
pnpm: Virtual store linker path traversal via unvalidated depPath name in lockfileToDepGraph
## Summary The virtual store linker constructs package installation directories using `path.join(modules, pkgName)` where `pkgName` is extracted from lockfile `packages` keys via `dp.parse(depPath).name` without validation. A crafted `pnpm-lock.yaml` with traversal sequences in depPath keys (e.g., `../../../tmp/pwned@1.0.0`) causes package content to be written to arbitrary filesystem paths during `pnpm install`. This is an incomplete fix of GHSA-fr4h-3cph-29xv — the `safeJoinModulesDir` conta
pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install
## Summary When resolving a package, pnpm uses the resolved **manifest `name`** as a raw path segment for the isolated-linker import target. A tarball dependency whose `package.json` `name` is a scoped path traversal (`@x/../../…/<abs path>`) is therefore extracted **outside `node_modules`**, to an attacker-chosen absolute path, and can **overwrite existing files** there. Attacker controls the destination, filenames, and contents → arbitrary file write → **code execution** (e.g. `~/.zshrc`, `.gi
pnpm: Environment secrets exfiltrated via env-placeholder expansion in proxy settings read from an untrusted pnpm-workspace.yaml
## Summary pnpm expands `${VAR}` environment placeholders in the `httpProxy` / `httpsProxy` / `noProxy` settings read from a project's `pnpm-workspace.yaml`. Because a project manifest is repository-controlled, a malicious repository that a victim merely clones and runs `pnpm install` in can route all install traffic through an attacker proxy whose hostname or userinfo embeds — and thereby exfiltrates — an environment secret such as `NPM_TOKEN` or `GITHUB_TOKEN`. This bypasses a trust boundary
pnpm: Environment secrets exfiltrated via env-placeholder expansion in proxy settings read from an untrusted pnpm-workspace.yaml
## Summary pnpm expands `${VAR}` environment placeholders in the `httpProxy` / `httpsProxy` / `noProxy` settings read from a project's `pnpm-workspace.yaml`. Because a project manifest is repository-controlled, a malicious repository that a victim merely clones and runs `pnpm install` in can route all install traffic through an attacker proxy whose hostname or userinfo embeds — and thereby exfiltrates — an environment secret such as `NPM_TOKEN` or `GITHUB_TOKEN`. This bypasses a trust boundary
pnpm: pacquet trust-lockfile install can create dependency symlinks outside the project
## Summary A crafted lockfile alias could reach several install-time filesystem joins. With `--trust-lockfile` or a frozen lockfile, traversal segments could create links outside the intended project or `node_modules` boundary. This patch validates dependency names and every virtual-store slot before creating directories, links, bins, or hoisted entries. ## Security boundary - A shared safe-join helper rejects traversal, absolute, platform-specific, and reserved dependency names before filesy
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
The missing developer UI for Spring Boot and Quarkus!
MCP Security Weekly
Get CVE alerts and security updates for io.github.haocn-ops/git-top and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The Knowledge Graph of Open Source.
GitHub provides code. Git.Top provides knowledge.
Git.Top turns unstructured GitHub repository data into structured project knowledge that humans and AI agents can search, compare, recommend, score, and call through REST APIs or MCP tools.
The Cloudflare Worker is the only product surface. It serves the human HTML pages, REST APIs, MCP endpoint, GitHub sync, and D1-backed knowledge data.
Production: git.top
Repository: github.com/haocn-ops/git-top
Use the focused MCP profile for the shortest first connection:
codex mcp add git-top --url https://git.top/mcp/core
claude mcp add --transport http --scope user git-top https://git.top/mcp/core
Then ask your agent:
Use Git.Top to recommend three open-source browser-agent projects for Docker, then cite the data source and one caveat for each.
Full setup, client status, and REST alternatives: git.top/connect.
Dated compatibility evidence and the distinction between configuration verification and real-client support: git.top/compatibility.
Registry-ready copy, profiles, privacy boundaries, campaign links, and submission status: git.top/distribution.json. An installable REST-first Agent Skill is available at skills/git-top-project-selection.
llms.txt, llms-full.txt, and MCP surfaces./discover - browse AI agents, MCP servers, RAG, browser automation, and AI IDE projects./recommend - turn use cases and constraints into explainable project shortlists./compare - compare project shortlists./alternatives and /alternatives/:project - find replacement candidates./graph/:project - inspect project knowledge graphs./score/:project - explain project score dimensions./atlas - explore ecosystem maps./api/* - consume structured knowledge./mcp - connect agents through MCP./mcp/core - connect a focused five-tool MCP profile for first-time use.GitHub API
-> Git.Top ETL
-> Cloudflare D1
-> Worker pages, REST APIs, MCP tools, sync jobs, and quality gates
The project intentionally does not ship a separate Next.js app. Keeping Worker-rendered pages, APIs, sync, D1 access, OpenAPI, and MCP in one runtime avoids split product behavior.