Can Immune

io.github.sanjaysgkPublished by GitHub account sanjaysgkv1.0.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableKnowledge & MemoryData & Analytics

Overview

AI-generated overview

A remote, read-only MCP server for the CAN-IMMUNE cancer neoantigen database, letting an assistant look up mutations, peptides, cell lines, tissues and cached M

What you can do
Get database-wide counts of mutations, genes, peptides, cell lines, tissues and cancer types, with data sources listed. Search genes and cell lines by name and retrieve full profiles, including top recurrent mutations and most-mutated genes. List cancer types and primary tissues ranked by mutation burden. List individual mutations in a gene with amino-acid and CDS changes, sample and mutant peptide. Look up cached MHC-I binding predictions for a peptide and HLA allele. Search and fetch records through a generic connector interface for ChatGPT-style clients.
When to use it
Useful for cancer genomics or immunology research questions about neoantigen mutation burden, mutant peptides, cell-line models and cached MHC-I binding, answered in plain language without writing queries against the underlying database.
Requirements
A remote Streamable HTTP endpoint; no local runtime or package. Works anonymously at a light rate limit; optional Google sign-in (OAuth 2.1) raises the limit, with academic email addresses getting the highest tier. Network access required.
Before you install
Read-only, but every query goes to a third-party research service at Monash University, so search terms are sent to that operator. MHC-I binding results are cached predictions only and no new predictions are run. Data derives from COSMIC, DepMap/CCLE and PubMed and should be checked against primary sources before research or clinical use.

Installation

In SourceWeft

  1. Open Can Immune in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.sanjaysgk%2Fcan-immune/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "can-immune": {
      "type": "http",
      "url": "https://canelib.erc.monash.edu/mcp"
    }
  }
}

README

CAN-IMMUNE MCP Server

Remote, read-only Model Context Protocol server for CAN-IMMUNE — a cancer neoantigen platform. Lets any AI agent (Claude, ChatGPT, Cursor, ...) query the database in plain language.

Connect

Add the endpoint as a custom connector, or:

claude mcp add --transport http canelib https://canelib.erc.monash.edu/mcp

Tools (read-only)

database_overview, search / fetch, search_genes, get_gene, search_cell_lines, get_cell_line, top_genes_in_cell_line, get_gene_mutations, list_tissues, list_cancer_types, get_mhc_binding.

Auth & rate limits

Works anonymously at a light rate. Optional Google sign-in (OAuth 2.1) raises the limit — academic emails (.edu, .edu.au, .ac.*) get the highest tier. Every query is parameterised, row-capped and time-bounded. Data: COSMIC, DepMap/CCLE, PubMed.

Source

canelib_mcp.py — the tools + server. oauth.py — the OAuth 2.1 / tiering layer. Secrets live outside the repo (see .gitignore).

Source: README.md at commit 6aa4f36

Tools

12

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.

Takes no parameters.

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).

Parameterslimitqueryrequired

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.

Parameterssymbolrequired

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).

Parameterslimitqueryrequired

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.

Parametersnamerequired

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.

Parametersnamerequiredlimit

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.

Parameterslimit

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`.

Parameterslimit

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.

Parametersgenerequiredlimit

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.

Parametersallelerequiredpeptiderequired

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.

Parametersidrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts