oss-search

io.github.sblattjPublished by GitHub account sblattjv0.3.2Updated Oct 30, 2026

Fast local and federated OSS code search and repo discovery for AI agents

Overview

AI-generated overview

Local MCP server for open-source discovery: search repos and code idioms, then inspect files, trees and docs.

What you can do
  • Search open-source repositories by topic, name or description, with ranked results including stars, license class and release info
  • Find repositories by distinctive code idioms or regex probes and rank them by how many probes they match
  • Get a pre-digested profile of one known repo: metadata, health verdicts, license class, README digest and architecture
  • List a whole repository's file tree in one path-filtered call
  • Read exact file contents, optionally by line range, and fetch project docs via llms.txt aggregates with source breadcrumbs
  • Return an on-demand playbook covering probe writing, query syntax, rate limits and which tool to use
When to use it
Useful when an assistant needs to answer "is there a tool for X", compare candidate open-source projects, or verify how a library implements an API idiom before adopting it. It suits vetting and drill-down work on public repositories rather than editing code.
Requirements
Runs as a local stdio process via npx (Node.js 18 or newer only bootstraps the binary); macOS or Linux on x64 or arm64. On first run it downloads a prebuilt Rust binary from GitHub Releases and caches it, so network access is needed. Remote backends such as GitHub code search are enabled with a --live flag and may use GITHUB_TOKEN; the cache location can be changed with OSS_SEARCH_CACHE_DIR.
Before you install
The first run downloads and executes a binary from GitHub Releases, verified against checksums.txt only when that file is present. Live mode sends queries to third-party services such as GitHub code search, grep.app and deps.dev, and a GITHUB_TOKEN may be needed for rate limits. The tools read public repository data only; no write actions are described.

Installation

In SourceWeft

  1. Open oss-search in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

oss-mcp (npm distribution)

npm/npx distribution of oss-search — fast local + federated OSS code search and repo discovery, exposing 7 MCP tools over stdio plus a byte-identical CLI.

This package contains no compiled code and has zero runtime dependencies. On first run, the oss-mcp shim downloads the prebuilt Rust binary for your platform from GitHub Releases, verifies it against the release's checksums.txt (when present), and caches it. Subsequent runs start instantly from the cache.

Requirements

  • Node.js >= 18 (only to bootstrap the binary)
  • macOS (x64, arm64) or Linux (x64, arm64)
  • A published release v<version> with assets named oss-search-<version>-<target>.tar.gz (containing the oss-mcp binary) and, optionally, checksums.txt

Run once

sh
npx oss-search            # speaks MCP over stdionpx oss-search --live     # enable remote backends (GitHub code search, grep.app, deps.dev, ...)

Install globally

sh
npm install -g oss-searchoss-mcp

Use with an MCP client

json
{  "mcpServers": {    "oss-search": {      "command": "npx",      "args": ["oss-mcp"]    }  }}

Or point directly at the cached binary (~/.cache/oss-search/bin/<version>-<target>/oss-mcp) to skip the Node shim entirely.

Cache

Binaries are cached at ~/.cache/oss-search/bin/<version>-<target>/oss-mcp. Override the location with the OSS_SEARCH_CACHE_DIR environment variable. Delete the cache to force a re-download.

For GITHUB_TOKEN-backed live search and other options, see the repository README.

License

MIT — see LICENSE.

Source: npm/oss-search/README.md at commit ef7cbc0

Tools

7

oss_search_repos

Find open-source repositories by topic, name, or description. Returns a ranked shortlist with pre-computed fitness evidence (stars, license class, last release, archived flag, one-line what-it-is, one-line the-catch) — not a link dump. Lead with this for 'is there a tool for X' questions; use oss_search_code when the capability is an implementation detail no README advertises.

Parameterssortlimitqueryrequiredtopiccursorfieldslanguagemin_starsresponse_format

oss_search_code

Find repos by distinctive code idioms, not marketing. Fires 2-5 orthogonal literal or /regex/ probes, aggregates hits PER REPO, and ranks by probe breadth (repos hitting several independent idioms outrank any star count). Use for: implementations of an API idiom, error string, or config key; finding peers of a known-good repo (steal its identifiers as probes). Do NOT use to test whether a category exists — probing your own idioms finds only clones; lead with oss_search_repos instead.

Parametersmodepathlimitcursorprobesrequiredlanguagerepo_filterexclude_knownresponse_formatsnippets_per_repo

oss_repo_profile

Pre-digested brief for ONE known repo: metadata, computed health verdicts, license compatibility class, README digest (<=1200 chars), top-level architecture from the file tree, release cadence, runtime-support evidence. Use instead of 5+ raw metadata calls; use oss_fetch_docs / oss_fetch_file to drill in.

Parametersreporequireddeep_docs

oss_repo_tree

Whole-repo file list in ONE call, path-filtered. ALWAYS call this before fetching any file whose path you are guessing — a 404 from a guessed path proves nothing. Response declares the total file count and returns up to `limit` paths with truncated/has_more set beyond.

Parametersrefglobreporequiredlimitpath_prefix

oss_fetch_file

Read one file's exact contents — byte-exact, never via a summarizer for opaque tokens, paths, or config keys. Prefer a line_range to keep payloads small; large files return the range plus total_lines.

Parametersrefpathrequiredreporequiredline_range

oss_fetch_docs

Fetch a project's docs the reliable way: resolve llms.txt / llms-full.txt aggregates, then return search hits WITH their 'Source: <url>' breadcrumbs so each hit maps back to its page. Falls back to raw docs/*.md and flags redirect-stub pages. One aggregate fetch replaces a dozen lossy page fetches.

Parametersreporequiredpatternrequireddocs_host

oss_guide

Returns the probe-writing and query-syntax playbook on demand: good vs bad probes, the backend regex support matrix, rate-limit traps, license-class meanings, and which tool answers which question (discovery vs vetting vs drill-down). Call once when unsure which oss_ tool to use.

Takes no parameters.

Version history

3
  1. v0.3.2LatestOct 21, 2026
  2. v0.3.1Oct 20, 2026
  3. v0.2.0Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts