Quickstart¶
Install¶
# From PyPI (distribution name is uniprot-mcp-server,
# the installed console script is uniprot-mcp):
pip install uniprot-mcp-server
# or in an isolated environment:
uvx --from uniprot-mcp-server uniprot-mcp
# From source:
git clone https://github.com/smaniches/uniprot-mcp.git
cd uniprot-mcp
pip install -e .
Verify it works¶
Expected output:
The self-test makes one live UniProt call (/uniprotkb/P04637) and
asserts the gene is TP53. No API key required.
Hook it up to Claude Desktop¶
Edit claude_desktop_config.json (the location depends on your OS;
on Windows it lives under %APPDATA%\Claude\):
Restart Claude Desktop. Type /mcp in any conversation; you should
see the 41 tools listed.
For strict release pinning (any drift raises an error):
For the local provenance cache (replay any past answer offline):
{
"mcpServers": {
"uniprot": {
"command": "uniprot-mcp",
"env": {
"UNIPROT_MCP_CACHE_DIR": "/path/to/your/cache"
}
}
}
}
Hook it up to Claude Code (CLI)¶
First useful question¶
Once configured, ask Claude something like:
What does UniProt say about TP53? Resolve any PDB structures.
Claude will call uniprot_get_entry("P04637") followed by
uniprot_resolve_pdb("P04637") and present the entry summary plus a
structured table of PDB structures (id + method + resolution + chain
coverage). Every response carries the provenance footer at the bottom
— the line beginning _Source: UniProt release …_ — that you can use
later to verify the answer.
A workflow that's hard without uniprot-mcp¶
For human TP53, give me: (a) the canonical entry summary, (b) a drug-target dossier, (c) a list of every disease association with OMIM IDs, (d) the AlphaFold pLDDT confidence summary, (e) every ClinVar record sample for the gene (not exhaustive and not restricted to pathogenic records).
That's five tool calls — uniprot_get_entry,
uniprot_target_dossier, uniprot_get_disease_associations,
uniprot_get_alphafold_confidence, uniprot_resolve_clinvar — and
the agent assembles a source-attributed evidence overview, not a clinical classification. The ClinVar lookup returns up to 10 records by default (50 maximum per call), so it cannot enumerate every pathogenic variant. See recipes for the scope and limitations.
Where to go next¶
- Full tool reference → Tools
- Verification deep-dive → Provenance & verification
- Recipe: variant interpretation → Clinical variant interpretation
- Threat model and operational policy → Threat model, Incident policy