CAN-IMMUNE MCP
A read-only MCP server that allows AI assistants to query the CAN-IMMUNE database for cancer neoantigen mutations, peptides, cell lines, tissues, and cached MHC-I binding predictions using plain language.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://canelib.erc.monash.edu/mcpWhat its tools do
12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search CAN-IMMUNE for BRAF and summarise its mutations
- Find the top mutated genes in MDA-MB-231
- Show cached MHC binding for a peptide with HLA-A*02:11
- Get database totals for mutations and peptides
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- CAN-IMMUNE 1.29.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 12 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"experimental": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
database_overview
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.
{
"type": "object",
"title": "database_overviewArguments",
"properties": {}
}search_genes
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).
{
"type": "object",
"title": "search_genesArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Max rows to return (1-100). Default 20."
},
"query": {
"type": "string",
"title": "Query",
"description": "Gene symbol or part of a gene name, e.g. 'TP53', 'BRAF', or 'kinase'. Case-insensitive, partial matches allowed."
}
}
}get_gene
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.
{
"type": "object",
"title": "get_geneArguments",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"title": "Symbol",
"description": "Exact HGNC gene symbol, e.g. 'TP53', 'KRAS', 'EGFR'. Use search_genes first if unsure of the exact symbol."
}
}
}search_cell_lines
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).
{
"type": "object",
"title": "search_cell_linesArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Max rows to return (1-100). Default 20."
},
"query": {
"type": "string",
"title": "Query",
"description": "Cell-line name or fragment, e.g. 'MDA-MB-231', 'HeLa', 'A549'. Case-insensitive, partial matches allowed; hyphen/spacing variants are normalized."
}
}
}get_cell_line
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.
{
"type": "object",
"title": "get_cell_lineArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Exact cell-line name, e.g. 'MDA-MB-231', 'A549'. Use search_cell_lines first if unsure of the exact name."
}
}
}top_genes_in_cell_line
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.
{
"type": "object",
"title": "top_genes_in_cell_lineArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Exact cell-line name, e.g. 'MDA-MB-231'."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 15,
"description": "How many top genes to return (1-100). Default 15."
}
}
}list_cancer_types
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.
{
"type": "object",
"title": "list_cancer_typesArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"description": "Max cancer types to return (1-100). Default 50."
}
}
}list_tissues
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`.
{
"type": "object",
"title": "list_tissuesArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"description": "Max tissues to return (1-100). Default 50."
}
}
}get_gene_mutations
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.
{
"type": "object",
"title": "get_gene_mutationsArguments",
"required": [
"gene"
],
"properties": {
"gene": {
"type": "string",
"title": "Gene",
"description": "Exact gene symbol whose mutations you want, e.g. 'TP53'."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"description": "Max mutation rows to return (1-100). Default 50. This is a bounded sample, not the full list."
}
}
}get_mhc_binding
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.
{
"type": "object",
"title": "get_mhc_bindingArguments",
"required": [
"peptide",
"allele"
],
"properties": {
"allele": {
"type": "string",
"title": "Allele",
"description": "HLA class-I allele in NetMHCpan format, e.g. 'HLA-A*02:11', 'HLA-B*07:02'."
},
"peptide": {
"type": "string",
"title": "Peptide",
"description": "The peptide sequence, e.g. 'FLDGNQIVT' (single-letter amino acids)."
}
}
}search
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.
{
"type": "object",
"title": "searchArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"description": "Free-text query matching a gene symbol/name or a cell-line name, e.g. 'BRAF' or 'MDA-MB-231'."
}
}
}fetch
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.
{
"type": "object",
"title": "fetchArguments",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"title": "Id",
"description": "An id from a `search` result, formatted 'gene:<SYMBOL>' or 'cell_line:<NAME>', e.g. 'gene:TP53' or 'cell_line:MDA-MB-231'."
}
}
}Prompts
0 advertised
Resources
0 advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1316 ms
- 95th percentile latency
- 1316 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1316 ms · metadata changed · 12 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http can-immune-mcp https://canelib.erc.monash.edu/mcpCodex
codex mcp add can-immune-mcp --url https://canelib.erc.monash.edu/mcpCursor
{
"mcpServers": {
"can-immune-mcp": {
"url": "https://canelib.erc.monash.edu/mcp"
}
}
}Cline
{
"mcpServers": {
"can-immune-mcp": {
"type": "streamableHttp",
"url": "https://canelib.erc.monash.edu/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"can-immune-mcp": {
"type": "http",
"url": "https://canelib.erc.monash.edu/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http can-immune-mcp https://canelib.erc.monash.edu/mcpClaude Desktop
https://canelib.erc.monash.edu/mcpWindsurf
{
"mcpServers": {
"can-immune-mcp": {
"serverUrl": "https://canelib.erc.monash.edu/mcp"
}
}
}Let your agent find its tools
Find servers like CAN-IMMUNE MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.