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 '.[mcp]' seraph
For development directly from this directory:
uv sync --extra mcp
uv run seraph-mcp
The published package install, once released to PyPI, is:
python -m pip install 'seraph-mcp[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.
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.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| seraph_mcp-0.1.0.tar.gz | 61.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seraph_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 137.9 kB
Release files / seraph_mcp-0.1.0.tar.gz
| Download URL | seraph_mcp-0.1.0.tar.gz |
|---|---|
| Size | 61.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
298863e5830d88a0d608fe88e76e24456d6f6feac711cc552e14e880fb060fe3
|
|
BLAKE2b-256 checksum How to use checksums |
c6345fa8f291bdf4ebd481c19161c7d7abf11cadc6b5f96f798dddf5c50b115c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / seraph_mcp-0.1.0-py3-none-any.whl
| Download URL | seraph_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 76.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2087d13a47a4752a811c52720cc82a47970e6ff59fa602b1950f8528b9e8bee
|
|
BLAKE2b-256 checksum How to use checksums |
d711fa1b3e3479114023c431e1b4dcd9d9fba1a5f06a2021e014af3e1849264c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Security for seraph-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.