All MCP Servers
Dev Tools & GitMCP RegistrynpmA · 84

Paparats MCP: Self-Hosted Semantic Code Search

io.github.IBazylchuk · Updated

Self-hosted semantic code search MCP for Claude Code & Cursor. Multi-repo, AST-aware, stays local.

At a glance

Paparats MCP: Self-Hosted Semantic Code Search is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y @paparats/cli`, and declares no required credentials. It scores A (84/100) on the MCP Skills Hub health score as of Oct 27, 2026.

Source 32GitHub stars

One-click install

Opens your editor and pre-fills the config. Your editor will ask before adding it.

How to install Paparats MCP: Self-Hosted Semantic Code Search in your AI client

Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.

How to install Paparats MCP: Self-Hosted Semantic Code Search in Claude CodeAnthropic's agentic CLI

  1. Add the server

    bash
    claude mcp add paparats-mcp -- npx -y @paparats/cli
  2. Verify it's connected

    bash
    claude mcp list
  3. Sharing it with your team?

    Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

  4. Use it in a session

    Ask Claude to use the tools this server exposes. It discovers them automatically.

What tools does Paparats MCP: Self-Hosted Semantic Code Search expose?

This server runs as a local package. We only query remote servers for their tool list — asking this one would mean executing it, so its tools are listed in the documentation below.

What the code can do

Read from the published package source — never executed. Parsed 17 of 17 source files.

This server can run other programs on your machine, read and write files and make network requests.

How it was published

  • No provenance attestation — there is nothing linking this published artifact to a specific source commit.
  • 1 npm maintainer — a single point of compromise · last published by ibazylchuk.

Maintainer of this package and think something here is wrong? Tell us and we'll correct it.

Before you install

Signals gathered from the source repo and package registry — not a safety verdict.

What it can reach

  • Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
  • Downloads at launch — The package is fetched from its registry each run unless you pin a version.
  • Last commit today — Actively maintained.
  • 32 GitHub stars — Community adoption signal.

Client compatibility

Claude Code: NativeClaude Desktop: NativeCursor: NativeCodex CLI: NativeWindsurf: NativeCline: NativeVS Code: Native

Health score

A · 84

Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated

  • Maintenance30%100%

    Last commit 0 days ago.

  • Adoption20%46%

    32 stars.

  • Transparency20%75%

    3/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✗ discoverable tool list.

  • Provenance15%100%

    Package and registry entry point at the same repository.

  • Packaging15%100%

    Publishes a pinned version (2.16.2).

Documentation

Full README

Paparats MCP: self-hosted semantic code search for AI coding agents

Paparats MCP is an open-source, self-hosted MCP server that gives Claude Code, Cursor, Codex, GitHub Copilot and any other MCP client semantic code search across many repositories: by meaning, with who calls what, and what a change will touch. It runs on your machine or your server in Docker, with local embedding models by default, so your code stays with you.

Your agent asks _"where do we retry failed payments?"_ and gets the few functions that do it, with file and line, instead of grepping and reading whole files. Before changing one, it asks what depends on it and gets the callers two steps out (up to three) and the tests that reach them.

With Paparats the agent answered 25% faster and read 23% fewer new tokens. Claude Code, the same question about this repository, without Paparats (left) and with it (right), at 5× speed. Averages over three runs each: 99 s against 74 s, 23% fewer new input tokens and 21% fewer output tokens. This repository is small, about 300 files. On large legacy codebases spread over many repositories, where I use Paparats every day, the difference is much bigger.

Quick start

You need Docker with Compose v2. Two files and one command:

bash
mkdir paparats && cd paparats
curl -fsSLO https://raw.githubusercontent.com/IBazylchuk/paparats-mcp/main/examples/docker-compose/docker-compose.yml
curl -fsSLO https://raw.githubusercontent.com/IBazylchuk/paparats-mcp/main/examples/docker-compose/projects.yml
docker compose up -d
claude mcp add --scope user --transport http paparats http://localhost:9876/mcp

projects.yml indexes this repository, so there is something to ask about right away (docker compose logs -f paparats-indexer shows the progress). Put your own GitHub repositories there; the file is reloaded on save, and private ones need GITHUB_TOKEN in a .env next to it. Any other MCP client takes the same URL, http://localhost:9876/mcp (setup for each).

Then ask your agent:

Search the codebase for where we handle failed payments, show me what calls it, and what would be affected if I changed it.

Without local models: download docker-compose.voyage.yml instead, put VOYAGE_API_KEY=... into .env and run docker compose -f docker-compose.voyage.yml up -d. Code is then sent to Voyage AI to be embedded, and the 2.3 GB of models are not needed.

With the CLI

Easier for folders on your machine (it mounts them for you) and on macOS, where the models run natively with Metal; in Docker on a Mac they only get the CPU. Needs Node.js 24+.

bash
npm install -g @paparats/cli
brew install llama.cpp mostlygeek/llama-swap/llama-swap   # macOS only: local models with Metal

paparats install            # starts the stack, connects Claude Code and Cursor
paparats add ~/code/my-app  # or `.`, or a GitHub repo: paparats add acme/widgets
paparats list               # wait until the project shows as indexed

Excerpt — the full document is on GitHub.

Maintain Paparats MCP: Self-Hosted Semantic Code Search? Add a badge to your README

Shows its health grade, and links readers to install steps for every client.

markdown
[![Paparats MCP: Self-Hosted Semantic Code Search on MCP Skills Hub](https://mcp-skills-hub.vercel.app/badge/io-github-ibazylchuk-paparats-mcp)](https://mcp-skills-hub.vercel.app/mcps/io-github-ibazylchuk-paparats-mcp)

Catalog data refreshed . Something wrong? Report it.