Protein MCP Server

Federated protein structure & annotation across experimental (PDB) and predicted (AlphaFold) models via MCP. STDIO or Streamable HTTP.

Remote serverstreamable-httpGo

What is the Protein MCP server?

Protein MCP server is a hosted integration for AI assistants that speak the Model Context Protocol. Federated protein structure & annotation across experimental (PDB) and predicted (AlphaFold) models via MCP. STDIO or Streamable HTTP.

What you get

  • Declarative tool and resource definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

Setting it up

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

What the assistant can call

Once Protein is connected, these are the calls the assistant has available:

  • protein_search_structures — Search experimental and predicted structures by free text, sequence, or organism/method/resolution filters, with optional facet breakdowns
  • protein_get_structure — Fetch metadata and coordinate-file URLs by ID — experimental (PDB), predicted (AlphaFold), or best-available — with batch partial success and
  • protein_find_similar — Find sequence homologs (RCSB mmseqs2) or fold homologs (Foldseek) from a sequence, PDB ID, or UniProt accession
  • protein_track_ligands — Resolve ligand names/formulas to component IDs, find structures containing a ligand, or map binding-site residues
  • protein_compare_structures — Structurally align multiple structures (TM-align / jFATCAT) to a reference or as a full pairwise matrix
  • protein_analyze_collection — Profile the PDB into distributions and trends with server-side facets — counts, histograms, timelines, and cross-tabs
  • protein_get_annotations — Fetch UniProt features and natural variants plus InterPro domain/family memberships with GO terms
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

Configuration and credentials

You will need 5 environment variables: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, RCSB_SEARCH_BASE_URL, ALPHAFOLD_BASE_URL, FOLDSEEK_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Bun v1.3.2 or higher (or Node.js v24+). - No accounts or API keys — RCSB, AlphaFold DB, 3D-Beacons, UniProt, InterPro, and Foldseek are all public and keyless.

Before you rely on it

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Protein.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the protein mcp server does with a few real requests.

Choosing this one

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Protein's toolset — protein_search_structures, protein_get_structure, protein_find_similar and 6 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
protein_search_structuresSearch experimental and predicted structures by free text, sequence, or organism/method/resolution filters, with optional facet breakdowns.
protein_get_structureFetch metadata and coordinate-file URLs by ID — experimental (PDB), predicted (AlphaFold), or best-available — with batch partial success and optional coordinate inlining.
protein_find_similarFind sequence homologs (RCSB mmseqs2) or fold homologs (Foldseek) from a sequence, PDB ID, or UniProt accession.
protein_track_ligandsResolve ligand names/formulas to component IDs, find structures containing a ligand, or map binding-site residues.
protein_compare_structuresStructurally align multiple structures (TM-align / jFATCAT) to a reference or as a full pairwise matrix.
protein_analyze_collectionProfile the PDB into distributions and trends with server-side facets — counts, histograms, timelines, and cross-tabs.
protein_get_annotationsFetch UniProt features and natural variants plus InterPro domain/family memberships with GO terms.
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Protein MCP server

{
  "mcpServers": {
    "protein": {
      "type": "streamable-http",
      "url": "https://protein.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.2 or higher (or Node.js v24+). - No accounts or API keys — RCSB, AlphaFold DB, 3D-Beacons, UniProt, InterPro, and Foldseek are all public and keyless.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
RCSB_SEARCH_BASE_URLEndpoint or connection string the server talks to.Yes
ALPHAFOLD_BASE_URLEndpoint or connection string the server talks to.Yes
FOLDSEEK_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Protein to protein search structures.
  • Use Protein to protein get structure.
  • Use Protein to protein find similar.

Frequently asked questions

It connects Protein to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (protein_search_structures, protein_get_structure, protein_find_similar, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Protein directly.