Skip to main content
Glama
Ajey95

ImmunoGraph MCP

calculate_structure_confidence

Read-onlyIdempotent

Extract per-residue AlphaFold pLDDT scores or summarize supplied confidence metrics to inspect local model confidence; does not assess solvent exposure, epitope probability, or experimental B-factors.

Instructions

Extract per-residue AlphaFold pLDDT from supplied AlphaFold PDB bytes or summarize supplied confidence metrics. Use to inspect local model confidence, not solvent exposure or epitope probability; experimental PDB B-factors are not accepted as pLDDT. Returns residue scores or a metric summary with source context.

Input Schema

NameRequiredDescriptionDefault
runIdYesCaller-chosen identifier linking this call to one research run.
modelSourceNoOrigin of a confidence model; AlphaFold pLDDT requires ALPHAFOLD_DB.
structureIdYesStable identifier of the supplied or retrieved structure.
sourceStatusYesProvenance label for the supplied structure or compound.
confidenceMetricsNoCaller-supplied confidence metrics when no AlphaFold PDB is parsed.
structurePdbBase64NoBase64-encoded protein PDB coordinate bytes for direct computation.
structureArtifactRefNoReference identifying the supplied structure-coordinate artifact.

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 / confidenceMetrics / description
      Added value: +"Caller-supplied confidence metrics when no AlphaFold PDB is parsed."
    • addedInput schema / properties / modelSource / description
      Added value: +"Origin of a confidence model; AlphaFold pLDDT requires ALPHAFOLD_DB."
    • addedInput schema / properties / runId / description
      Added value: +"Caller-chosen identifier linking this call to one research run."
    • addedInput schema / properties / sourceStatus / description
      Added value: +"Provenance label for the supplied structure or compound."
    • addedInput schema / properties / structureArtifactRef / description
      Added value: +"Reference identifying the supplied structure-coordinate artifact."
    • addedInput schema / properties / structureId / description
      Added value: +"Stable identifier of the supplied or retrieved structure."
    • addedInput schema / properties / structurePdbBase64 / description
      Added value: +"Base64-encoded protein PDB coordinate bytes for direct computation."
    • 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.1/5.0
Behavior4/5

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

Annotations already cover the read-only and idempotent profile, and the description adds genuine behavioral context: the AlphaFold-only provenance constraint and the rejection of experimental B-factors. It also hints at the output shape (residue scores vs. metric summary with source context), which goes beyond what the annotations declare.

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

Conciseness4/5

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

Front-loaded with the primary action and mode, followed by the disambiguation clause, then the return summary. The final sentence largely restates what the output schema already declares, so it is slightly less tight than it could be.

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

Completeness4/5

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

With an output schema, full parameter descriptions, and annotations, the description only needs to supply routing and constraint context — which it does. The main omission is untested edge behavior, e.g. what happens if both PDB bytes and confidence metrics are supplied.

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 the baseline is 3. The description's framing of the two input modes (PDB bytes vs. caller-supplied metrics) mildly reinforces the branch semantics between structurePdbBase64 and confidenceMetrics, but adds no formats, limits, or mutual-exclusivity rules beyond the schema text.

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 ('Extract per-residue AlphaFold pLDDT') and covers the second mode ('summarize supplied confidence metrics'). It explicitly distinguishes itself from adjacent tools (solvent exposure, epitope probability), so an agent can route correctly 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?

Gives clear context for use ('inspect local model confidence') plus explicit exclusions — not solvent exposure, not epitope probability — and a hard input constraint ('experimental PDB B-factors are not accepted as pLDDT'). It stops short of naming the sibling tools it defers to, so the exclusion is descriptive rather than a direct routing instruction.

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