Production-quality MCP server exposing the UniProt REST API (search, entries, FASTA, ID mapping, taxonomy) to LLM clients over stdio.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"uniprotkb-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# uniprot-mcp [](https://github.com/fzlzjerry/uniprot-mcp/actions/workflows/ci.yml) > GitHub repo: `fzlzjerry/uniprot-mcp` · PyPI package & command: **`uniprotkb-mcp`** > (the Python import package is `uniprot_mcp`). A production-quality **MCP server** that exposes the [UniProt REST API](https://rest.uniprot.org) to LLM clients (Claude Code, Claude Desktop, …) over **stdio**. Built with [FastMCP](https://gofastmcp.com) and managed with [`uv`](https://docs.astral.sh/uv/). Tools return **compact, token-efficient summaries by default** and full payloads only on request, with robust error handling and an embedded UniProt query cheat-sheet so the model writes valid queries. ## Tools | Tool | What it does | |------|--------------| | `search_uniprotkb` | Search UniProtKB with native query syntax. `reviewed` / `organism_id` filters are added for you. Summary, FASTA, or TSV output. | | `get_entry` | One entry as a curated digest (function, names, organism, length, subcellular location, family/domains, key features, PTMs, keywords, PDB/AlphaFold/Ensembl/RefSeq/InterPro/GO cross-refs) or `json`/`fasta`/`txt`/`gff`. | | `get_fasta` | Raw FASTA for one accession or a batch. | | `map_ids` | Convert ids across databases via UniProt's async ID-mapping (e.g. `RefSeq_Protein`→`UniProtKB`, `UniProtKB_AC-ID`→`PDB`). Returns mapped pairs **and** unmapped ids; validates the db pair against the live config. | | `get_taxonomy` | Resolve an organism name or taxon id → taxon id, names, rank, lineage. Turn "human" into `organism_id:9606`. | | `search_uniref` | Search UniRef100/90/50 sequence-similarity clusters. | | `search_proteomes` | Search proteomes (whole-organism protein sets); reference-proteome filter. | Plus an MCP **resource** `resource://uniprot/query-cheatsheet` documenting the UniProtKB query syntax (`gene:`, `organism_id:`, `reviewed:true`, `length:[X TO Y]`, `keyword:`, `ec:`, boolean `AND…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.