- Explore MCP Servers
- uniprot-mcp-server
Uniprot Mcp Server
What is Uniprot Mcp Server
The UniProt MCP Server is a Model Context Protocol server that provides direct access to UniProt protein information, enabling AI assistants to fetch details about protein functions and sequences.
Use cases
Use cases include querying specific protein information, comparing multiple proteins, and integrating protein data retrieval into AI applications or research workflows.
How to use
To use the UniProt MCP Server, ensure you have Python 3.10 or higher, clone the repository, install the necessary dependencies, and configure the server in your Claude Desktop application. You can then query protein information using UniProt accession numbers.
Key features
Key features include retrieval of protein information by UniProt accession number, batch retrieval for multiple proteins, caching for improved performance, error handling and logging, and detailed information such as protein name, function description, full sequence, sequence length, and organism.
Where to use
The UniProt MCP Server can be used in bioinformatics, computational biology, and any field requiring access to protein data for research, analysis, or application development.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Uniprot Mcp Server
The UniProt MCP Server is a Model Context Protocol server that provides direct access to UniProt protein information, enabling AI assistants to fetch details about protein functions and sequences.
Use cases
Use cases include querying specific protein information, comparing multiple proteins, and integrating protein data retrieval into AI applications or research workflows.
How to use
To use the UniProt MCP Server, ensure you have Python 3.10 or higher, clone the repository, install the necessary dependencies, and configure the server in your Claude Desktop application. You can then query protein information using UniProt accession numbers.
Key features
Key features include retrieval of protein information by UniProt accession number, batch retrieval for multiple proteins, caching for improved performance, error handling and logging, and detailed information such as protein name, function description, full sequence, sequence length, and organism.
Where to use
The UniProt MCP Server can be used in bioinformatics, computational biology, and any field requiring access to protein data for research, analysis, or application development.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
UniProt MCP Server
A Model Context Protocol (MCP) server that provides access to UniProt protein information. This server allows AI assistants to fetch protein function and sequence information directly from UniProt.
Features
- Get protein information by UniProt accession number
- Batch retrieval of multiple proteins
- Caching for improved performance (24-hour TTL)
- Error handling and logging
- Information includes:
- Protein name
- Function description
- Full sequence
- Sequence length
- Organism
Quick Start
- Ensure you have Python 3.10 or higher installed
- Clone this repository:
git clone https://github.com/TakumiY235/uniprot-mcp-server.git cd uniprot-mcp-server - Install dependencies:
# Using uv (recommended) uv pip install -r requirements.txt # Or using pip pip install -r requirements.txt
Configuration
Add 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
{
"mcpServers": {
"uniprot": {
"command": "uv",
"args": [
"--directory",
"path/to/uniprot-mcp-server",
"run",
"uniprot-mcp-server"
]
}
}
}
Usage Examples
After configuring the server in Claude Desktop, you can ask questions like:
Can you get the protein information for UniProt accession number P98160?
For batch queries:
Can you get and compare the protein information for both P04637 and P02747?
API Reference
Tools
-
get_protein_info- Get information for a single protein
- Required parameter:
accession(UniProt accession number) - Example response:
{ "accession": "P12345", "protein_name": "Example protein", "function": [ "Description of protein function" ], "sequence": "MLTVX...", "length": 123, "organism": "Homo sapiens" }
-
get_batch_protein_info- Get information for multiple proteins
- Required parameter:
accessions(array of UniProt accession numbers) - Returns an array of protein information objects
Development
Setting up development environment
- Clone the repository
- Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate - Install development dependencies:
pip install -e ".[dev]"
Running tests
pytest
Code style
This project uses:
- Black for code formatting
- isort for import sorting
- flake8 for linting
- mypy for type checking
- bandit for security checks
- safety for dependency vulnerability checks
Run all checks:
black . isort . flake8 . mypy . bandit -r src/ safety check
Technical Details
- Built using the MCP Python SDK
- Uses httpx for async HTTP requests
- Implements caching with 24-hour TTL using an OrderedDict-based cache
- Handles rate limiting and retries
- Provides detailed error messages
Error Handling
The server handles various error scenarios:
- Invalid accession numbers (404 responses)
- API connection issues (network errors)
- Rate limiting (429 responses)
- Malformed responses (JSON parsing errors)
- Cache management (TTL and size limits)
Contributing
We welcome contributions! Please feel free to submit a Pull Request. Here’s how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- UniProt for providing the protein data API
- Anthropic for the Model Context Protocol specification
- Contributors who help improve this project
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










