home / mcp / uniprot mcp server

UniProt MCP Server

A comprehensive Model Context Protocol (MCP) server providing advanced access to the UniProt protein database.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "augmented-nature-augmented-nature-uniprot-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "uniprot-mcp-server"
      ]
    }
  }
}

You have access to a full-featured UniProt MCP Server that provides 26 specialized tools to query UniProt data, analyze protein sequences and features, explore pathways and interactions, and export data. This server is designed for AI assistants and MCP clients to perform advanced protein research directly against UniProt’s REST API, enabling efficient, integrated bioinformatics workflows.

How to use

You interact with the UniProt MCP Server through an MCP client. Start by starting the server in your environment or container, then configure your MCP client to connect to the server. Use the tools to search proteins, retrieve detailed information, fetch sequences, analyze features, explore homologs and orthologs, inspect structures, assess variants, and perform batch and advanced searches. You can also retrieve literature references, external database links, and taxonomy information, and export data in multiple formats. The server handles input validation, API errors, and timeouts, and provides clear results or graceful degradation when partial data is available.

How to install

# Prerequisites
- Node.js (v16 or higher)
- npm or yarn

# Clone the project
git clone <repository-url>
cd uniprot-server

# Install dependencies
npm install

# Build the project
npm run build

# Start the server (stdio MCP server)
npm start

Additional notes and configuration

The server can run in a Docker container or as a local stdio process. See the following common deployment patterns for MCP client integrations.

For container-based usage, you can run the server with Docker and connect clients via stdio to the container. You may also set up a Docker Compose service for easier management.

Available tools

search_proteins

Search the UniProt database by protein name, keywords, or organism.

get_protein_info

Retrieve detailed information for a specific protein by UniProt accession.

search_by_gene

Find proteins by gene name or symbol.

get_protein_sequence

Retrieve the amino acid sequence for a protein.

get_protein_features

Obtain functional features and domains for a protein.

compare_proteins

Side-by-side comparison of multiple proteins with sequence and feature analysis.

get_protein_homologs

Find homologous proteins across different species.

get_protein_orthologs

Identify orthologous proteins for evolutionary studies.

get_phylogenetic_info

Retrieve evolutionary relationships and phylogenetic data.

get_protein_structure

Access 3D structure information from PDB.

get_protein_domains_detailed

Enhanced domain analysis with InterPro, Pfam, and SMART annotations.

get_protein_variants

Disease-associated variants and mutations.

analyze_sequence_composition

Amino acid composition, hydrophobicity, and other sequence properties.

get_protein_pathways

Associated biological pathways from KEGG and Reactome.

get_protein_interactions

Protein-protein interaction networks.

search_by_function

Search by GO terms or functional annotations.

search_by_localization

Find proteins by subcellular localization.

batch_protein_lookup

Process multiple accessions efficiently.

advanced_search

Complex queries with multiple filters (length, mass, organism, function).

search_by_taxonomy

Search by detailed taxonomic classification.

get_external_references

Links to PDB, EMBL, RefSeq, Ensembl, and other databases.

get_literature_references

Associated publications and citations.

get_annotation_confidence

Quality scores and confidence levels for different annotations.

export_protein_data

Export data in GFF, GenBank, EMBL, and XML formats.

validate_accession

Verify UniProt accession number validity.

get_taxonomy_info

Detailed taxonomic information and lineage data.