Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Interpro MCP Server

by cyanheadsversion 0.2.0i★ –iComputer or cloud
Registry nameio.github.cyanheads/interpro-mcp-server

Install

Overview

Description from the maker (original English)

Search InterPro entries, map domains onto proteins and PDB structures, and scan raw sequences.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 9 things (tools) interpro_list_reference, interpro_search_entries, interpro_get_entry, interpro_get_clan …
  • You fill in yourself: MCP_LOG_LEVEL, INTERPRO_SCAN_EMAIL

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://interpro.caseyjhand.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "interpro": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/interpro-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "INTERPRO_SCAN_EMAIL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http interpro https://interpro.caseyjhand.com/mcp

Or run it on your computer

claude mcp add interpro --env MCP_LOG_LEVEL=your-value --env INTERPRO_SCAN_EMAIL=your-value -- npx -y @cyanheads/interpro-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "interpro": {
      "url": "https://interpro.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "interpro": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/interpro-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "INTERPRO_SCAN_EMAIL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "interpro": {
      "type": "http",
      "url": "https://interpro.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "interpro": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/interpro-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "INTERPRO_SCAN_EMAIL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://interpro.caseyjhand.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
  • INTERPRO_SCAN_EMAIL env
    Contact email the EBI Job Dispatcher requires to submit InterProScan jobs. Optional: without it interpro_scan_sequence still returns precalculated matches for sequences already in UniParc and fails o…

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • interpro_list_reference

    List supported InterPro database slugs, entry types, accession and PDB identifier patterns, common taxon IDs, or current release information.

  • interpro_search_entries

    Search InterPro entries or member signatures by text or entry type. GO filters require sourceDatabase interpro; integratedInto selects member signatures for an InterPro accession. Results are cursor-paged; use interpro_get_entry for full metadata.

  • interpro_get_entry

    Retrieve one InterPro or member-database entry with full metadata by default. Select optional sections while retaining core and unknown metadata, or supply overlapLimit to page whole overlap records in upstream order; offsets are not a snapshot across calls.

  • interpro_get_clan

    Retrieve a Pfam, CDD, or PIRSF clan/set and a cursor page of member entries; optionally include its relationship graph, returned in slices that fit the response budget and paged with relationshipOffset.

  • interpro_get_protein_domains

    Retrieve InterPro and member-signature matches on a canonical UniProt protein, preserving every location and discontinuous fragment. Optionally select records covering a residue, include extra predicted features, and include functional residue rules with provenance. Budgeted segm

  • interpro_find_proteins_by_domain

    Find UniProt proteins carrying an InterPro or member signature. Defaults to reviewed human proteins; reviewedOnly=false includes all review statuses in the chosen taxon. Optional isFragment filters fragment annotations; false does not prove sequence completeness. architectureId i

  • interpro_get_structure_domains

    Retrieve InterPro and member-signature matches on one PDB entry's protein chains. Each chain record keeps match locations in chain numbering (1-based start/end beside author auth_start/auth_end, which can be null), in UniProt numbering, and the chain-to-UniProt residue map, with

  • interpro_scan_sequence

    Find InterPro domain, family, and site matches for one raw protein sequence that has no UniProt accession. Sequences already in UniParc return precalculated matches at once; any other sequence starts one InterProScan 6 job, which commonly runs about ten minutes, so the usual firs

  • interpro_get_scan_result

    Check an InterProScan job started by interpro_scan_sequence, waiting up to waitSeconds for it to finish. Returns the matches once finished, otherwise its queued or running status to check again later. Matches are InterProScan records verbatim, 1-based and inclusive, with the Inte

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 254 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 9 tool descriptions and found no hidden instructions to the AI

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7254 servers in this category
  • Published to the registry more recently than 79% of the other 7254 servers in this category
  • Basic checks equal to or better than 100% of the other 7254 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Interpro MCP Server safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 9 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/interpro-mcp-server Search InterPro entries, map domains and functional sites onto UniProt proteins and PDB structures, find proteins by domain, and scan raw protein sequences via MCP. STDIO or Streamable HTTP. 9 Tools

Public Hosted Server: https://interpro.caseyjhand.com/mcp


Overview

Protein families, domains, repeats, and functional sites from InterPro and the member databases it integrates (Pfam, PROSITE, SMART, CDD, PANTHER, and others), read through the keyless EMBL-EBI InterPro API. Search entries, read their full metadata, map a UniProt protein's or a PDB entry's chains to annotations with residue coordinates, walk Pfam, CDD, and PIRSF clans, find proteins that carry a signature, and scan a raw protein sequence. Runs over STDIO, Streamable HTTP, or the public hosted endpoint above, with no credentials to configure; starting new InterProScan jobs needs an operator-set contact email (see Configuration).

Tools
ToolDescription
interpro_search_entriesFind InterPro entries by GO annotation, or InterPro entries and member signatures by text, entry type, or integrating accession
interpro_get_entryRead one entry's description, hierarchy, member signatures, GO terms, literature, cross-references, clan membership, and coverage counters
interpro_get_protein_domainsMap a UniProt protein's domains, families, repeats, and functional sites to sequence coordinates, optionally at one residue
interpro_get_clanRead a Pfam, CDD, or PIRSF set and page through its members, optionally with its relationship graph
interpro_find_proteins_by_domainFind UniProt proteins carrying an entry, defaulting to reviewed human proteins, optionally within one proteome
interpro_get_structure_domainsMap signatures onto the protein chains of one PDB entry, in chain, author, and UniProt numbering
interpro_scan_sequenceFind domain, family, and site matches for a raw protein sequence: precalculated for UniParc sequences, otherwise an InterProScan job
interpro_get_scan_resultRead the status and matches of an InterProScan job started by interpro_scan_sequence
interpro_list_referenceDecode database slugs, entry types, accession patterns, common taxon IDs, and the current InterPro release

Capability reference

interpro_search_entries tool
  • sourceDatabase (default interpro) plus optional query (1-300 characters), entryType, goTerm (GO:0003677 form), goCategory (P, F, C), and integratedInto (an IPR accession, member databases only); no filter is required, so omitting all of them browses the database
  • goTerm and goCategory require sourceDatabase: "interpro"; choose one GO filter per call. Combining them fails before network access because upstream ignores the category when a term is supplied. For member signatures, search InterPro with the GO filter, then read member_databases with interpro_get_entry or search the member database with integratedInto set to the matching InterPro accession
  • Cursor-paged, positive integer limit capped at 100 (default 20); larger requests are clamped with a notice. Returns entries, page (total, returned, limit, hasMore, nextCursor), and the applied query; page.limit is the effective page size

interpro_get_entry tool
  • accession required; sourceDatabase is inferred from standard accession prefixes when omitted. A set accession (CL…) fails as entry_not_found and points to interpro_get_clan
  • Optional sections selects from description, hierarchy, member_databases, go_terms, literature, cross_references, wikipedia, counters, and overlaps_with. Core metadata and unknown upstream fields remain; omitted sections returns full detail
  • Optional positive integer overlapLimit pages complete overlaps_with records; overlapOffset requires it, starts at zero, and advances using overlapsPage.nextOffset. Paging requires overlaps to be retained. Selection and omissions are disclosed; absent or null overlap data stays distinct from an empty list
  • Wikipedia thumbnails are omitted unless includeThumbnail: true, and a notice reports what was left out
  • entry.descriptionText adds readable text with paragraph, list, and table boundaries alongside the unchanged source entry.description, including its HTML and annotation flags. It is omitted when description is excluded or no readable text is supplied
  • A withdrawn record fails as entry_withdrawn with its deletion date and short name

interpro_get_protein_domains tool
  • Canonical six- or ten-character UniProt accession (no isoform suffix); optional residuePosition (1-based, inclusive) keeps every match with a fragment covering it, with all of that match's fragments intact; includeExtraFeatures adds predicted features such as disorder and transmembrane regions
  • includeResidueAnnotations: true adds residueAnnotations, the provider's functional rule annotations. A residue filter keeps each whole rule with any fragment covering the position, preserving descriptions, residue letters, locations, and provenance
  • Large maps arrive in segments of whole records within a 100,000-byte response budget: matches, requested extra features, then requested residue rules. Follow coverage.nextCursor until hasMore is false. The first segment carries protein metadata; an empty segment cannot establish that nothing is annotated. Residue annotations are omitted until their stage is reached, while {} means that stage returned no selected rules
  • Discontinuous fragments, models, and upstream scores are kept as returned; residue_out_of_range and protein_not_found are typed failures

interpro_get_clan tool
  • accession for a Pfam (CL0016), CDD (cl21453), or PIRSF (PIRSF000047) set, with sourceDatabase (pfam, cdd, pirsf) inferred from the prefix; members page by cursor, with positive integer limit capped at 100 (default 20). Larger requests are clamped with a notice; page.limit reports the effective size
  • includeRelationships: true adds the relationship graph in slices that fit the response budget; relationshipsPage.nextOffset goes back in as relationshipOffset, which needs includeRelationships set
  • includeThumbnail works as on interpro_get_entry; a missing set is clan_not_found

interpro_find_proteins_by_domain tool
  • accession plus optional sourceDatabase; taxonId (NCBI, default 9606) and reviewedOnly (default true; false covers reviewed and unreviewed proteins) are echoed in query
  • Optional isFragment selects proteins annotated as fragments (true) or not annotated as fragments (false); omit it to include both. False does not establish sequence completeness. Explicit selections appear in query and must stay unchanged when following cursors
  • Optional architectureId accepts protein.ida_accession from interpro_get_protein_domains: a 40-character hexadecimal identifier, normalized lowercase. Equality means the provider's Pfam architecture grouping, not equivalent function. Keep it unchanged when following cursors
  • Cursor-paged, positive integer limit capped at 50 (default 20); larger requests are clamped with a notice, and page.limit is the effective size. Ordinary results keep the protein summary, matched entry locations, taxon lineage, and native extra_fields.is_fragment annotation; missing or null status remains unknown. Architecture-filtered rows retain native extra_fields.ida_id when supplied and use detailAvailability to distinguish unavailable entry/taxon details from actual empty arrays
  • Optional proteomeId (UP plus nine digits, case-insensitive, canonicalized uppercase; for example protein.proteome from interpro_get_protein_domains) intersects one UniProt proteome with every other selection. taxonId still applies, including its 9606 default, and a proteome returns proteins only when taxonId is its organism or an ancestor. Echoed in query; keep it unchanged when following cursors. Rows then carry the upstream proteomes array, and architecture rows add detailAvailability.proteomes
  • No hits is a success with a notice, since the API answers an unknown entry, an unknown taxon, an unknown proteome, and an empty intersection the same way

interpro_get_structure_domains tool
  • pdbId required: a four-character PDB ID such as 1tsr, case-insensitive (accession is accepted as an alias); extended pdb_0000… IDs are not supported. Optional chain restricts the map to one protein chain, case-sensitive (A and a differ); nucleic-acid chains are not listed
  • Each match lists its chain records in structures, joined by entry. A record carries locations in chain numbering (start/end, 1-based) beside author numbering (auth_start/auth_end, which can be null or skip), UniProt numbering, and the chain-to-UniProt residue map; protein is null for chains with no UniProt mapping
  • InterPro nests at most 20 chain records per match. chainRecordLimitReached flags a match at that limit, which may cover chains not returned; set chain to read one chain completely
  • Segments hold whole matches within a 100,000-byte response budget; follow coverage.nextCursor until hasMore is false. The first segment carries structure (metadata, including the protein chains)
  • A DNA-only entry succeeds with no matches and a notice; an unknown or obsolete ID fails as structure_not_found, and a chain outside the structure's protein chains as chain_not_found with availableChains

interpro_scan_sequence tool
  • sequence required: one protein sequence as residue l

Only the beginning is shown; read the rest in the repo

Ask PopNx