- Home
- MCP servers
- UniProt
UniProt
- python
2
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
UniProt MCP Server provides a Model Context Protocol (MCP) interface to access UniProtKB protein data. You can fetch complete protein entries, sequences, GO annotations, cross-references, and perform ID mappings through a typed, resilient API designed for agent workflows. This guide shows how to use the server, install it, and configure common options for development and production deployments.
How to use
You interact with the UniProt MCP Server via an MCP client. Two deployment modes are available: a local stdio server for development and an HTTP server for remote access. Use the stdio mode when you want to run the server directly in your environment, and switch to the HTTP mode to expose the MCP endpoint over the network for external clients.
Key capabilities you can perform through the MCP interface include fetching a complete protein entry with its sequence and annotations, searching UniProtKB with advanced filters, converting identifiers across databases, and retrieving historical entries. The server exposes typed responses to ensure consistent data handling in your workflows.
How to install
pip install uniprot-mcp
Install the package using your preferred Python tool. This step prepares the MCP server and its client interfaces for use.
Additional configuration and runtime notes
You can run the server in local development mode or expose it as an HTTP service for remote access.
# Local development (stdio)
uniprot-mcp
# Remote deployment (HTTP)
uniprot-mcp-http --host 0.0.0.0 --port 8000
HTTP endpoint: http://localhost:8000/mcp Health check: http://localhost:8000/healthz Metrics: http://localhost:8000/metrics (Prometheus format) These endpoints allow your agents to validate availability, collect metrics, and perform MCP requests.
Configuration and environment
You can tune performance and logging using environment variables. The following variables are commonly adjusted to control data scope, logging detail, concurrency, and server behavior.
UNIPROT_ENABLE_FIELDS
UNIPROT_LOG_LEVEL
UNIPROT_LOG_FORMAT
UNIPROT_MAX_CONCURRENCY
MCP_HTTP_HOST
MCP_HTTP_PORT
MCP_HTTP_LOG_LEVEL
MCP_HTTP_RELOAD
MCP_CORS_ALLOW_ORIGINS
MCP_CORS_ALLOW_METHODS
MCP_CORS_ALLOW_HEADERS
Usage examples
Fetch a protein entry by accession and inspect its main details, sequence, features, GO terms, and cross-references.
Search for proteins with a kinase keyword in Homo sapiens and retrieve a limited set of fields optimized for speed.
Tools and endpoints
The server offers a set of tools that you can call through an MCP client to perform targeted actions and receive strongly typed results.
Troubleshooting and tips
If you encounter connection issues, verify that the HTTP server is reachable at the configured host/port and that your MCP client is pointed at the /mcp endpoint. Check the logs for any retry/backoff messages and ensure CORS policies permit your client origin if using HTTP.
Available tools
fetch_entry
Fetch complete protein entry with all annotations (sequence, features, GO annotations, cross-references) for a given accession.
get_sequence
Retrieve the protein sequence with length and basic metadata for a given accession.
search_uniprot
Perform a full-text search with advanced filters like organism, review status, keywords, and sort options.
map_ids
Convert identifiers between 200+ databases with progress tracking for long-running mappings.
fetch_entry_flatfile
Retrieve historical entry versions in text or FASTA formats for a given accession.