Overview
What is UniProt MCP Server?
A Model Context Protocol (MCP) server that provides access to UniProt protein information. It allows AI assistants to fetch protein function and sequence data directly from the UniProt database.
How to use UniProt MCP Server?
Install Python 3.10 or higher, clone the repository, and install dependencies with uv pip install -r requirements.txt or pip install -r requirements.txt. Then add the server configuration (command: uv, args pointing to the directory and run uniprot-mcp-server) to your Claude Desktop config file. Once configured, you can ask Claude to retrieve protein information by providing UniProt accession numbers.
Key features of UniProt MCP Server
- Fetch protein info by single UniProt accession
- Batch retrieval of multiple proteins
- Built‑in caching with a 24‑hour TTL
- Error handling for invalid accessions, network issues, and rate limits
- Returns protein name, function, full sequence, length, and organism
Use cases of UniProt MCP Server
- Quickly look up the function and sequence of a protein during research
- Compare multiple proteins side‑by‑side (e.g., P04637 and P02747)
- Integrate UniProt data into AI‑powered bioinformatics workflows
FAQ from UniProt MCP Server
What does this server do that alternatives don’t?
It exposes UniProt protein data through the Model Context Protocol, allowing AI assistants like Claude to directly fetch structured protein information (name, function, sequence, organism) without requiring a separate API call or manual parsing.
What are the runtime dependencies?
Python 3.10 or higher, the MCP Python SDK, and httpx for async HTTP requests. Use uv (recommended) or pip to install dependencies listed in requirements.txt.
Where does the data come from, and is it cached?
All protein data is fetched live from the UniProt public API. A local cache (OrderedDict‑based) stores responses for 24 hours to improve performance.
Are there any known limits or error scenarios?
The server handles invalid accession numbers (404), network errors, rate limiting (429), and malformed responses. Caching has a 24‑hour TTL and size limits are managed internally.
What transport and authentication does the server use?
The server runs over stdio (configured as a command in Claude Desktop). No authentication is required because it queries the public UniProt API.