# protein-mcp-server [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/cyanheads/protein-mcp-server  
**GitHub Stars:** 6  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/protein-mcp-server

## Description
Federated protein structure & function across experimental (PDB) and predicted (AlphaFold) models.

## Tools
Capabilities this server exposes over MCP:

- **protein_search_structures** — Search experimental and predicted structures by text, sequence, or organism/method/resolution, with optional facets
- **protein_get_structure** — Fetch metadata and coordinate URLs for experimental, predicted, or best-available structures
- **protein_find_similar** — Find sequence homologs (RCSB mmseqs2) or fold homologs (Foldseek)
- **protein_track_ligands** — Resolve ligands to component IDs, find structures containing one, or map its binding site
- **protein_compare_structures** — Align structures with TM-align or jFATCAT, against a reference or all pairs
- **protein_analyze_collection** — Profile the PDB as counts, histograms, timelines, and cross-tabs
- **protein_get_annotations** — Fetch UniProt features and variants plus InterPro domains with GO terms

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What protein-mcp-server does

The protein-mcp-server MCP server gives agents a single interface to experimental structures from the Protein Data Bank and predicted models from AlphaFold DB. It also connects structure records with RCSB search services, 3D-Beacons, Foldseek, UniProt, and InterPro. The server is listed in the 🧬 Biology & Bioinformatics category and is suited to workflows that need both structural evidence and protein-level annotations.

Its search tool accepts text, sequences, organisms, experimental methods, and resolution limits. Results identify their source and provide IDs that can be passed to later calls. Agents can retrieve structure metadata and coordinate URLs, choose experimental, predicted, or best-available models, and request inline coordinate content within a size budget.

## How it works

The protein-mcp-server MCP server exposes seven tools and two resources. The `pdb://{entry_id}` resource summarizes an experimental PDB entry, while `af://{uniprot}` provides an AlphaFold DB prediction summary. Clients that do not display MCP resources can access equivalent data through `protein_get_structure`.

Sequence similarity searches use RCSB mmseqs2. Structure similarity searches use Foldseek and can search PDB and AlphaFold databases. These jobs may be asynchronous; an in-progress response supplies a ticket or job identifier for a later resume call. Structure comparison supports TM-align and rigid or flexible jFATCAT modes, with results including RMSD, TM-score, coverage, and aligned residue counts.

Ligand workflows can resolve names or formulas to component IDs, list structures containing a component, and report binding-site residues for experimental structures. Collection analysis returns counts, histograms, timelines, or cross-tabs across dimensions such as organism, method, resolution, release year, polymer type, and molecular weight. Annotation queries retrieve UniProt features and variants alongside InterPro domains and GO terms.

## Setup and configuration

The protein-mcp-server MCP server can run through STDIO or Streamable HTTP. The repository provides an npm package, a Docker image, and a public hosted endpoint at `https://protein.caseyjhand.com/mcp`. Client installation links are provided for Claude Desktop, Cursor, and VS Code. The package can also be launched through the `npx` command shown in the client configuration links.

No API key is required according to the project documentation. Calls are bounded by server limits, including page sizes, batch sizes, facet buckets, comparison counts, and polling budgets. The response fields identify failed or unresolved IDs, truncated collection results, and jobs that are still computing.

## Tools and capabilities

- `protein_search_structures`: search experimental or predicted structures by text, sequence, organism, method, or resolution, with optional facets.
- `protein_get_structure`: retrieve metadata, coordinate URLs, and optionally inline coordinate content.
- `protein_find_similar`: find sequence homologs with mmseqs2 or fold homologs with Foldseek.
- `protein_track_ligands`: resolve ligands, find matching structures, or inspect binding sites.
- `protein_compare_structures`: align structures with TM-align or jFATCAT.
- `protein_analyze_collection`: produce grouped counts, numeric bins, timelines, and cross-tabs.
- `protein_get_annotations`: retrieve UniProt features or variants and InterPro domains with GO terms.

## Limitations and notes

Sequence inputs must contain at least 10 residues and invalid sequences are rejected. Predicted structure lookups use UniProt accessions, while experimental lookups use PDB identifiers; best-available lookups select an experimental structure when available and otherwise use a prediction. Binding-site analysis is limited to experimental structures.

Structure searches may return a computing status instead of final results, requiring a follow-up call with the supplied ticket. Coordinate content can exceed the inline size budget, in which case the client should request a smaller response. Collection dimensions can be truncated by bucket limits, and unresolved identifiers appear separately from successfully processed records.

_Full upstream README: https://allmcps.com/mcp/protein-mcp-server/readme_

