Labsco
Lipdog logo

Fossick

β˜… 3

from Lipdog

Search all of GitHub from your AI agent β€” find libraries, drill into repos, find code patterns.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup
<div align="center"> <img src="assets/logo.png" alt="Fossick" width="220" /> <h3>Prospect across all of GitHub from your AI agent.</h3> <p><strong>Find libraries, discover gems, search code patterns, and read real production code β€” across 200M+ repos, PyPI, and npm.</strong></p> <p> <a href="https://pypi.org/project/fossick-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/fossick-mcp?color=blue&label=pypi"></a> <a href="https://pypi.org/project/fossick-mcp/"><img alt="Downloads" src="https://img.shields.io/pypi/dm/fossick-mcp?color=blue"></a> <a href="https://github.com/Lipdog/fossick-mcp/actions/workflows/test.yml"><img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/Lipdog/fossick-mcp/test.yml?branch=main&label=tests"></a> <a href="https://github.com/Lipdog/fossick-mcp/commits/main"><img alt="Last commit" src="https://img.shields.io/github/last-commit/Lipdog/fossick-mcp?color=blue"></a> <a href="./LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-green"></a> <a href="https://www.python.org/"><img alt="Python 3.11+" src="https://img.shields.io/badge/python-3.11+-blue"></a> <a href="https://modelcontextprotocol.io/"><img alt="MCP Protocol" src="https://img.shields.io/badge/MCP-1.0-orange"></a> </p> <p> <a href="https://cursor.com/en/install-mcp?name=fossick&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJmb3NzaWNrLW1jcCJdfQ%3D%3D"><img alt="Install in Cursor" src="https://cursor.com/deeplink/mcp-install-dark.svg"></a> <a href="https://insiders.vscode.dev/redirect/mcp/install?name=fossick&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22fossick-mcp%22%5D%7D"><img alt="Install in VS Code" src="https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white"></a> </p> </div>

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:

  1. 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.
  2. 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.
  3. 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 in crates/?"
  • "Read the main __init__.py from pydantic/pydantic."
  • "Where is the Stream class defined in anthropics/anthropic-sdk-python?"
  • "What's the latest release of modelcontextprotocol/python-sdk and when did it ship?"

Find code patterns in the wild

  • "How do production FastAPI apps actually set up structured logging with structlog and asyncio?"
  • "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 requests library still maintained?"
  • "Compare freshness of httpx vs aiohttp β€” last release dates, recent activity."
  • "Who actually uses msgspec? Show me real usage in production codebases."
  • "Find the GitHub repo behind the polars PyPI package and check its last release."

Tools

Seven read-only tools, organized by their role in the discovery workflow.

Find candidates

ToolWhat it does
search_reposDiscover repositories by topic, stars, language, recency, or trending. Pass multiple query phrasings in one call for better recall.
search_packagesDirect lookup on PyPI or npm by package name. Returns version, description, links, and GitHub repo URL.

Evaluate a candidate

ToolWhat it does
repo_treeBrowse a repo's file layout with depth and glob filtering.
get_fileRead any file at any branch, tag, or commit.
find_symbolGoto-definition via real AST queries β€” find where a class, function, or type is actually declared, not just substring-matched.
list_tagsView tags and recent releases. The fastest "is this still maintained?" check.

Search code across GitHub

ToolWhat it does
search_codeFull-text search across every public file on GitHub. Supports repo:, language:, path:, boolean operators, and regex. Find real-world usage patterns, config examples, or anything else in the world's largest code corpus.

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_repos accepts 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 gh users. 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).

Development

Prerequisites

  • Python 3.11+
  • uv

Setup

git clone https://github.com/Lipdog/fossick-mcp.git
cd fossick-mcp
uv sync

Run

Launch the MCP server on stdio (for manual testing or local MCP-client config):

uv run fossick-mcp

Test

Unit and registration tests β€” no network, runs in seconds:

uv run pytest

Live integration tests β€” hits real GitHub against pinned modelcontextprotocol/python-sdk@v1.14.0:

uv run pytest -m live

Build

uv 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.