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.
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 12 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
claude mcp add --transport http sanjaysgk-can-immune 'https://canelib.erc.monash.edu/mcp'
{
"mcpServers": {
"sanjaysgk-can-immune": {
"url": "https://canelib.erc.monash.edu/mcp"
}
}
} {
"servers": {
"sanjaysgk-can-immune": {
"type": "http",
"url": "https://canelib.erc.monash.edu/mcp"
}
}
} [mcp_servers.sanjaysgk-can-immune] url = "https://canelib.erc.monash.edu/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sanjaysgk-can-immune": {
"type": "remote",
"url": "https://canelib.erc.monash.edu/mcp",
"enabled": true
}
}
} openclaw mcp add sanjaysgk-can-immune --url 'https://canelib.erc.monash.edu/mcp' --transport streamable-http
mcp_servers:
sanjaysgk-can-immune:
url: "https://canelib.erc.monash.edu/mcp" {
"McpServers": {
"sanjaysgk-can-immune": {
"Transport": "http",
"Url": "https://canelib.erc.monash.edu/mcp"
}
}
} assistant mcp add sanjaysgk-can-immune -t streamable-http -u 'https://canelib.erc.monash.edu/mcp'
{
"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.
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.
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 |
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | An 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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Exact 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.
| Name | Type | Req | Description |
|---|---|---|---|
| symbol | string | yes | Exact 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.
| Name | Type | Req | Description |
|---|---|---|---|
| gene | string | yes | Exact gene symbol whose mutations you want, e.g. 'TP53'. |
| limit | integer | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| allele | string | yes | HLA class-I allele in NetMHCpan format, e.g. 'HLA-A*02:11', 'HLA-B*07:02'. |
| peptide | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 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`.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Free-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).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max rows to return (1-100). Default 20. |
| query | string | yes | Cell-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).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max rows to return (1-100). Default 20. |
| query | string | yes | Gene 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many top genes to return (1-100). Default 15. |
| name | string | yes | Exact cell-line name, e.g. 'MDA-MB-231'. |
No output schema declared.
No examples provided.
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.