UniProt MCP Server logo

UniProt MCP Server

by vitamin3615

The UniProt MCP Server allows language models to fetch protein information from the UniProt database. It can be integrated with Claude Desktop and other MCP-compatible AI applications.

View on GitHub

Last updated: N/A

UniProt MCP Server

An MCP (Model Context Protocol) server that allows language models to fetch protein information from the UniProt database. This server can be integrated with Claude Desktop and other MCP-compatible AI applications.

Features

  • Search UniProt: Search for proteins by name, gene, or other criteria
  • Get Protein Details: Retrieve detailed information about a protein
  • Get Protein Sequences: Fetch amino acid sequences
  • Get Protein Functions: Retrieve functional annotations including GO terms
  • Get Protein Structures: Find related PDB structures

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/uniprot-mcp-server.git
    cd uniprot-mcp-server
    
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    

Local Setup with Claude Desktop

  1. Make the server script executable:

    chmod +x server.py
    
  2. Configure Claude Desktop to use this MCP server:

    For macOS/Linux:

    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    For Windows:

    code $env:AppData\Claude\claude_desktop_config.json
    
  3. Add the following configuration (update the path to match your actual file location):

    {
      "mcpServers": {
        "uniprot": {
          "command": "python",
          "args": [
            "/ABSOLUTE/PATH/TO/uniprot-mcp-server/server.py"
          ]
        }
      }
    }
    
  4. Restart Claude Desktop

Usage Examples

Once set up with Claude Desktop, you can ask questions like:

  • "Find proteins related to Alzheimer's disease"
  • "Get the sequence for protein P05067 (Amyloid-beta precursor protein)"
  • "What are the functions of the TP53 protein?"
  • "Are there any known 3D structures for BRCA1 protein?"

Development

To run the server directly for testing:

python server.py

Testing Utilities

This project includes two testing utilities to verify functionality:

1. Server Health Check

Verifies that the MCP server starts correctly without errors:

python server_health_check.py

2. UniProt API Test

Tests connectivity with the UniProt API and verifies that all API calls work as expected:

python test_server.py

Run these tests before using the server to ensure everything is properly configured.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  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