Skip to main content
Glama

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

  1. Ensure you have Python 3.10 or higher installed

  2. Clone this repository:

    git clone https://github.com/TakumiY235/uniprot-mcp-server.git cd uniprot-mcp-server
  3. 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

  1. 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" }
  2. 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

  1. Clone the repository

  2. Create a virtual environment:

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 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:

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. 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

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    An MCP server that enables language models to fetch protein information from the UniProt database, including protein details, sequences, functions, and structures.
    Last updated -
    MIT License
    • Linux
    • Apple
  • -
    security
    -
    license
    -
    quality
    Enables searching for AI agents by keywords or categories, allowing users to discover tools like coding agents, GUI agents, or industry-specific assistants across marketplaces.
    Last updated -
    41
    • Apple
  • A
    security
    F
    license
    A
    quality
    Enables AI systems to perform full-text and semantic search operations over structured/unstructured data in Azure Cognitive Search, with capabilities for document indexing and management through natural language.
    Last updated -
    3
    22
    3
    • Apple
  • A
    security
    A
    license
    A
    quality
    Enables AI agents to access crypto-related information including latest news, prices, and market trends through ChainGPT capabilities.
    Last updated -
    3
    0
    5
    MIT License
    • Apple

View all related MCP servers

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/TakumiY235/uniprot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server