Skip to main content
Glama

Scan a protein sequence

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 first result is a jobId to read with interpro_get_scan_result. Repeating a sequence whose job is still running returns the same jobId instead of starting another. Matches are InterProScan records verbatim, 1-based and inclusive, each naming its member database and release.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "sequence": "<sequence>"
    },
    "name": "interpro_scan_sequence"
  }
}

Input Schema

NameRequiredDescriptionDefault
cursorNoOpaque coverage.nextCursor from an earlier call with this same sequence, to read the next segment of precalculated matches.
sequenceYesOne protein sequence as residue letters, optionally preceded by a single FASTA header line. Case, spaces, and line breaks are ignored; digits, gaps, and stop symbols (*) are rejected.
waitSecondsNoSeconds to wait for a newly started job to finish before returning its jobId; 0 starts the job and returns at once.

Output Schema

NameRequiredDescriptionDefault
md5NoUppercase hex MD5 of the uppercased residues, the UniParc sequence digest.
errorNoPresent when the call failed. Absent on success.
jobIdNoInterProScan job ID on the interproscan path; results stay retrievable for seven days.
shownNoMatch records in this segment.
lengthNoSequence length in residues.
noticeNoJob, continuation, or empty-result guidance.
sourceNoWhich path produced the result: precalculated matches from the InterPro Matches API, or an InterProScan 6 job run through the EBI Job Dispatcher.
statusNofinished: matches are present. queued or running: the job is pending; read it later with interpro_get_scan_result. submitted: accepted in this call and not yet polled.
matchesNoWhole match records in this segment when finished, sorted by earliest location start then signature accession; coordinates are 1-based and inclusive. Each record keeps its own source and signatureLibraryRelease.
coverageNoWhere this segment sits in the complete match list; present when finished.
sourceUrlNoUpstream endpoint that supplied this result.
truncatedNoMore segments remain.
totalCountNoMatch records in the complete result.
interproVersionNoInterPro release of a finished InterProScan job.
interproscanVersionNoInterProScan version of a finished job.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses the ~10 minute runtime, that the first response is usually a jobId, and that re-submitting an in-flight sequence returns the same jobId instead of duplicating work. That last point usefully qualifies idempotentHint=false by describing the narrow case where repetition is safe rather than contradicting it. It also specifies match coordinate conventions (1-based, inclusive) and provenance per record.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, no filler; the purpose and scope lead, followed by the execution-path behavior and the follow-up tool. Each sentence carries distinct operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a mutation-adjacent, long-running scan with an output schema present, the description covers everything an agent needs: latencies, the jobId handoff, dedupe behavior, and result interpretation conventions. Return-value structure is correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so sequence validation rules, cursor semantics, and waitSeconds bounds are already documented in structured fields. The description adds no parameter-level detail of its own beyond the implicit link between waiting and receiving a jobId, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find InterPro domain, family, and site matches') plus a precise scope qualifier: a raw sequence with no UniProt accession. That qualifier is exactly what separates it from accession-based siblings such as interpro_get_protein_domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two execution paths (precalculated UniParc matches vs. a new InterProScan job) and explicitly routes the agent to interpro_get_scan_result for jobIds, which is the main follow-up decision. It never names the alternative tool for sequences that do have a UniProt accession, so the exclusion is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.