BLAST against a large database takes minutes, which is the wrong shape for a chat. Submitting a job and collecting it by ID makes that normal: ask, go and do something else, come back for the hits.
A Python MCP server that drives a local NCBI BLAST+ installation. Searches submit as jobs, so a large query returns an ID rather than blocking the conversation, and results come back in JSON, XML, tabular or pairwise form.
- A nucleotide search submitted as a job against a named database or a path
- A protein search submitted the same way
- Job status checked while a long search runs
- Results collected once it completes
- Input given as either a FASTA file path or a raw sequence
- Output format chosen per search — tabular, XML, JSON or pairwise — with a limit on how many hits return
BLAST+ installed on the machine — conda install -c bioconda blast, brew install blast, or apt-get install ncbi-blast+ — plus the server itself with pip install -e .. Async searches need python -m src.main started in queue mode; python -m src.server covers the rest. Databases are local: give a name such as nt or nr, or a path.
One command — pip install -e .
