Skip to main content
Glama
Ajey95

ImmunoGraph MCP

predict_mhcii

Read-onlyIdempotent

Retrieves MHC-II peptide-binding observations for supplied class-II alleles and peptide lengths via IEDB, returning method and source provenance plus structured failures when sources are unavailable.

Instructions

Get MHC-II peptide-binding observations for supplied class-II alleles and peptide lengths through the configured IEDB connector or an allowed exact fixture. Use for class-II evidence rather than predict_mhci or predict_bcell. LIVE_ONLY requires the live connector; results include method and source provenance, and unavailable sources return a structured failure.

Input Schema

NameRequiredDescriptionDefault
runIdNoCaller-chosen identifier linking this call to one research run.interactive-run
allelesYesHLA allele identifiers relevant to the selected MHC class.
methodsNoNamed predictor methods to run or replay; availability depends on configuration.
sequenceNoProtein amino-acid sequence without a FASTA header.
proteinRefNoStable protein reference or exact fixture key for this prediction.
fallbackPolicyNoAllowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.LIVE_THEN_CACHE_THEN_FIXTURE
peptideLengthsYesPeptide window lengths in amino-acid residues for the selected MHC class.

Output Schema

NameRequiredDescriptionDefault
okYesWhether execution completed successfully.
dataNoTool-specific result fields on success.
metaYesRun identifiers, timings, and input/output hashes.
errorNoStructured failure on unsuccessful execution.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.2.1
    • addedInput schema / properties / alleles / description
      Added value: +"HLA allele identifiers relevant to the selected MHC class."
    • addedInput schema / properties / fallbackPolicy / description
      Added value: +"Allowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls."
    • addedInput schema / properties / methods / description
      Added value: +"Named predictor methods to run or replay; availability depends on configuration."
    • addedInput schema / properties / peptideLengths / description
      Added value: +"Peptide window lengths in amino-acid residues for the selected MHC class."
    • addedInput schema / properties / proteinRef / description
      Added value: +"Stable protein reference or exact fixture key for this prediction."
    • addedInput schema / properties / runId / description
      Added value: +"Caller-chosen identifier linking this call to one research run."
    • addedInput schema / properties / sequence / description
      Added value: +"Protein amino-acid sequence without a FASTA header."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "data": {
      +      "additionalProperties": {},
      +      "description": "Tool-specific result fields on success.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "error": {
      +      "additionalProperties": false,
      +      "description": "Structured failure on unsuccessful execution.",
      +      "properties": {
      +        "category": {
      +          "type": "string"
      +        },
      +        "code": {
      +          "type": "string"
      +        },
      +        "details": {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "category",
      +        "message",
      +        "retryable"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "additionalProperties": {},
      +      "description": "Run identifiers, timings, and input/output hashes.",
      +      "properties": {
      +        "completedAt": {
      +          "type": "string"
      +        },
      +        "durationMs": {
      +          "type": "number"
      +        },
      +        "inputHash": {
      +          "type": "string"
      +        },
      +        "outputHash": {
      +          "type": "string"
      +        },
      +        "requestId": {
      +          "type": "string"
      +        },
      +        "runId": {
      +          "type": "string"
      +        },
      +        "startedAt": {
      +          "type": "string"
      +        },
      +        "toolName": {
      +          "type": "string"
      +        },
      +        "toolVersion": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "requestId",
      +        "runId",
      +        "toolName",
      +        "toolVersion",
      +        "startedAt",
      +        "inputHash"
      +      ],
      +      "type": "object"
      +    },
      +    "ok": {
      +      "description": "Whether execution completed successfully.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.2.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered; the description adds genuinely new behavior: source precedence via the connector/fixture policy, method and source provenance in results, and structured failure when a source is unavailable. That is exactly the kind of runtime expectation an agent needs before calling.

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?

Three tight sentences: purpose and scope first, sibling routing second, source/failure behavior last. Every clause carries information and nothing is repeated.

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?

With annotations, a full-coverage schema and an output schema present, the remaining burden on the description is routing and runtime expectations — both are covered. An agent knows when to pick this tool, what source ordering implies, and what a failure looks like.

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 description coverage is 100%, so per-parameter meaning is already fully documented, and the description adds little beyond restating alleles and peptide lengths. The one added gloss — 'LIVE_ONLY requires the live connector' — largely duplicates the fallbackPolicy enum description already in the schema, so the baseline of 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?

The description names a specific verb and resource ('Get MHC-II peptide-binding observations') plus the scoping inputs (class-II alleles, peptide lengths), and explicitly separates the tool from its siblings predict_mhci and predict_bcell. An agent can select it without opening the schema.

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?

'Use for class-II evidence rather than predict_mhci or predict_bcell' gives an explicit alternative and the condition that selects it, and the LIVE_ONLY note flags a prerequisite for a specific configuration. There is no stated case where this tool is inappropriate beyond sibling routing, so it falls just short of a 5.

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