A side-by-side look at the Can Immune and Medical Terminologies MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Can Immune for biology & bioinformatics work over a hosted endpoint; choose Medical Terminologies MCP for biology & bioinformatics as a local process. You can also run both side by side in one mcpServers block.
database_overview, search_genes, get_gene.WHO_CLIENT_ID, WHO_CLIENT_SECRET, WHO_ICD11_RELEASE_ID.icd11_search, icd11_lookup, icd11_hierarchy.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 55/100 · Good | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | Free |
| Required env vars | None listed | WHO_CLIENT_IDWHO_CLIENT_SECRETWHO_ICD11_RELEASE_ID |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 15 |
| Directory activity | 0 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 12 | 33 |
| Full listing | View Can Immune | View Medical Terminologies MCP |
database_overviewGet 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.search_genesFind 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).get_geneGet 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.search_cell_linesFind 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).get_cell_lineGet 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.top_genes_in_cell_lineRank 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.list_cancer_typesList 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.list_tissuesList 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`.get_gene_mutationsList 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.get_mhc_bindingLook 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.searchSearch 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.fetchFetch 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.icd11_searchSearch for medical conditions, diseases, and health problems in ICD-11 (International Classification of Diseases, 11th Revision).
Use this tool to:
- Find ICD-11 codes for diagnoses
- Search for diseases by name or keyword
- Look up conditions in multiple languages
Set `language` for WHO's official translations — e.g. `language: "pt"` searches and returns the official Portuguese (pt-BR) ICD-11 labels. Never machine-translated.
Returns matching entities with codes, titles, and relevance scores.icd11_lookupGet detailed information about a specific ICD-11 entity by code or URI.
Use this tool to:
- Get the full definition of a disease
- Retrieve coding notes and exclusions
- Get the official title and synonyms
Provide either an ICD-11 code (e.g., "BA00") or a full foundation URI. Set `language` for WHO's official translations (e.g. `language: "pt"` for official Portuguese).icd11_hierarchyNavigate the ICD-11 hierarchy to find parent or child entities.
Use this tool to:
- Find broader categories (parents) of a condition
- Find specific subtypes (children) of a condition
- Understand the classification structure
Name the entity by `code` (a leaf code like "5A11", or a block range like "5A10-5A2Y" — blocks come back from 'parents' with an empty code and a code_range) or by `uri` (the URI any previous answer returned). Direction 'parents' returns ancestor categories, 'children' returns subcategories. ICD-10 codes (like "E11") are not ICD-11 codes: convert them first with map_icd10_to_icd11.icd11_chaptersList all ICD-11 chapters (top-level categories).
Use this tool to:
- Get an overview of ICD-11 structure
- Find which chapter covers a body system or condition type
- Navigate to specific disease categories
ICD-11 has 28 chapters covering all areas of medicine.icd11_postcoordinationGet postcoordination information for an ICD-11 code.
Use this tool to:
- Find available axes for building composite codes
- Check required vs optional postcoordination
- Understand code extension possibilities
Postcoordination allows adding severity, laterality, anatomy, etc.loinc_searchSearch for laboratory tests, clinical observations, and measurements in LOINC (Logical Observation Identifiers Names and Codes).
Use this tool to:
- Find LOINC codes for lab tests (e.g., "glucose", "hemoglobin")
- Search for clinical measurements and vital signs
- Look up diagnostic observations
Returns matching LOINC codes with names, components, and properties.loinc_detailsGet detailed information about a specific LOINC code.
Use this tool to:
- Get the full name and description of a LOINC code
- Find the component, property, timing, and system
- Check the scale type and method
Provide a LOINC number in format "XXXXX-X" (e.g., "2339-0" for Glucose).loinc_answersGet the list of valid answers for a LOINC questionnaire item.
Use this tool to:
- Find valid response options for survey questions
- Get answer codes for data entry validation
- Look up standardized answer lists
Only applicable to LOINC codes that represent questions with defined answer sets.loinc_panelsGet the structure of a LOINC panel or form.
Use this tool to:
- See all tests included in a panel (e.g., CBC, metabolic panel)
- Get the structure of assessment forms
- Find related observations grouped together
Returns the list of LOINC codes that make up the panel.rxnorm_searchSearch for drugs in RxNorm (Normalized names for clinical drugs).
Use this tool to:
- Find drug concepts by brand or generic name
- Look up medications for prescribing
- Search for drug formulations
Returns matching drugs with RxCUI identifiers, names, and term types.rxnorm_conceptGet detailed information about a specific RxNorm concept by RxCUI.
Use this tool to:
- Get the full name and synonyms for a drug
- Check the concept status (active, remapped, etc.)
- View related concepts (ingredients, brands, forms)
Provide an RxCUI (RxNorm Concept Unique Identifier) like "161".rxnorm_ingredientsGet active ingredients for a drug by RxCUI.
Use this tool to:
- Find the active ingredients in a medication
- Check for single vs. multiple ingredient products
- Identify the generic components of brand drugs
Returns ingredient RxCUIs and names.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"can-immune": {
"url": "https://canelib.erc.monash.edu/mcp"
}
}
}
{
"mcpServers": {
"sidneybissoli-medical-terminologies-mcp": {
"command": "npx",
"args": [
"-y",
"medical-terminologies-mcp"
],
"env": {
"WHO_CLIENT_ID": "YOUR_WHO_CLIENT_ID_HERE",
"WHO_CLIENT_SECRET": "YOUR_WHO_CLIENT_SECRET_HERE",
"WHO_ICD11_RELEASE_ID": "YOUR_WHO_ICD11_RELEASE_ID_HERE"
}
}
}
}