Overview
What is UniProt MCP Server?
A Model Context Protocol (MCP) server that provides access to UniProt protein information, allowing AI assistants to fetch protein function and sequence data directly from UniProt using accession numbers.
How to use UniProt MCP Server?
Install Python 3.10+, clone the repository, install dependencies with uv pip install -r requirements.txt (or pip), then add the server configuration to your Claude Desktop config file (Windows: %APPDATA%\Claude\claude_desktop_config.json, macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Linux: ~/.config/Claude/claude_desktop_config.json). Use the get_protein_info tool for single proteins and get_batch_protein_info for multiple proteins.
Key features of UniProt MCP Server
- Fetch protein information by UniProt accession number
- Batch retrieval of multiple proteins in one call
- Built-in caching with 24-hour TTL for performance
- Retrieves protein name, function, sequence, length, and organism
- Error handling for invalid accessions, network issues, and rate limits
Use cases of UniProt MCP Server
- Query the function and sequence of a specific protein via its UniProt ID
- Compare protein information across multiple accessions in one request
- Quickly retrieve organism and sequence length data for academic or research purposes
FAQ from UniProt MCP Server
What dependencies does UniProt MCP Server require?
Python 3.10 or higher, the MCP Python SDK, httpx for async HTTP requests, and an OrderedDict-based cache.
How does the server handle errors?
It handles invalid accession numbers (404), network errors, rate limiting (429), malformed responses, and cache management with TTL and size limits.
Where does the protein data come from?
Data is fetched live from the UniProt API; the server does not store data beyond the 24-hour cache.
What transport or authentication does the server use?
The server uses the Model Context Protocol standard transport; no authentication is required as UniProt’s API is public.
What are the known limits of this server?
The server relies on UniProt API availability and rate limiting; batch requests are limited to the server’s retry logic and cache size.