uniprot-link
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@uniprot-linkfind proteins related to BRCA1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
uniprot-link
An MCP (Model Context Protocol) + REST server that grounds protein research in the
UniProt SPARQL endpoint (https://sparql.uniprot.org/sparql). It wraps a
~232-billion-triple, QLever-backed SPARQL 1.1 service behind intent-named,
token-economical tools — and ships a safe raw-SPARQL escape hatch plus UniProt's
126 curated example queries so an LLM can learn and write its own queries.
Part of the *-link family of biomedical MCP servers (gnomad-link, gtex-link,
pubtator-link, genereviews-link, …) and follows their stack and conventions.
Features
15 MCP tools across discovery, raw SPARQL, the curated example catalog, proteins (UniProtKB), and taxonomy.
Typed protein tools —
get_protein, sequence, features (with FALDO coordinates), natural variants, diseases, GO terms, cross-references, id mapping.search_sparql_query— execute any SPARQL 1.1 query (SELECT/ASK/CONSTRUCT/ DESCRIBE, withSERVICEfederation); auto-LIMIT on unbounded SELECTs; JSON/XML/ CSV/TSV/Turtle/RDF-XML/N-Triples output.Example catalog —
search_example_queries/get_example_queryexpose UniProt's 126 curated, executable queries (backed by thesparql-examplesgraph).Agentic affordances — every response carries
_meta.next_commands(ready-to-run{tool, arguments}steps), a structured error taxonomy, and auniprot://capabilitiesdiscovery resource.Two transports — unified (REST + MCP/HTTP) and HTTP-only. Streamable HTTP only.
Related MCP server: UniProt MCP Server
Quick start
make install # uv sync --group dev
make dev # unified server: REST on / and MCP on /mcp (port 8000)
uv run uniprot-link serve --help # CLI: serve / config / health / version
make ci-local # format + lint + loc + typecheck + testsCLI
The uniprot-link console script is the single entry point (Streamable HTTP only):
uniprot-link serve --transport unified --host 127.0.0.1 --port 8000 # REST + MCP/HTTP
uniprot-link serve --transport http # REST only
uniprot-link config --validate # show + validate config
uniprot-link health --url http://127.0.0.1:8000 # probe /health
uniprot-link version # print versionConnect an MCP client
Point a Streamable-HTTP MCP client at the /mcp endpoint of a running server, e.g.:
claude mcp add --transport http uniprot-link --scope user http://127.0.0.1:8000/mcpTool catalog
Tool | Purpose |
| Tools, 21 named graphs, prefixes, formats, workflows, limits |
| Execute any SPARQL 1.1 query (the power tool / federation) |
| Search 126 curated example queries |
| Full text + metadata of one example |
| Search UniProtKB by |
| Core entry summary by accession |
| Canonical + isoform sequences |
| Sequence features with FALDO coordinates |
| Natural-variant annotations |
| Disease annotations |
| Cross-references grouped by database |
| GO annotations by aspect |
| Resolve an accession to external DB ids |
| Resolve a taxon by id or name |
Tool names are unprefixed (the GeneFoundry Tool-Naming Standard v1): the server reports
serverInfo.name = "uniprot-link"and its canonical gateway namespace token isuniprot. When federated behind thegenefoundry-routergateway, tools surface asuniprot_<tool>(e.g.uniprot_find_proteins); standalone MCP clients already namespace them asmcp__uniprot-link__<tool>.
Configuration
Environment variables (prefix UNIPROT_LINK_, nested with __):
Variable | Default | Meaning |
|
| Contact in the User-Agent (UniProt etiquette) |
|
| Per-request timeout (s) |
|
| Auto-LIMIT for unbounded SELECTs |
|
|
|
|
| Server port |
Development
See AGENTS.md for conventions (notably the SPARQL / QLever discipline that
keeps queries off the timeout cliff) and docs/ for architecture and usage.
research/verify_queries.py validates every query builder against the live
endpoint.
Disclaimer
Research use only; not for clinical decision support, diagnosis, treatment, or patient management. UniProt data is licensed CC BY 4.0.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/berntpopp/uniprot-link'
If you have feedback or need assistance with the MCP directory API, please join our Discord server