Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ImmunoGraph MCP

OCI · GHCR.IO/AJEY95/IMMUNO-GRAPH

Provenance-aware computational epitope research tools with reproducible offline demonstrations.

40 Trust /100

Last scanned (1 hour ago)

Scores higher than 42% of OCI servers

Category Health and Science

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 4 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability64
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 7653 tokens (~166/item across 46 items; 46 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_duplicate_candidates" implies "remove" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
  • An AI judge read all 46 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 38

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed oci/ghcr.io/ajey95/immuno-graph@0.2.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 46 exposed · ~7,653 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
apply_constraint_rules ~188

Apply base, duplicate, and overlap rules to one immutable candidate snapshot and return final rule outcomes. Use after validate_thresholds, remove_duplicate_candidates, and detect_overlapping_epitopes when their inputs are ready. The snapshot hash binds the decision to supplied evidence; this tool does not fetch new evidence.

NameTypeReqDescription
baseConstraintsarrayyesPreviously evaluated base rule inputs for final constraint application.
duplicateCandidatesarrayyesCandidate records to evaluate for exact positional duplication.
overlapCandidatesarrayyesCandidate records whose positional overlaps enter final constraint rules.
overlapThresholdnumberyesMinimum overlap fraction used by the final overlap rule.
ruleProfileVersionstringyesVersion of the biological constraint rule profile.
runIdstringyesCaller-chosen identifier linking this call to one research run.
snapshotHashstringyesSHA-256 identity of the immutable evidence snapshot.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calculate_molecular_descriptors ~138

Calculate molecular descriptor values for a supplied SMILES using the selected RDKit or lightweight method. Use after validate_compound for chemistry features; this does not predict binding or prepare 3D ligand coordinates. RDKit mode requires its runtime, while lightweight estimates are explicitly identified as such.

NameTypeReqDescription
compoundIdstringyesStable identifier for the supplied compound within this run.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
runIdstringyesCaller-chosen identifier linking this call to one research run.
smilesstringyesChemical structure encoded as a SMILES string.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calculate_population_coverage ~175

Estimate HLA population coverage for supplied peptide-allele associations using a configured authoritative IEDB service or an explicitly allowed exact fixture. Use when the allele restrictions and population IDs are known; use calculate_synthetic_population_coverage only for demonstrations. LIVE_ONLY requires the live service and the result carries source provenance.

NameTypeReqDescription
associationsarrayyesPeptide-to-HLA restrictions used for population coverage calculation.
classModestring–Whether coverage uses class-I, class-II, or combined associations.
fallbackPolicystring–Allowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
populationIdsarrayyesPopulation identifiers requested from the coverage source or synthetic dataset.
runIdstring–Caller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calculate_structure_confidence ~214

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.

NameTypeReqDescription
confidenceMetricsobject–Caller-supplied confidence metrics when no AlphaFold PDB is parsed.
modelSourcestring–Origin of a confidence model; AlphaFold pLDDT requires ALPHAFOLD_DB.
runIdstringyesCaller-chosen identifier linking this call to one research run.
sourceStatusstringyesProvenance label for the supplied structure or compound.
structureArtifactRefstring–Reference identifying the supplied structure-coordinate artifact.
structureIdstringyesStable identifier of the supplied or retrieved structure.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calculate_surface_accessibility ~162

Calculate relative solvent accessibility for mapped residues with FreeSASA on supplied PDB coordinates, or replay an exact fixture. Use after map_epitopes_to_structure when asking whether residues are exposed; use calculate_structure_confidence for model pLDDT instead. Live computation requires FreeSASA and PDB bytes; output is computed accessibility, not epitope probability.

NameTypeReqDescription
mappingsarrayyesCandidate-to-structure residue intervals used to calculate accessibility.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
runIdstringyesCaller-chosen identifier linking this call to one research run.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calculate_synthetic_population_coverage ~134

Calculate deterministic demonstration coverage from synthetic HLA-frequency inputs. Use for teaching or testing the coverage pipeline, never as a population estimate; use calculate_population_coverage for a configured authoritative source. The output remains synthetic regardless of its numeric values.

NameTypeReqDescription
associationsarrayyesPeptide-to-HLA restrictions used for population coverage calculation.
classModestring–Whether coverage uses class-I, class-II, or combined associations.
populationIdsarrayyesPopulation identifiers requested from the coverage source or synthetic dataset.
runIdstring–Caller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

calibrate_confidence ~158

Fit Platt or isotonic calibration on labeled samples and evaluate on separate labeled outcomes, or emit rule-based confidence. Use fitted modes only with real calibration and evaluation labels; rule-based mode has no measured reliability. Returns calibrated probabilities and metrics only where the input labels support them.

NameTypeReqDescription
calibrationSamplesarray–Labeled examples used only to fit a calibration model.
evaluationSamplesarray–Held-out labeled samples used to evaluate fitted calibration.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
predictionsarrayyesPredicted values to calibrate or score using the selected method.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

categorize_candidates ~109

Assign provisional decision categories and blocking conditions from supplied scores, rules, and thresholds. Use after scoring and rule evaluation; use rank_candidates for numeric ordering, not category assignment. Returns deterministic categories that retain the input evidence boundaries.

NameTypeReqDescription
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
runIdstringyesCaller-chosen identifier linking this call to one research run.
thresholdsobjectyesNamed score or decision cutoffs supplied by the caller.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

chat_with_research_agent ~142

Answer a researcher question from the supplied evidence summary under the bounded agent policy. Use for an explanation after evidence has been assembled; this tool does not independently retrieve papers, predict epitopes, or run the workflow. Deterministic mode cites supplied evidence; LLM mode requires configured model access.

NameTypeReqDescription
agentModestringyesChoose deterministic policy execution or an enabled LLM-assisted mode.
evidenceSummaryobjectyesEvidence already assembled by the caller; no retrieval is performed.
questionstringyesResearcher question to answer using only evidenceSummary.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

cluster_docking_poses ~202

Group supplied Vina ligand poses by coordinate RMSD using DBSCAN or hierarchical clustering, or replay an exact fixture. Use after run_docking to summarize pose diversity; this does not redock or measure affinity. Direct mode requires matching pose records and PDBQT bytes and returns cluster assignments.

NameTypeReqDescription
dockingRunIdstringyesIdentifier of the docking run whose poses or complex are analyzed.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
posesarrayyesPose records whose IDs and coordinates correspond to the supplied PDBQT models.
posesPdbqtBase64string–Base64-encoded multi-model Vina pose PDBQT bytes for RMSD clustering.
rmsdThresholdAngstromnumber–Ligand RMSD distance cutoff in angstroms for grouping poses.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

compute_consensus ~137

Combine one candidate group of normalized observations into weighted consensus, agreement, and completeness. Use after normalize_scores when the group and required weight are known; use compute_consensus_batch for several independent groups. It calculates from caller-supplied evidence and does not make a new prediction.

NameTypeReqDescription
configuredRequiredWeightnumberyesTotal weight of evidence methods required by the consensus profile.
groupKeystringyesStable identifier for one independent consensus group.
observationsarrayyesCaller-supplied evidence observations; this tool does not fetch them.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

compute_consensus_batch ~93

Compute weighted consensus separately for multiple candidate groups in one call. Use instead of repeated compute_consensus calls when groups are already assembled; groups are not pooled together. Returns one result per supplied group, based only on its input observations.

NameTypeReqDescription
groupsarrayyesIndependent candidate groups, each with its own observations and weights.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

create_molstar_view ~213

Package supplied protein and optional ligand PDB coordinates into an interactive Mol* HTML viewer, or return an exact fixture reference. Use when a client needs a 3D visualization after structure or docking work; this does not calculate a new pose. Returns HTML bytes whose viewer loads its library from a CDN.

NameTypeReqDescription
ligandArtifactRefstring–Reference identifying the ligand coordinate artifact represented in the view.
ligandPdbBase64string–Base64-encoded ligand PDB coordinates to embed in a 3D view.
modestringyesExecution or visualization mode; inspect enum choices and required inputs for each.
runIdstringyesCaller-chosen identifier linking this call to one research run.
structureArtifactRefstringyesReference identifying the supplied structure-coordinate artifact.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
viewIdstringyesCaller-chosen identifier for the generated Mol* view.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

deduplicate_compounds ~101

Compare supplied compounds by RDKit canonical isomeric SMILES and InChIKey when live chemistry is requested. Use after validate_compound to collapse chemical identity duplicates; this is distinct from remove_duplicate_candidates, which handles epitope positions. Returns canonical groups and preserves input provenance.

NameTypeReqDescription
compoundsarrayyesCompound records to compare by canonical chemical identity.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

describe_agentic_workflow ~114

Describe the bounded workflow manifest, stage permissions, and approval gates without running tools. Use to inspect orchestration before run_agentic_workflow; this is a description, not a live scientific call. Returns the declared stages and tool permissions.

NameTypeReqDescription
includeFutureInterfacesbooleanyesWhether to describe declared future interfaces as well as current stages.
runIdstringyesCaller-chosen identifier linking this call to one research run.
runIntentstringyesShort description of the planned research workflow to inspect.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

detect_binding_pockets ~164

Run fpocket on supplied PDB coordinates to identify geometric binding pockets, or replay an exact fixture. Use after structure validation for pocket exploration; use run_docking to score a prepared receptor-ligand pair. Live mode needs the fpocket binary and PDB bytes; pocket scores are computational descriptors.

NameTypeReqDescription
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
runIdstringyesCaller-chosen identifier linking this call to one research run.
structureArtifactRefstringyesReference identifying the supplied structure-coordinate artifact.
structureIdstringyesStable identifier of the supplied or retrieved structure.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

detect_overlapping_epitopes ~111

Find positional overlap competitors and connected components among candidate intervals. Use before apply_constraint_rules when overlaps need review; this tool does not choose a winner or deduplicate identities. Returns interval relationships from caller-supplied coordinates.

NameTypeReqDescription
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
runIdstringyesCaller-chosen identifier linking this call to one research run.
thresholdnumberyesNumeric cutoff for the selected overlap or decision operation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

explain_candidate ~226

Explain a fixed candidate category and score from supplied component scores, rule outcomes, and provenance. Use after ranking and constraints when a researcher needs a decision rationale; this cannot change scientific values. Deterministic mode uses only supplied evidence; optional LLM paraphrase needs its configured runtime.

NameTypeReqDescription
audiencestringyesIntended reader of the candidate explanation.
candidateKeystringyesStable key identifying one epitope candidate across evidence stages.
categorystringyesFinal candidate decision category being explained.
componentScoresobjectyesNamed score components that contributed to the fixed final score.
explanationModestringyesChoose deterministic explanation or configured LLM paraphrase.
finalScorenumberyesAlready computed final candidate score in the unit interval.
provenanceStatusesarrayyesSource-status labels associated with the candidate evidence.
ruleOutcomesarrayyesPreviously computed rule outcomes supporting an explanation.
runIdstringyesCaller-chosen identifier linking this call to one research run.
trackRankintegeryesExisting rank within the candidate track.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

export_candidates ~148

Serialize supplied candidate records into JSON or CSV with raw and normalized scores kept separate. Use after candidate review for a table export; generate_report produces a broader report. Returns file bytes and checksum metadata, not new scientific scores.

NameTypeReqDescription
candidateSnapshotarray–Caller-supplied reviewed candidate rows to serialize; no new scores are calculated.
categoriesarrayyesCandidate categories to include in the export.
formatstringyesRequested structure or export format, as enumerated by this tool.
idempotencyKeystringyesCaller-supplied stable key for repeatable export identity.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

export_research_package ~189

Build a checksummed research ZIP from a supplied package snapshot and selected sections. Use after reports and artifacts are ready for handoff; generate_report exports individual report files. It serializes supplied evidence and metadata rather than launching predictors or docking.

NameTypeReqDescription
idempotencyKeystringyesCaller-supplied stable key for repeatable export identity.
includeAgentTracebooleanyesWhether to include supplied agent trace data in the package.
includeChemistrybooleanyesWhether to include supplied chemistry artifacts in the package.
includeDockingbooleanyesWhether to include supplied docking artifacts in the package.
includeStructurebooleanyesWhether to include supplied structure artifacts in the package.
packageSnapshotobject–Complete caller-supplied research snapshot to serialize into the ZIP.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

export_workflow_trace ~135

Serialize supplied ordered workflow events into a redacted JSON trace artifact. Use for audit or reproducibility after a workflow; generate_report is for the scientific summary. Returns inline bytes and SHA-256 metadata while omitting secrets and private reasoning.

NameTypeReqDescription
idempotencyKeystringyesCaller-supplied stable key for repeatable export identity.
redactionProfilestringyesNamed policy for omitting private trace content from export.
runIdstringyesCaller-chosen identifier linking this call to one research run.
traceEventsarray–Ordered caller-supplied events to serialize after redaction.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

extract_interactions ~173

Run PLIP on a supplied protein-ligand complex PDB to identify computed contact geometry, or replay an exact fixture. Use after run_docking when a representative pose has been exported; this does not experimentally measure binding. Live mode requires PLIP and returns structured contacts plus the original XML artifact.

NameTypeReqDescription
complexPdbBase64string–Base64-encoded protein-ligand complex PDB bytes from a representative pose.
dockingRunIdstringyesIdentifier of the docking run whose poses or complex are analyzed.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
representativePoseIdsarrayyesPose IDs whose complex should be examined for contacts.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

fetch_compound ~137

Retrieve compound identity and SMILES from configured PubChem access or replay an exact fixture. Use with a known compound reference before validation or ligand preparation; this does not calculate descriptors. LIVE_ONLY requires PubChem access and returns source provenance.

NameTypeReqDescription
compoundRefstringyesProvider compound reference or exact fixture key; PubChem uses its CID.
fallbackPolicystringyesAllowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
runIdstringyesCaller-chosen identifier linking this call to one research run.
sourcestringyesSelected remote provider or exact fixture source.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

fetch_structure ~170

Retrieve PDB coordinates from RCSB or an AlphaFold model from the configured provider, or replay an exact fixture. Use when a structure accession is known and before coordinate-based analyses; this is not sequence prediction. LIVE_ONLY requires network access and returns source provenance plus coordinate artifact bytes.

NameTypeReqDescription
accessionstringyesProvider accession, such as an RCSB PDB ID or AlphaFold accession, matching source.
fallbackPolicystringyesAllowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
runIdstringyesCaller-chosen identifier linking this call to one research run.
sourcestringyesSelected remote provider or exact fixture source.
targetIdstringyesCaller-chosen identifier for the target protein or structure.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

generate_candidate_peptides ~155

Enumerate one-based peptide windows from a supplied protein sequence for MHC-I or MHC-II exploration. Use after validate_sequence and before prediction; this creates candidates, not binding scores. Returns each window with peptide, start, end, and length.

NameTypeReqDescription
candidateTypestringyesMHC class or candidate category this operation applies to.
peptideLengthsarrayyesPeptide window lengths in amino-acid residues for the selected MHC class.
runIdstring–Caller-chosen identifier linking this call to one research run.
sequencestringyesProtein amino-acid sequence without a FASTA header.
sequenceHashstring–Optional SHA-256 identity of the supplied protein sequence.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

generate_report ~165

Render the supplied approved report snapshot into requested JSON, Markdown, or CSV artifacts. Use after evidence review when a report is needed; export_candidates is for candidate rows and export_research_package is for a ZIP. Returns inline file bytes with lengths and SHA-256 hashes; it does not independently fetch evidence.

NameTypeReqDescription
idempotencyKeystringyesCaller-supplied stable key for repeatable export identity.
outputFormatsarrayyesFile formats to render from the supplied report snapshot.
reportSnapshotobject–Caller-supplied approved report data to render; no evidence retrieval occurs.
runIdstringyesCaller-chosen identifier linking this call to one research run.
templateVersionstringyesVersion of the report layout used to render artifacts.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

map_epitopes_to_structure ~192

Align supplied candidate sequence positions to residue coordinates in a PDB structure, or replay an exact fixture. Use after validate_structure when mapping sequence evidence onto a model; use calculate_surface_accessibility for solvent exposure. Direct-coordinate mode requires reference sequence and PDB bytes and returns mapped positions.

NameTypeReqDescription
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
mappingModestringyesDIRECT_COORDINATE uses supplied PDB and reference sequence; FIXTURE replays an exact case.
referenceSequencestring–Protein sequence whose positions are aligned to PDB residues.
runIdstringyesCaller-chosen identifier linking this call to one research run.
structureIdstringyesStable identifier of the supplied or retrieved structure.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

normalize_scores ~109

Transform supplied raw observations into comparable unit-interval values using a named versioned normalization registry. Use after evidence collection and before consensus or ranking; this does not fetch predictors or improve source quality. Returns normalized observations and records the applied transformation.

NameTypeReqDescription
observationsarrayyesCaller-supplied evidence observations; this tool does not fetch them.
registryVersionstringyesVersion of the score normalization profile registry.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

optimize_construct_genetic ~245

Run seeded genetic-style search over supplied candidates to balance construct size, coverage, redundancy, and manufacturability terms. Use after final ranking when searching construct arrangements; use optimize_shortlist_coverage for simpler deterministic shortlist selection. Returns a computed proposal, not a validated vaccine construct.

NameTypeReqDescription
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
finalRankingSnapshotHashstringyesSHA-256 identity of the final ranking snapshot supplying these candidates.
linkerstringyesPeptide linker sequence used when assembling construct proposals.
maximumConstructSizeintegeryesUpper limit on construct size for genetic-style search.
maximumGenerationsintegeryesMaximum optimization generations before returning a proposal.
populationIdsarrayyesPopulation identifiers requested from the coverage source or synthetic dataset.
populationSizeintegeryesNumber of candidate construct genomes per optimization generation.
populationWeightsobject–Caller-supplied weights for combining named population coverage values.
runIdstringyesCaller-chosen identifier linking this call to one research run.
targetCoveragenumberyesDesired population coverage fraction used by optimization.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

optimize_shortlist_coverage ~255

Select a deterministic T-cell shortlist from eligible ranked candidates using supplied population coverage and construct constraints. Use after final ranking when shortlist size or coverage is the decision; use optimize_construct_genetic for seeded construct search. The result depends on the supplied coverage matrix and is not an independently measured population outcome.

NameTypeReqDescription
candidatesarray–Caller-supplied candidate records; required nested fields depend on this operation.
eligibleCandidateIdsarrayyesIDs of finally eligible candidates considered for the shortlist.
finalRankingSnapshotHashstringyesSHA-256 identity of the final ranking snapshot supplying these candidates.
linkerstring–Peptide linker sequence used when assembling construct proposals.
maximumShortlistSizeinteger–Upper limit on candidates selected for the shortlist.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
populationIdsarrayyesPopulation identifiers requested from the coverage source or synthetic dataset.
populationWeightsobject–Caller-supplied weights for combining named population coverage values.
runIdstringyesCaller-chosen identifier linking this call to one research run.
targetCoveragenumber–Desired population coverage fraction used by optimization.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

predict_bcell ~205

Score linear B-cell sequence positions using configured live IEDB BepiPred-3.0, local Parker hydrophilicity, or an exact GraphBepi fixture. Choose the method explicitly: Parker is a physicochemical proxy and GraphBepi is fixture-only in this release. Returns residue scores, regions, and provenance; live IEDB access may fail or time out.

NameTypeReqDescription
fallbackPolicystringyesAllowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
methodsarrayyesNamed predictor methods to run or replay; availability depends on configuration.
parametersobjectyesMethod-specific predictor settings; allowed keys depend on selected methods.
proteinRefstringyesStable protein reference or exact fixture key for this prediction.
runIdstringyesCaller-chosen identifier linking this call to one research run.
sequencestring–Protein amino-acid sequence without a FASTA header.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

predict_mhci ~219

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

NameTypeReqDescription
allelesarrayyesHLA allele identifiers relevant to the selected MHC class.
fallbackPolicystring–Allowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
methodsarray–Named predictor methods to run or replay; availability depends on configuration.
peptideLengthsarrayyesPeptide window lengths in amino-acid residues for the selected MHC class.
proteinRefstring–Stable protein reference or exact fixture key for this prediction.
runIdstring–Caller-chosen identifier linking this call to one research run.
sequencestring–Protein amino-acid sequence without a FASTA header.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

predict_mhcii ~220

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.

NameTypeReqDescription
allelesarrayyesHLA allele identifiers relevant to the selected MHC class.
fallbackPolicystring–Allowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
methodsarray–Named predictor methods to run or replay; availability depends on configuration.
peptideLengthsarrayyesPeptide window lengths in amino-acid residues for the selected MHC class.
proteinRefstring–Stable protein reference or exact fixture key for this prediction.
runIdstring–Caller-chosen identifier linking this call to one research run.
sequencestring–Protein amino-acid sequence without a FASTA header.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

predict_synthetic_binding ~212

Create deterministic synthetic MHC binding values for demos and software tests from supplied candidates and alleles. Use only when teaching or testing the pipeline; use predict_mhci or predict_mhcii for configured scientific prediction. Output is marked synthetic and must not be treated as binding evidence.

NameTypeReqDescription
allelesarrayyesHLA allele identifiers relevant to the selected MHC class.
candidateTypestringyesMHC class or candidate category this operation applies to.
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
datasetVersionstringyesVersion label for the synthetic demonstration dataset.
methodstringyesAlgorithm or provider method selected for this operation; inspect allowed schema values.
methodVersionstringyesVersion of the selected calculation method.
proteinHashstringyesSHA-256 identity of the protein sequence associated with these candidates.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

prepare_ligand ~149

Generate a 3D SDF and Meeko PDBQT from supplied SMILES using configured RDKit and Meeko, or return an exact fixture reference. Use before run_docking for a ligand; calculate_molecular_descriptors does not produce docking coordinates. Live preparation returns artifact bytes and hashes and fails if a required runtime is absent.

NameTypeReqDescription
compoundIdstringyesStable identifier for the supplied compound within this run.
preparationMethodstringyesPreparation backend, such as configured Meeko or exact fixture mode.
runIdstringyesCaller-chosen identifier linking this call to one research run.
smilesstringyesChemical structure encoded as a SMILES string.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

prepare_receptor ~163

Convert supplied protein PDB coordinates and selected chains into receptor PDBQT with Meeko, or return an exact fixture reference. Use before run_docking for the receptor; validate_structure checks coordinates but does not prepare charges or PDBQT. Live preparation requires the Meeko runtime and returns artifact bytes.

NameTypeReqDescription
chainIdsarrayyesProtein chain identifiers selected from the supplied structure.
preparationMethodstringyesPreparation backend, such as configured Meeko or exact fixture mode.
runIdstringyesCaller-chosen identifier linking this call to one research run.
structureIdstringyesStable identifier of the supplied or retrieved structure.
structurePdbBase64string–Base64-encoded protein PDB coordinate bytes for direct computation.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

rank_candidates ~196

Calculate preliminary candidate scores or final stable ranks from supplied evidence snapshots and completion flags. Use PRELIMINARY before final constraints and FINAL only after base and final constraints are complete; this does not call predictors. Returns ranked candidates and applies the versioned ranking profile to the supplied values.

NameTypeReqDescription
baseConstraintsCompletebooleanyesWhether all required base constraint results are present.
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
finalConstraintsCompletebooleanyesWhether required final constraint results are present for final ranking.
phasestringyesPRELIMINARY scores incomplete work; FINAL requires completed base and final constraints.
rankingProfileVersionstringyesVersioned weighting profile applied to candidate scoring.
runIdstringyesCaller-chosen identifier linking this call to one research run.
thresholdsobject–Named score or decision cutoffs supplied by the caller.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

remove_duplicate_candidates ~109

Group candidates with identical positional identity and choose canonical records. Use before apply_constraint_rules to remove true duplicates; identical peptide strings at different coordinates remain separate. Returns canonical and duplicate relationships without changing source evidence.

NameTypeReqDescription
candidatesarrayyesCaller-supplied candidate records; required nested fields depend on this operation.
proteinHashstringyesSHA-256 identity of the protein sequence associated with these candidates.
runIdstringyesCaller-chosen identifier linking this call to one research run.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

run_agentic_workflow ~191

Execute caller-supplied approved typed toolCalls in bounded stage order, or return a plan if no calls are supplied. Use when the client has already selected inputs and allowed tools; describe_agentic_workflow only inspects the manifest. The tool does not autonomously invent calls, and approval gates pause rather than self-approve.

NameTypeReqDescription
agentModestringyesChoose deterministic policy execution or an enabled LLM-assisted mode.
approvedToolNamesarrayyesExact tool names the caller permits this workflow to invoke.
objectivestringyesResearch objective supplied by the caller to label the bounded workflow.
requireHumanApprovalbooleanyesPause at gated workflow stages until the caller supplies approval.
runIdstringyesCaller-chosen identifier linking this call to one research run.
toolCallsarray–Typed, caller-selected tool invocations to execute in stage order.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

run_docking ~345

Run configured AutoDock Vina on receptor and ligand PDBQT bytes inside a supplied box, or replay an exact fixture. Use after prepare_receptor, prepare_ligand, and validate_docking_box; LIVE_ONLY requires Vina and never silently substitutes a fixture. Returns scored coordinate poses, viewer HTML, and ZIP bytes; runtime can be substantial and scores are computational estimates.

NameTypeReqDescription
boxobject–Docking search-box center and size in receptor-coordinate angstroms.
cpuinteger–Number of CPU workers to request for the Vina run.
dockingBoxIdstringyesCaller-chosen identifier for the validated docking search box.
exhaustivenessinteger–Vina search-effort parameter; larger values may take longer.
fallbackPolicystringyesAllowed source order; LIVE_ONLY forbids cache and fixture substitution, FIXTURE_ONLY forbids live calls.
ligandIdstringyesCaller-chosen ligand identifier for this docking run.
ligandPdbqtBase64string–Base64-encoded prepared ligand PDBQT bytes for Vina.
modestringyesExecution or visualization mode; inspect enum choices and required inputs for each.
numModesinteger–Maximum Vina ligand poses to return.
receptorIdstringyesCaller-chosen receptor identifier for this docking run.
receptorPdbqtBase64string–Base64-encoded prepared receptor PDBQT bytes for Vina.
runIdstringyesCaller-chosen identifier linking this call to one research run.
seedinteger–Random seed for reproducible Vina search when supplied.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

validate_compound ~136

Parse and canonicalize supplied SMILES with RDKit for live-sourced compounds, or validate an explicit fixture record. Use before deduplication, descriptors, or ligand preparation; this checks chemical syntax and identity, not biological activity. RDKit unavailability returns a structured failure for the live path.

NameTypeReqDescription
compoundIdstringyesStable identifier for the supplied compound within this run.
runIdstringyesCaller-chosen identifier linking this call to one research run.
smilesstringyesChemical structure encoded as a SMILES string.
sourceStatusstringyesProvenance label for the supplied structure or compound.
NameTypeReqDescription
dataobject–Tool-specific result fields on success.
errorobject–Structured failure on unsuccessful execution.
metaobjectyesRun identifiers, timings, and input/output hashes.
okbooleanyesWhether execution completed successfully.

No examples provided.

Install

How do I install the ImmunoGraph MCP server?

ImmunoGraph MCP runs locally as a container image, launched with docker run --rm -i ghcr.io/ajey95/immuno-graph:0.2.1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/ajey95/immuno-graph

# add to Claude Code
claude mcp add ajey95-immunograph -- docker run --rm -i ghcr.io/ajey95/immuno-graph:0.2.1
Common questions

What is the ImmunoGraph MCP server?

ImmunoGraph MCP is listed in the public MCP registry as io.github.Ajey95/immunograph. Provenance-aware computational epitope research tools with reproducible offline demonstrations. This page covers its container image (ghcr.io/ajey95/immuno-graph).

Is the ImmunoGraph MCP server safe to use?

ImmunoGraph MCP scores 40 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ImmunoGraph MCP server expose?

ImmunoGraph MCP exposes 46 tools: validate_sequence, generate_candidate_peptides, predict_mhci, predict_mhcii, predict_bcell, and 41 more. Their descriptions and schemas cost roughly 7,653 tokens of context every time the server is loaded.

Is the ImmunoGraph MCP server still maintained?

ImmunoGraph MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the ImmunoGraph MCP server under?

ImmunoGraph MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.