
Fossick
io.github.Lipdog由 GitHub 帳號 Lipdog 發布v0.1.4更新於 Oct 24, 2026
Search all of GitHub from your AI agent — find libraries, drill into repos, find code patterns.
概覽
一個本機 MCP 伺服器,讓 AI 助理搜尋 GitHub、PyPI 和 npm,不必複製即可瀏覽遠端儲存庫並查找程式碼用法。
- 可以做什麼
- 依主題、星號、語言或時間搜尋儲存庫,並依名稱查詢 PyPI 和 npm 上的套件,回傳版本、說明、連結和儲存庫網址。依深度和 glob 篩選瀏覽遠端儲存庫的檔案結構,讀取任意分支、標籤或提交中的檔案,並找出類別、函式或型別實際宣告的位置。列出標籤和近期發行,判斷專案是否仍在維護。在 GitHub 公開檔案中進行全文、限定詞和正規表達式程式碼搜尋,查看真實用法。所有工具皆為唯讀,回應中附有建議的下一步。
- 適用情境
- 適合在挑選函式庫或相依套件時,不只看熱門程度而想了解替代方案、更新情況和真實用法;適合在不複製儲存庫的情況下檢視其結構或 API;也適合查找某個 API 或模式在正式程式碼中的實際範例。
- 執行需求
- 以 PyPI 套件形式透過 stdio 在本機執行,通常用 uvx 啟動,因此需要 uv(或 Python 3.11+ 與 pip)。實際上需要 GitHub 權杖:從 GH_TOKEN、GITHUB_TOKEN 或 GITHUB_PERSONAL_ACCESS_TOKEN 讀取,或沿用已登入的 GitHub CLI。需要連線至 GitHub、PyPI 和 npm 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Fossick,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Prospect across all of GitHub from your AI agent.
Find libraries, discover gems, search code patterns, and read real production code — across 200M+ repos, PyPI, and npm.
[PyPI] [Downloads] [Tests] [Last commit] [MIT License] [Python 3.11+] [MCP Protocol]
Contents
What is Fossick
fossick /ˈfɒsɪk/ verb (Australian/NZ) — to prospect or rummage for gems, especially the small-scale kind of mining where you sift creek beds and old tailings looking for what bigger operators missed.
That's exactly what this tool does — but for code.
Fossick gives your AI agent seven read-only tools to prospect across all of GitHub, PyPI, and npm, covering the full discovery loop end-to-end:
- Search and discover. Sift 200M+ repos with multi-query relevance ranking, find the small-but-good libraries that bigger tools bury, look up packages on PyPI and npm.
- Drill into any repo without cloning. Browse a remote repo's tree with depth and glob filters, read any file at any branch/tag/commit, and goto-definition for any class, function, or type — all on remote GitHub, no local checkout needed.
- Search code patterns across all of GitHub. Full-text, regex, qualifier-aware search across every public file — find how an API is actually used in production, not just in the docs.
Useful any time you'd benefit from your agent reaching into the world's largest code corpus:
- Pick the right library. Find a small, focused, actively-maintained option for any task — not just the most popular one.
- Discover hidden gems. Surface the 500-star library that ranks higher on relevance than the 50,000-star incumbent.
- Drill into a repo you found. Walk its layout, read its README, find where its core API is defined — without
git clone. - Find usage patterns in real code. Search how an API is called in production, then read the matched files in context.
- Get inspired. See how others structured similar projects, what patterns they used, what tradeoffs they made.
- Stay current. Discover what's trending, just-released, or new in an ecosystem — past your model's training cutoff.
It does not do code archaeology — git blame, PR history, version diffs. Reach for git and gh for that.
Examples
Once Fossick is connected, here's the kind of thing you can ask your agent.
Discover libraries and packages
- "Find me a small, actively-maintained Rust TUI library — something newer than ratatui."
- "What are people using instead of LangChain these days?"
- "Show me trending Python web frameworks released in the last 90 days."
- "What's a good lightweight alternative to Pydantic for runtime validation?"
Drill into a specific repo
- "Browse the structure of
astral-sh/uv— what's incrates/?" - "Read the main
__init__.pyfrompydantic/pydantic." - "Where is the
Streamclass defined inanthropics/anthropic-sdk-python?" - "What's the latest release of
modelcontextprotocol/python-sdkand when did it ship?"
Find code patterns in the wild
- "How do production FastAPI apps actually set up structured logging with
structlogandasyncio?" - "Show me real examples of
tokio::select!being used with timeout cancellation." - "Find Dockerfiles that build multi-stage Python images with
uv." - "How are people calling the OpenAI API streaming endpoint from Go?"
Vet a dependency before adopting it
- "Is the
requestslibrary still maintained?" - "Compare freshness of
httpxvsaiohttp— last release dates, recent activity." - "Who actually uses
msgspec? Show me real usage in production codebases." - "Find the GitHub repo behind the
polarsPyPI package and check its last release."
Installation
Prerequisite: uv — install with
curl -LsSf https://astral.sh/uv/install.sh | sh. Thenuvxwill download and run Fossick on demand. No clone needed.
Claude Code
Three install scopes. Pick the one that matches how you want Fossick to be available — globally, shared with your team, or just for you in one project. The scope flag controls where the config gets written (Claude Code MCP scopes).
Global (recommended for personal use)
Available in every project on your machine. Stored in ~/.claude.json, private to your user account.
Team-shared (committed to git)
Stored in .mcp.json at the project root, checked into version control. Anyone who clones the repo gets the same MCP server. Use this when the whole team should have Fossick.
This project only (default)
Local scope is the default. Only enabled in the current project, only for you. Stored in ~/.claude.json under this project's path — not committed, not shared with collaborators.
Manual install
If you'd rather skip the CLI, write the config yourself. The JSON shape is the same regardless of scope — only the file changes:
~/.claude.jsonfor user / local scope.mcp.json(project root) for project scope
Other clients
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart Claude Desktop after saving.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
Cline
Edit cline_mcp_settings.json via the Cline extension's MCP settings panel:
Codex
Or edit ~/.codex/config.toml:
From source (development)
Then point your MCP config at the local clone:
Tools
Seven read-only tools, organized by their role in the discovery workflow.
Find candidates
Evaluate a candidate
Search code across GitHub
All tools are read-only, idempotent, and safe to auto-approve. Every response ends with hint-chained next steps so the agent knows what to do next.
Why Fossick
- Built for the discovery workflow. Tools follow the natural shape: find candidate → drill into it → read the API → see how others use it. Hint-chained next-step suggestions keep your agent on rails through the whole loop.
- Drill into any public repo without cloning. Browse remote repo trees with depth + glob filters, read any file at any branch/tag/commit, and run real AST-based symbol search to goto-definition for any class, function, or type — all on remote GitHub.
- Multi-query search with smart ranking.
search_reposaccepts a list of phrasings in one call and applies composite relevance ranking that prioritizes literal match over raw popularity — surfaces the 500-star gem that beats the 50,000-star incumbent. - Lean on tokens by design. 7 focused tools (not 30+), formatted-markdown outputs (not JSON dumps), TTL caching, hint chaining that cuts agent reasoning turns, and multi-query search that bundles N requests into 1. Every tool description and response is sized to keep your context budget free for real work.
- Rate-limit aware. Tracks GitHub's Search and Core API buckets separately, sleeps on exhaustion, retries with exponential backoff.
- Zero config for
ghusers. Already have the GitHub CLI authenticated? Nothing to configure. - Plays well with others. Read-only, idempotent, safe to auto-approve. Pair Fossick with github-mcp-server when you also need to act on your own repos (issues, PRs, Actions).
FAQ
Do I need a GitHub token?
Yes — without one you'll hit GitHub's 60-requests-per-hour unauthenticated limit almost immediately. The easiest path is to install the GitHub CLI and run gh auth login once. Fossick picks up your token automatically. No need to pass anything in the MCP config.
Why uvx instead of pip install?
uvx runs Fossick in a transient, isolated environment without polluting your global Python. It downloads on first use, caches for subsequent runs, and updates effortlessly. You also don't need to manage a virtualenv or worry about Python version conflicts. If you'd rather use pip, pip install fossick-mcp works — just point your MCP client at the installed fossick-mcp binary.
Does Fossick use my GitHub API quota?
Yes. Every search, file fetch, and tag list counts against your token's rate limits. Fossick splits requests across two buckets — Search API (30/min) and Core API (5,000/hr) — and pauses automatically when either is exhausted. For most discovery sessions you'll never hit the limits.
Will it work with MCP client X?
If your client supports the standard MCP stdio transport, yes. The standard uvx fossick-mcp config works in Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Cline, Codex, and most others. See the Installation section for client-specific snippets.
Does Fossick search private repos?
Only those your GitHub token can access. The token's permissions are the only constraint — Fossick doesn't have its own ACL layer. If your token can read a private repo, Fossick can search it; if not, it can't.
Why doesn't it do git blame / PR history / version diffs?
Deliberate scope decision. Code archaeology (who changed what, why, when) is a different shape of problem and is well-served by git and the gh CLI. Fossick stays focused on the discovery workflow — finding and evaluating, not investigating.
How fresh is the data?
Live from GitHub on every request. Fossick caches results briefly to avoid hammering the API on repeated identical calls, with longer TTLs for content pinned to a specific commit SHA. Anything past the TTL is a fresh fetch.
Configuration
Authentication
Fossick resolves a GitHub token automatically:
GH_TOKEN,GITHUB_TOKEN, orGITHUB_PERSONAL_ACCESS_TOKENenv varsgh auth tokenfrom the GitHub CLI — no config needed if you're already logged in
To pass a token explicitly:
A token only needs public repo read access (no scopes selected is fine).
Rate limits
Fossick tracks both GitHub API buckets and pauses automatically when either is exhausted.
Retries use exponential backoff on rate-limited and transient errors. Results are cached briefly to avoid redundant API calls, with longer TTLs for content pinned to a specific commit SHA.
Development
Prerequisites
- Python 3.11+
- uv
Setup
Run
Launch the MCP server on stdio (for manual testing or local MCP-client config):
Test
Unit and registration tests — no network, runs in seconds:
Live integration tests — hits real GitHub against pinned modelcontextprotocol/[email protected]:
Build
Produces dist/fossick_mcp-<version>.tar.gz and the corresponding wheel.
Architecture
See CLAUDE.md for the full architecture tour, key patterns, and the recipe for adding new tools.
Star history
[Star History Chart]License
MIT — fossick away.
來源:README.md,提交 67ebe93
工具
0版本歷史
1- v0.1.4最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分