io.github.sanjaysgk/can-immune
REMOTE · CANELIB.ERC.MONASH.EDU · SCANNED AUG 18
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 →
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 Management27
- Stability observed for 8 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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · canelib.erc.monash.edu
claude mcp add --transport http sanjaysgk-can-immune 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": {
"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.
- 17 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Aug 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.
- 13 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 +1
- 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 65
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 18 Aug 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 | 26 Aug 2025 | 26 Aug 2026 | RSA 2048 | SHA256-RSA | e8b29eacf081dace1f41fdc9c8cdd69b |
| 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 |
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 |
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.
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.