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.

io.github.sanjaysgk/can-immune

REMOTE · CANELIB.ERC.MONASH.EDU · SCANNED OCT 2

Query CAN-IMMUNE: cancer neoantigen mutations, peptides, cell lines, MHC-I binding. Read-only.

0 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability76
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1822 tokens (~151/item across 12 items; 12 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.sanjaysgk/can-immune MCP server?

io.github.sanjaysgk/can-immune is a hosted endpoint at https://canelib.erc.monash.edu/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · canelib.erc.monash.edu

# add to Claude Code
claude mcp add --transport http sanjaysgk-can-immune 'https://canelib.erc.monash.edu/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "sanjaysgk-can-immune": {
      "url": "https://canelib.erc.monash.edu/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "sanjaysgk-can-immune": {
      "type": "http",
      "url": "https://canelib.erc.monash.edu/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.sanjaysgk-can-immune]
url = "https://canelib.erc.monash.edu/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sanjaysgk-can-immune": {
      "type": "remote",
      "url": "https://canelib.erc.monash.edu/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add sanjaysgk-can-immune --url 'https://canelib.erc.monash.edu/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  sanjaysgk-can-immune:
    url: "https://canelib.erc.monash.edu/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "sanjaysgk-can-immune": {
      "Transport": "http",
      "Url": "https://canelib.erc.monash.edu/mcp"
    }
  }
}
# add to Vellum
assistant mcp add sanjaysgk-can-immune -t streamable-http -u 'https://canelib.erc.monash.edu/mcp'
// mcp.json
{
  "mcpServers": {
    "sanjaysgk-can-immune": {
      "type": "http",
      "url": "https://canelib.erc.monash.edu/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
  • 7 Sept 26 +1

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

  • 4 Sept 26 +1

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

  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 10 Aug 26 0

    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 2 Oct 2026 · Probed https://canelib.erc.monash.edu/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=canelib.erc.monash.edu,O=Monash University,ST=Victoria,C=AU CN=Sectigo Public Server Authentication CA OV R36,O=Sectigo Limited,C=GB 27 Jul 2026 10 Feb 2027 RSA 2048 SHA256-RSA be8aa7d56148036e2fe6bbbf1bb3eacf
SANs: canelib.erc.monash.edu, canelib.erc.monash.edu.au
CN=Sectigo Public Server Authentication CA OV R36,O=Sectigo Limited,C=GB (CA) CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB 22 Mar 2021 21 Mar 2036 RSA 3072 SHA384-RSA 2c1a3c76e943ddddff191b31890aed71
CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB (CA) CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US 22 Mar 2021 18 Jan 2038 RSA 4096 SHA384-RSA d27fbbc1de359e5216ad6149586099c4
CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US (CA) CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US 1 Feb 2010 18 Jan 2038 RSA 4096 SHA384-RSA 1fd6d30fca3ca51a81bbc640e35032d

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of canelib.erc.monash.edu. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
edu. present 35663 13 Verified
monash.edu. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://canelib.erc.monash.edu/mcp Verified 200
http (plaintext) http://canelib.erc.monash.edu/mcp HTTPS enforced 301 https://canelib.erc.monash.edu/mcp
MCP tools · 12 exposed · ~1,744 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
database_overview ~103

Get the headline size of the CAN-IMMUNE database in one call. Returns total counts of mutations, genes, and unique mutant peptides, plus how many cell lines, tissues, and cancer types are covered, and the data sources (COSMIC, DepMap/CCLE, PubMed). Use this first to size the resource or to answer "how big is the database / how many X are there" questions. No parameters.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

fetch ~145

Fetch the full record for an id returned by `search` (ChatGPT connector interface). Takes an id like 'gene:TP53' or 'cell_line:MDA-MB-231' and returns {id, title, text, url, metadata} where `text` is the full JSON profile (same data as get_gene / get_cell_line). Always call `search` first to obtain a valid id.

NameTypeReqDescription
idstringyesAn id from a `search` result, formatted 'gene:<SYMBOL>' or 'cell_line:<NAME>', e.g. 'gene:TP53' or 'cell_line:MDA-MB-231'.

No output schema declared.

No examples provided.

get_cell_line ~158

Get the full profile for one cancer cell line by exact name. Returns tissue of origin, cancer type, total mutations, unique mutant peptides and genes, data sources, Cellosaurus and DepMap model IDs, gender, category / cell type, and the top ~15 most-mutated genes in that line, plus a link to its page. Use after `search_cell_lines`, or when the exact name is known, for a deep dive on one line. Returns an error field if the name is not found.

NameTypeReqDescription
namestringyesExact cell-line name, e.g. 'MDA-MB-231', 'A549'. Use search_cell_lines first if unsure of the exact name.

No output schema declared.

No examples provided.

get_gene ~154

Get the full profile for one gene by exact symbol. Returns total mutations and how they split between cell lines vs tissues, unique mutant peptides, sample and transcript counts, UniProt accession / name / reviewed status, the top ~15 recurrent mutations in that gene, and a link to the gene page. Use this after `search_genes` (or when you already know the symbol) to answer detailed questions about a single gene. Returns an error field if the symbol is not found.

NameTypeReqDescription
symbolstringyesExact HGNC gene symbol, e.g. 'TP53', 'KRAS', 'EGFR'. Use search_genes first if unsure of the exact symbol.

No output schema declared.

No examples provided.

get_gene_mutations ~177

List individual mutations in a gene (a bounded sample of rows). Each row gives the CAN-IMMUNE mutation ID (CANLIB...), the amino-acid change, the CDS change, mutation type (missense / complex substitution), data source, the sample it came from, its primary site, and the mutant peptide. Ordered by mutation ID. Capped at `limit` rows (max 100) for speed - for the complete table of a heavily-mutated gene, link the user to the gene page on the website.

NameTypeReqDescription
genestringyesExact gene symbol whose mutations you want, e.g. 'TP53'.
limitinteger–Max mutation rows to return (1-100). Default 50. This is a bounded sample, not the full list.

No output schema declared.

No examples provided.

get_mhc_binding ~190

Look up a CACHED MHC-I binding prediction for a peptide + HLA allele. Returns the NetMHCpan result (best binding core, %Rank_EL, binder level SB/WB/NB, and neoepitope %Rank_Neo when computed) for predictions already stored in the cache. This tool does NOT run new predictions - it only reads cached ones; if nothing is cached it returns cached=false with a note. To generate a new prediction, use the interactive button on the mutation page of the website.

NameTypeReqDescription
allelestringyesHLA class-I allele in NetMHCpan format, e.g. 'HLA-A*02:11', 'HLA-B*07:02'.
peptidestringyesThe peptide sequence, e.g. 'FLDGNQIVT' (single-letter amino acids).

No output schema declared.

No examples provided.

list_cancer_types ~92

List cancer types (histology) ranked by mutation burden. Returns each cancer type / histology with its total mutations, unique samples, and unique genes, most-mutated first. Use to see which cancer types dominate the database or to pick one for further drill-down on the website.

NameTypeReqDescription
limitinteger–Max cancer types to return (1-100). Default 50.

No output schema declared.

No examples provided.

list_tissues ~91

List primary tissues ranked by mutation burden. Returns each tissue (COSMIC primary-tissue samples only, kept separate from cell lines) with its total mutations, unique samples, and unique genes, most-mutated first. Use for tissue-level questions; for cell lines use `search_cell_lines`.

NameTypeReqDescription
limitinteger–Max tissues to return (1-100). Default 50.

No output schema declared.

No examples provided.

search ~158

Search CAN-IMMUNE for genes and cell lines (ChatGPT connector interface). Returns {results: [{id, title, url}]} combining matching genes and cell lines, each with a stable `id` (like 'gene:TP53' or 'cell_line:MDA-MB-231'). Pass that `id` to `fetch` to retrieve the full record. This is the generic search endpoint ChatGPT expects; MCP-native clients can also use the more specific `search_genes` / `search_cell_lines` tools.

NameTypeReqDescription
querystringyesFree-text query matching a gene symbol/name or a cell-line name, e.g. 'BRAF' or 'MDA-MB-231'.

No output schema declared.

No examples provided.

search_cell_lines ~176

Find cancer cell lines by name, ranked by mutation burden. Returns each matching cell line with its tissue of origin, cancer type, total mutations, unique mutant peptides, data sources (COSMIC / DepMap-CCLE / PubMed), and Cellosaurus ID. Covers only cell-line models (kept separate from primary tissue samples). Use before `get_cell_line` or `top_genes_in_cell_line`. Ordered by mutation count (most mutated first).

NameTypeReqDescription
limitinteger–Max rows to return (1-100). Default 20.
querystringyesCell-line name or fragment, e.g. 'MDA-MB-231', 'HeLa', 'A549'. Case-insensitive, partial matches allowed; hyphen/spacing variants are normalized.

No output schema declared.

No examples provided.

search_genes ~164

Find genes by symbol or full name, ranked by how mutated they are. Matches the gene symbol OR the full gene name (partial, case-insensitive) and returns each hit with its total mutation count, unique mutant-peptide count, sample count, and UniProt accession. Use it to locate a gene before calling `get_gene`, or to rank a set of genes by mutation burden. Results are ordered by mutation count (most mutated first).

NameTypeReqDescription
limitinteger–Max rows to return (1-100). Default 20.
querystringyesGene symbol or part of a gene name, e.g. 'TP53', 'BRAF', or 'kinase'. Case-insensitive, partial matches allowed.

No output schema declared.

No examples provided.

top_genes_in_cell_line ~136

Rank the most-mutated genes within one specific cell line. Answers "what is the top mutated gene in <cell line>" / "which genes are most altered in <cell line>". Returns genes with their mutation counts for that line, highest first, from precomputed per-cell-line stats (fast). For the whole profile of the line use `get_cell_line` instead.

NameTypeReqDescription
limitinteger–How many top genes to return (1-100). Default 15.
namestringyesExact cell-line name, e.g. 'MDA-MB-231'.

No output schema declared.

No examples provided.

Common questions

What is the io.github.sanjaysgk/can-immune MCP server?

io.github.sanjaysgk/can-immune is an MCP server listed in the public MCP registry as io.github.sanjaysgk/can-immune. Query CAN-IMMUNE: cancer neoantigen mutations, peptides, cell lines, MHC-I binding. Read-only. This page covers its hosted endpoint (https://canelib.erc.monash.edu/mcp).

Is the io.github.sanjaysgk/can-immune MCP server safe to use?

io.github.sanjaysgk/can-immune scores 81 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 io.github.sanjaysgk/can-immune MCP server expose?

io.github.sanjaysgk/can-immune exposes 12 tools: database_overview, search_genes, get_gene, search_cell_lines, get_cell_line, and 7 more. Their descriptions and schemas cost roughly 1,744 tokens of context every time the server is loaded.

Does the io.github.sanjaysgk/can-immune MCP server require authentication?

No. We connected to io.github.sanjaysgk/can-immune without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.sanjaysgk/can-immune MCP server still maintained?

io.github.sanjaysgk/can-immune is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.