Skip to main content

Seraph

Local code search and Git-aware code intelligence for coding agents. Seraph indexes a local Git checkout into a SQLite database and exposes search, symbol, dependency, history, and version comparison tools over MCP.

Install from a checkout

Requires Python 3.12 and Git. With uv:

uv tool install --from . seraph-mcp

For development directly from this directory:

uv sync
uv run seraph-mcp

The published package install, once released to PyPI, is:

python -m pip install seraph-mcp

Agent setup

Give your coding agent AGENT_SETUP.md. It explains how to install Seraph and register its local MCP server for that agent. MCP configuration differs by host, so the agent should use the host's own supported MCP setup mechanism rather than assume one universal config file.

Seraph runs on the user's machine. Each tool accepts repo, the absolute path to the local Git checkout to search. The agent should pass the active workspace path on every call; if asked about another checkout, pass that checkout's path. The index is stored at <repo>/.seraph/index.sqlite and ignored by Git.

MCP tools

  • search_code: retrieve relevant code from the selected checkout.
  • search_at_version: retrieve code from a commit, branch, or tag.
  • search_history: search indexed Git versions.
  • find_symbol: locate a function, class, or method.
  • find_dependencies: walk call, import, and inheritance relationships.
  • compare_versions: compare symbols, dependencies, and commits.
  • index_repository: explicitly index a Git version; searches index automatically when needed.

The default retrieval setup is local and needs no API key. Benchmark/evaluation code and submission assets are intentionally excluded from this slim distribution.

The default install uses BM25 and does not install Torch or download a model.

For BGE-Code-v1 or GTE-ModernBERT, opt in to the Transformers 4 extra:

python -m pip install 'seraph-mcp[cpu]'  # CPU / Apple Silicon
# or, on an NVIDIA CUDA machine:
python -m pip install 'seraph-mcp[gpu]'

Seraph downloads BGE-Code-v1 (about 6 GB) from Hugging Face the first time semantic search needs it. Hugging Face caches the files, so other repositories on that machine reuse the same model. Each teammate installs the extra and downloads their own local cache only if they opt in.

EmbeddingGemma-2 needs Transformers 5, so use its separate extra instead of cpu or gpu:

python -m pip install 'seraph-mcp[gemma2]'

Choose embeddinggemma-2 in Seraph's model configuration. The selected model weights download on first use and are then cached locally.

CLI

seraph --repo /path/to/repo index
seraph --repo /path/to/repo search "where is request authentication checked?"
seraph --repo /path/to/repo symbol authenticate_request
seraph --repo /path/to/repo deps authenticate_request
seraph --repo /path/to/repo compare <old-commit> <new-commit>

License

See LICENSE.

Metadata

Release files for seraph-mcp 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for seraph-mcp 0.1.3
File Size Uploaded
seraph_mcp-0.1.3.tar.gz 61.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for seraph-mcp 0.1.3
File Interpreter ABI Platform
seraph_mcp-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 139.1 kB

Release files / seraph_mcp-0.1.3.tar.gz

Download URL seraph_mcp-0.1.3.tar.gz
Size 61.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b0061a80ee7e2e57bfde8e20aa5b8b546be4f2c972ea935475cbc50cb808acec
BLAKE2b-256 checksum
How to use checksums
d9692ceffc9dc6801a9f7fa8d28db07772ec3295fa204b11ae7e55a6cd37327b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / seraph_mcp-0.1.3-py3-none-any.whl

Download URL seraph_mcp-0.1.3-py3-none-any.whl
Size 77.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7a194d954bff067d97e8988a1797d5ba8b7ae6ba97f96c3c5b3d314a25edb60
BLAKE2b-256 checksum
How to use checksums
62493768042d33861f7d1e4beedaf2bcc4489f62aee6a4c7203166082ce7c5f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page