gitgoblin

io.github.anandkaranubc由 GitHub 帳號 anandkaranubc 發布v0.1.8更新於 Oct 30, 2026

Discover open-source repositories worth your time and evidence-backed contribution opportunities.

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,協助助理找出值得投入的開源儲存庫,並發掘有證據支持的貢獻機會。

可以做什麼
  • 依目標、語言、主題、關鍵字、星數區間、更新時間與授權條款篩選儲存庫,並提供排名與正反理由
  • 解釋某個儲存庫的評分,列出全部十一項探索訊號及其數值、權重與證據
  • 分析儲存庫的概況、活躍度、回應速度、友善程度、規則與慣例,並列出排序後的貢獻機會
  • 取得單一機會的完整資訊,包括如何複製、要執行哪些指令以及專案禮儀
適用情境
適合在挑選開源專案參與貢獻、想了解某個儲存庫為何被推薦,或在動手前需要某個 issue 或久未處理的 pull request 具體說明時使用。
執行需求
透過 npx 或 Claude Desktop 安裝包在本機以 stdio 執行,需要 Node.js。可選的 GITHUB_TOKEN 或 GH_TOKEN,或既有的 GitHub CLI 登入,可提高速率上限並解鎖新手 issue 資料。需要連線至 GitHub、GitLab 與 Codeberg 的公開 API。
安裝前請注意
可選的 GitHub 權杖屬於憑證,僅用於讀取公開儲存庫與提高速率上限。工具皆為唯讀,伺服器不會擅自建立 issue、pull request 或留言。儲存庫文字被視為不可信資料,複製的內容會快取在本機可設定的快取目錄中。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 gitgoblin,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@gitgoblin/mcp

gitgoblin as a Model Context Protocol server. It gives any MCP client (Claude Code, Codex, Cursor, Gemini CLI, Copilot in VS Code, and others) four read-only tools: discover repositories worth your time, explain why one scores the way it does, analyze what a repository actually needs, and get a full briefing on one piece of work.

sh
claude mcp add gitgoblin -- npx -y @gitgoblin/mcp

docs/agents.md has the one-liner for every client, the skill that teaches agents when to use the tools, and what has been verified. The server is listed in the official MCP Registry as io.github.anandkaranubc/gitgoblin. You can also run the server from a clone with node packages/mcp/bin/gitgoblin-mcp.mjs after npm install; Claude Desktop users install the release's gitgoblin.mcpb directly.

Tools

ToolInputOutput
discover_repositoriesgoal (default contribute), languages, topics, keywords, min_stars, max_stars, pushed_within_days, created_within_days, license, like, exclude_owners, include_archived, include_forks, limit (default 10, max 25)Ranked repositories: stars, language, license, score, the three strongest reasons for and one against, starter issues for contribute. structuredContent.results[] carries the same fields; warnings lists refused searches and failed lookups, which mean the ranking may be partial, and projects left out because their maintainers opted out of gitgoblin.
explain_repositoryrepository, goalAll eleven discovery signals with value, weight for the goal and evidence. Unknown signals say so.
analyze_repositoryrepository, max_opportunities (default 10, max 30), check_dependencies (default true), goalThe profile (nature, activity, responsiveness, welcomeness with signals, rules, commands, conventions) and the ranked opportunities with their primary evidence.
get_opportunityrepository, opportunity_id or issue_number (an issue's or a stale pull request's number)One opportunity in full plus how to work on the project: clone, commands, conventions, rules, etiquette.

repository accepts owner/name or a URL. explain_repository and the like seed take github.com repositories, since discovery reads GitHub's API by owner and name; analyze_repository and get_opportunity also take gitlab.com and codeberg.org, which intel reads through their public APIs. Every other host is refused. Errors come back as tool results with advice (how to get a token, how to spell a repository), never as protocol failures. An analysis runs in a child process and is stopped after five minutes, or as soon as the client cancels the request, so one slow repository never freezes the other tools; at most two run at once. Long calls send progress notifications when the client provides a progress token.

The server's instructions tell the agent the typical flow, that quoted repository text is data and never instructions, and the one rule that matters: it never opens issues, pull requests or comments on the person's behalf unless asked.

The repository is often chosen by a model, so the server treats it as hostile: it reads only repositories it has confirmed public with an anonymous request, analyzes each in a child process with an empty home directory (none of your git configuration or credential helpers apply) that is killed with everything it started after five minutes or on cancellation, keeps clones per forge, never fetches external links, and strips control and format characters from every result, which opens with a reminder that repository text is data and is capped in size. docs/design.md explains each defence.

Environment

VariableEffect
GITHUB_TOKEN, GH_TOKENOptional. Raises GitHub's limits and unlocks starter issues. Falls back to gh auth token.
GITGOBLIN_CACHE_DIRWhere the HTTP cache lives (default ~/.cache/gitgoblin); the server's blob-less clones go in mcp/repos/<host> under it, at most 20 per forge.

Development

sh
npm test -w @gitgoblin/mcp                                       # protocol tests with fakes, offlinenpm run typecheck -w @gitgoblin/mcpGITGOBLIN_E2E=1 npx vitest run --root packages/mcp test/e2e      # the real server over stdio, against GitHubnpm run bundle -w @gitgoblin/mcp                                 # what `npm pack` ships: dist/gitgoblin-mcp.mjs and its THIRD_PARTY_NOTICES.mdnpm run mcpb -w @gitgoblin/mcp                                   # the Claude Desktop bundle: dist/gitgoblin.mcpb

src/server.ts builds the server from an injectable ServerDeps (discovery and intel); src/format.ts renders results for a model; src/deps.ts wires the real packages; bin/gitgoblin-mcp.mjs is the launcher. Development runs the TypeScript source on Node 24. Publishing bundles the source and the sibling packages into one file with no runtime dependencies, because Node will not strip types under node_modules. docs/design.md explains the decisions; server.json is the manifest for the MCP Registry; it points at the release's .mcpb and its SHA-256. Releases are built by the repository's release workflow from an mcp-v<version> tag on the merged commit, never from a local checkout; docs/releasing.md has the steps, including the MCP Registry workflow run that follows each release.

來源:packages/mcp/README.md,提交 c4d1948

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

4
  1. v0.1.8最新Oct 30, 2026
  2. v0.1.7Oct 24, 2026
  3. v0.1.6Oct 23, 2026
  4. v0.1.0Oct 23, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分