can-immune
Server Details
Query CAN-IMMUNE: cancer neoantigen mutations, peptides, cell lines, MHC-I binding. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- sanjaysgk/can-immune-mcp
- GitHub Stars
- 0
- Server Listing
- CAN-IMMUNE MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 12 of 12 tools scored.
There is notable overlap: `search` vs `search_genes`/`search_cell_lines`, `fetch` duplicates `get_gene`/`get_cell_line` for the connector interface, and `top_genes_in_cell_line` rehashes the top-mutated-genes section of `get_cell_line`. Descriptions are detailed and clarify intended use, but an agent could misselect between these similar tools.
Most tools follow a clear verb_noun pattern: `get_*`, `list_*`, `search_*`. However, `database_overview` and `fetch` break the pattern, and `top_genes_in_cell_line` is a longer phrase. Overall the naming is predictable and readable.
12 tools is well-scoped for a database resource covering primary tissues, cancer types, genes, cell lines, mutations, and MHC binding. Each tool has a clear role, and the count is not excessive.
The core workflows are covered: searching genes/cell lines, retrieving full profiles, listing tissues/cancer types, viewing individual mutations, and checking cached MHC binding. Minor gaps exist, such as no direct search for mutations or a per-cell-line mutation list, but these are workable.
Available Tools
12 toolsdatabase_overviewAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It details the return contents: 'total counts of mutations, genes, and unique mutant peptides, plus how many cell lines, tissues, and cancer types are covered, and the data sources.' This discloses the behavioral trait of returning aggregate statistics. It does not mention side effects, but the read-only nature is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core function, then lists return values, and ends with usage guidance. Every sentence adds value without redundancy. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description enumerates the return payload in detail (counts of mutations, genes, peptides, cell lines, tissues, cancer types, data sources). It also provides usage context and parameter information, making it a complete description for a zero-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema is empty. The description explicitly states 'No parameters,' reinforcing this. There is nothing else needed for parameter semantics, matching the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the headline size of the CAN-IMMUNE database in one call.' This distinguishes it from sibling tools that lookup specific entries or list options. The verb 'Get' and resource 'database' make the function clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit usage context: 'Use this first to size the resource or to answer "how big is the database / how many X are there" questions.' This implies when to reach for this tool over others, though it does not explicitly name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchAInspect
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 | Required | Description | Default |
|---|---|---|---|
| id | Yes | An id from a `search` result, formatted 'gene:<SYMBOL>' or 'cell_line:<NAME>', e.g. 'gene:TP53' or 'cell_line:MDA-MB-231'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return structure ({id, title, text, url, metadata}) and explains that text is the full JSON profile, matching get_gene/get_cell_line. It also mentions the id format. It doesn't cover error handling, but for a read-only fetch this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, each containing crucial information: purpose, input example, output format, relationship to siblings, and the prerequisite. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers purpose, usage, input format, output structure, and prerequisite. It also references sibling tools for context. It lacks edge-case behavior, but that is minor and not needed for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the schema already describing the id format and examples. The description largely repeats the examples without adding new parameter-level semantics. Thus, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'fetches the full record for an id returned by search', which is a specific verb+resource. It also distinguishes itself from siblings by referencing that it returns the same data as get_gene/get_cell_line, clarifying its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs to 'Always call search first to obtain a valid id', establishing a clear usage prerequisite. It does not explicitly exclude alternatives like get_gene/get_cell_line, but the reference to them implies when fetch is appropriate (when you already have a search id).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cell_lineAInspect
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 | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact cell-line name, e.g. 'MDA-MB-231', 'A549'. Use search_cell_lines first if unsure of the exact name. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return fields, mentions a link, and explicitly states 'Returns an error field if the name is not found'. This is thorough for a read-only lookup tool, though it doesn't explicitly state that it's a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, return details, and usage/error behavior. It is front-loaded with the primary action and contains no redundant content, though it's slightly longer than absolutely necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool returns a rich profile and there is no output schema or annotations, the description adequately covers return contents, error behavior, and usage context. It includes all key details to set expectations without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear description of the 'name' parameter including examples and a suggestion to use search first. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get the full profile for one cancer cell line by exact name'. It lists specific return contents (tissue, cancer type, mutations, etc.) and explicitly contrasts with search_cell_lines by emphasizing 'full profile' vs. search, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Use after search_cell_lines, or when the exact name is known, for a deep dive on one line.' This tells the agent when to use this tool and implicitly when not (when unsure of exact name, use search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_geneAInspect
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 | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Exact HGNC gene symbol, e.g. 'TP53', 'KRAS', 'EGFR'. Use search_genes first if unsure of the exact symbol. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It fully discloses the return contents and explicitly mentions that an error field is returned if the symbol is not found. It does not explicitly state read-only behavior, but 'Get' makes this evident; the error-handling disclosure is a strong positive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense: purpose first, then return summary, then usage context, then error behavior. Every sentence adds unique value; no word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, no annotations), the description covers everything needed: what it returns, error behavior, and when to use it. It fully compensates for missing structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter description provides concrete meaning beyond the schema: 'Exact HGNC gene symbol' with examples and a note to use search_genes first if unsure. Schema coverage is 100%, and the description enriches the single parameter with practical guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Get the full profile for one gene by exact symbol' — a specific verb+resource that clearly states the action. It also enumerates the returned data fields, distinguishing it from sibling tools like get_gene_mutations and search_genes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use after search_genes or when the symbol is already known, and says it answers detailed questions about a single gene. This clearly establishes when this tool is appropriate and names the alternative for symbol lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gene_mutationsAInspect
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 | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Exact gene symbol whose mutations you want, e.g. 'TP53'. | |
| limit | No | Max mutation rows to return (1-100). Default 50. This is a bounded sample, not the full list. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden. It discloses that results are capped at limit (max 100), ordered by mutation ID, and lists every column returned. This goes beyond a simple read operation and gives the agent clear expectations for performance and output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise paragraphs. The first sentence is a crisp purpose statement, and the second paragraph efficiently enumerates the fields. There is no fluff; every sentence serves a distinct role in explaining the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 2 parameters and no output schema, the description covers purpose, row schema, ordering, limit behavior, and provides a fallback for complete data. It is sufficiently complete for an agent to invoke and interpret results without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters. The description adds context beyond the schema by explaining that limit caps the output as a 'bounded sample' and exists for speed, which helps the agent reason about trade-offs. This is a modest but meaningful enhancement over the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List individual mutations in a gene', which is a specific verb+resource+scope statement that clearly differentiates from sibling tools like get_gene or search. It also details the exact row contents, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states this tool returns a bounded sample, and for a complete table of a heavily-mutated gene, directs users to the gene page on the website. While it doesn't name sibling tools like get_gene, the alternative for the full dataset is explicit, giving good when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mhc_bindingAInspect
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 | Required | Description | Default |
|---|---|---|---|
| allele | Yes | HLA class-I allele in NetMHCpan format, e.g. 'HLA-A*02:11', 'HLA-B*07:02'. | |
| peptide | Yes | The peptide sequence, e.g. 'FLDGNQIVT' (single-letter amino acids). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently discloses that the tool only reads cached predictions, does not compute new ones, and returns cached=false with a note if nothing is cached. It also lists the return fields (best binding core, %Rank_EL, binder level, %Rank_Neo). This goes beyond simple schema information and sets correct expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences. The first sentence front-loads the core purpose, the second details the return values and behavior, and the third clarifies the limitation and alternative. Every sentence contributes valuable information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with two well-documented parameters and no output schema, the description covers the essential context: what the tool does, what it returns, its limitation (cached only), and the fallback behavior when no cache exists. It also provides an alternative for new predictions. This is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions and examples for both parameters (allele and peptide). The description mentions the parameters but adds no new semantic detail beyond 'peptide + HLA allele'. Per the rubric, baseline 3 is appropriate when schema_coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Look up a CACHED MHC-I binding prediction for a peptide + HLA allele.' It uses a specific verb ('look up'), identifies the resource (MHC-I binding prediction), and explicitly scopes to cached data. This clearly distinguishes it from siblings which are generic database/search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it notes that this tool does NOT run new predictions and only reads cached ones, and directs users to an alternative ('interactive button on the mutation page of the website') for generating new predictions. This is a clear when-to-use vs. when-not-to-use with an explicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_cancer_typesAInspect
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 | Required | Description | Default |
|---|---|---|---|
| limit | No | Max cancer types to return (1-100). Default 50. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the output fields ('total mutations, unique samples, and unique genes') and ordering ('most-mutated first'), providing useful behavioral context. With no annotations, this helps the agent understand the return format. It doesn't address edge cases like empty results, but for a simple list tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and every sentence adds value. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter, and the description explains what is returned and the ordering. Since there is no output schema, this return information is essential and provided. The use case is also given, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single 'limit' parameter is fully described with type, default, and range. The description adds no additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'cancer types (histology)' and specifies the ordering ('ranked by mutation burden'). It clearly differentiates from sibling tools like list_tissues by focusing on cancer types and mutation burden.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use case: 'Use to see which cancer types dominate the database or to pick one for further drill-down on the website.' However, it does not mention alternatives or when not to use, falling short of explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tissuesAInspect
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 | Required | Description | Default |
|---|---|---|---|
| limit | No | Max tissues to return (1-100). Default 50. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the scope (COSMIC primary-tissue samples only), the output fields (total mutations, unique samples, unique genes), and the ordering (most-mutated first), which is helpful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the primary purpose, the second provides details and alternative guidance. No redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description clearly details the return value structure and context. With one well-documented parameter and simple behavior, the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for `limit` is 100% sufficient ('Max tissues to return (1-100). Default 50.'), so the tool description adds no additional parameter guidance, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource+ranking: 'List primary tissues ranked by mutation burden.' Distinguishes from sibling tools by explicitly excluding cell lines and directing to `search_cell_lines`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use for tissue-level questions; for cell lines use `search_cell_lines`,' which provides both when-to-use and an explicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
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 | Required | Description | Default |
|---|---|---|---|
| query | Yes | Free-text query matching a gene symbol/name or a cell-line name, e.g. 'BRAF' or 'MDA-MB-231'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return format ({results: [{id, title, url}]}), the stable id convention, and the expectation to pass the id to 'fetch'. It does not cover pagination, errors, or authentication, but for a read-only search tool this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and immediately followed by the return format and usage guidance. Every sentence contributes meaningful information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, no output schema, and no annotations. The description covers the primary context: what it searches, what it returns, how to use the returned ids, and how it relates to sibling tools. It does not mention result limits or sorting, but these are not essential for a search tool description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra parameter semantics beyond the schema; it merely restates that query is a free-text search string. It does not explain matching nuances like case sensitivity or wildcards.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches CAN-IMMUNE for genes and cell lines, a specific verb-resource combination. It also differentiates from siblings by noting it is the generic combined search endpoint versus the more specific search_genes and search_cell_lines tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('generic search endpoint ChatGPT expects') and when to prefer alternatives ('MCP-native clients can also use the more specific search_genes / search_cell_lines tools'). This provides clear usage guidance and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cell_linesAInspect
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 | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return (1-100). Default 20. | |
| query | Yes | Cell-line name or fragment, e.g. 'MDA-MB-231', 'HeLa', 'A549'. Case-insensitive, partial matches allowed; hyphen/spacing variants are normalized. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the transparency burden. It discloses return fields (tissue, cancer type, total mutations, etc.), ordering (by mutation count), scope limitation, and that it returns multiple matching entries. This gives the agent a complete behavioral model without needing to infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then returns and usage guidance. Every sentence adds value—no filler, no repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must convey what is returned. It enumerates all result fields, data sources, ordering, and scope, making it self-sufficient for correct invocation and interpretation of results. The usage guidance also positions it within the sibling tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover 100% of parameters, including query matching rules and limit bounds. The description adds 'ranked by mutation burden' as context for the query but does not add new semantics beyond schema; it reinforces the ordering concept without introducing new parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb 'Find' targeting 'cancer cell lines by name, ranked by mutation burden', clearly distinguishing it from sibling tools like search_genes (genes) and get_cell_line (specific entity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use before `get_cell_line` or `top_genes_in_cell_line`', providing clear context on when to use it relative to alternatives. Also clarifies scope ('only cell-line models, kept separate from primary tissue samples') and ordering, which implicitly guides when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_genesAInspect
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 | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return (1-100). Default 20. | |
| query | Yes | Gene symbol or part of a gene name, e.g. 'TP53', 'BRAF', or 'kinase'. Case-insensitive, partial matches allowed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: matching is partial and case-insensitive, results contain four specific fields, and ordering is by mutation count. It doesn't cover edge cases like empty results or authentication, but it provides a solid behavioral contract for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three well-organized sentences: purpose, matching/return details, and usage guidance. It is front-loaded and every clause adds value, without redundancy beyond reinforcing the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter search tool with no output schema, the description sufficiently explains return values and ordering. It also provides usage context and distinguishes from related tools, making it self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for `query` and `limit`. The description adds context about result ranking and return fields, which helps interpret the query parameter, but doesn't introduce new parameter syntax. This earns a slight uplift from the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Find genes by symbol or full name') and adds the ranking criterion ('ranked by how mutated they are'). It also distinguishes itself from the sibling `get_gene` by positioning itself as a precursor ('before calling get_gene').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states two use cases: locating a gene before `get_gene` and ranking genes by mutation burden. This gives clear guidance for when to choose this tool over the sibling tool. It names the alternative tool explicitly, which satisfies the 'alternatives' criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_genes_in_cell_lineAInspect
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 | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact cell-line name, e.g. 'MDA-MB-231'. | |
| limit | No | How many top genes to return (1-100). Default 15. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses output ordering ('highest first'), the data source ('precomputed per-cell-line stats'), and performance ('fast'), which is meaningful. It does not mention error handling or exact return structure, but for a read-only query tool this is acceptable. The behavior is transparent enough for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary action. The first sentence states the core operation, the second gives example queries, and the third provides an alternative. Every sentence earns its place without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 well-documented parameters and no output schema, the description provides sufficient context: it clarifies what is returned (genes with mutation counts), the ordering, and the data source. It also points to the relevant sibling tool for broader needs. It could mention error cases, but overall it is complete enough for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add additional parameter detail beyond what the schema already provides (e.g., exact name example and limit range are in the schema). It mentions 'cell line' generically but doesn't clarify the parameters further. Since the schema is thorough, this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Rank the most-mutated genes within one specific cell line.' It clearly states the function and provides example questions ('what is the top mutated gene in <cell line>') that anchor its purpose. It also distinguishes from sibling tool `get_cell_line` by noting it returns only top genes, not the whole profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: it answers specific question types and notes results come from 'precomputed per-cell-line stats (fast)' implying quick lookups. It also provides an explicit alternative: 'For the whole profile of the line use `get_cell_line` instead.' This is a clear when-to-use and when-not-to-use directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
Alicense-qualityAmaintenanceSearch 1B+ biological sequences, antibodies, and multi-omics data via specialized bio-intelligence tools.114Apache 2.0- Flicense-qualityCmaintenanceEnables structured queries and data analysis of cancer genomics information by interfacing with the Clinical Interpretation of Variants in Cancer (CIViC) API. It converts GraphQL responses into queryable SQLite tables for efficient clinical interpretation and natural language interaction.
- FlicenseAqualityAmaintenanceProvides a six-tool research-assistance workflow for CRC-LNM cases using precomputed CT, pathology features, and clinical values. Enables multimodal analysis and research queries on deidentified cases.6
- AlicenseBqualityDmaintenanceProvides seamless access to UniProtKB protein database, enabling queries for protein entries, sequences, Gene Ontology annotations, full-text search, and ID mapping across 200+ database types.52MIT
Your Connectors
Sign in to create a connector for this server.