# OpenCancer

> Cancer patient expert: NCCN-grounded answers with sources, recruiting trials, and expert review.

- name: ai.opencancer/opencancer
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.opencancer%2Fopencancer
- tools: https://api.protogrid.dev/v1/servers/ai.opencancer%2Fopencancer/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "opencancer": {
      "type": "http",
      "url": "https://opencancer.ai/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-6d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,387 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,387 tokens to load them all
- tool set hash: d76290bba714d4225b72336d26b7f06c
- tools last changed: 2026-10-15T06:03:58.299Z
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.opencancer/opencancer.svg)](https://protogrid.dev/servers/ai.opencancer/opencancer)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `send_feedback` changed (inputSchema)
- 2026-10-15 `open_case` changed (description)
  - before: Give the user a link to start an expert review of their case by OpenCancer and Cancer Commons scientists (records, options, trial shortlist, next step). WHEN TO USE: the user wants a human expert, a second opinion, a trial shortlist built for their exact case, or help deciding a next step. NOT FOR: emergencies (tell them to call 911 or their care team). Returns an intake link only: it creates no case and sends no records. The patient enters their own details and personally confirms consent on that page. Do not pass names, contact details, or records.
  - after: Returns a link where a patient can start an expert review of their case by OpenCancer and Cancer Commons scientists (records, options, trial shortlist, next step). The link only opens an intake page: no case is created and no records are sent. The patient enters their own details and personally confirms consent on that page. Accepts no names, contact details or records.
- 2026-10-15 `get_trial_details` changed (description) **meaning changed**
  - before: Get one clinical trial from ClinicalTrials.gov by its NCT number: what it tests, who can join (inclusion and exclusion criteria, original wording), recruiting sites, contacts, and when the registry was last updated. WHEN TO USE: the user asks about a specific trial (an NCT number from find_clinical_trials, their doctor, or a search), wants to know if they might qualify, or how to contact the study. Explain the criteria in plain words and suggest questions to ask the study team. NOT FOR: telling someone they are eligible (only the study team can confirm), or searching for trials (use find_clinical_trials).
  - after: Returns one clinical trial from ClinicalTrials.gov by its NCT number: what it tests, phase, status, last registry update, ages, the inclusion and exclusion criteria in their original wording, recruiting sites with their status, study contacts, and the registry link. Eligibility is confirmed only by the study team
- 2026-10-15 `find_clinical_trials` changed (description, inputSchema) **meaning changed**
  - before: Find clinical trials that are recruiting now for a cancer type, near a place, from ClinicalTrials.gov. WHEN TO USE: the user asks about clinical trials, new or experimental treatments, or options after standard treatment stopped working, for a specific cancer. Pass the condition in English medical terms (e.g. "glioblastoma", "HER2-positive breast cancer") and, if known, a city, state, or country. NOT FOR: eligibility decisions for a specific person (only their oncologist or the trial team can decide); general questions (use ask_opencancer). Returns up to 8 trials with phase, nearest sites, and a link.
  - after: Lists clinical trials recruiting now for a cancer type, from ClinicalTrials.gov, optionally near a city, state or country and filtered by a biomarker, drug or treatment keyword and by phase. Returns up to 8 trials with NCT number, phase, sponsor, the sites closest to the requested place, a registry link, a link to the full search, and a link to an OpenCancer expert who can build a trial shortlist for a specific case. Listing a trial is not an eligibility decision; only the trial team can confirm eligibility
- 2026-10-15 `ask_opencancer` changed (description)
  - before: Answer a cancer patient or caregiver question in plain language, grounded in NCCN Guidelines for Patients and medical literature, with sources and a link to OpenCancer's care team. WHEN TO USE: questions about a specific cancer: what a diagnosis, stage, biomarker, or test result means; treatment options and what guidelines recommend; side effects and how to manage them; what to ask the oncologist; second opinions; living with cancer. Write the question in the user's language; the answer comes back in it. NOT FOR: emergencies (tell the user to call 911 or their care team now), prognosis or life-expectancy estimates, decisions about a specific person's treatment, or non-cancer topics. Do not include names, contact details, or record numbers. Some questions return a safety message instead of an answer; pass it on as written.
  - after: Answers a cancer patient or caregiver question in plain language, grounded in NCCN Guidelines for Patients and medical literature. Covers what a diagnosis, stage, biomarker or test result means; treatment options; side effects and their management; questions for the oncologist; second opinions; living with cancer. Answers in the language of the question. Returns the answer, its sources, a disclaimer, a link to OpenCancer's care team, and an answer id. Emergencies, prognosis or life-expectancy questions, and questions about children return a safety message that routes to the care team instead of an answer. Educational information, not medical advice. Accepts no personal identifiers

Full history: https://api.protogrid.dev/v1/servers/ai.opencancer%2Fopencancer/changes

## Remotes

- https://opencancer.ai/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `ask_opencancer`: Answers a cancer patient or caregiver question in plain language, grounded in NCCN Guidelines for Patients and medical literature. Covers what a diagnosis, stage, biomarker or test result means; treatment options; side effects and their management; questions for the oncologist; second opinions; living with cancer. Answers in the language of the question. Returns the answer, its sources, a disclaimer, a link to OpenCancer's care team, and an answer id. Emergencies, prognosis or life-expectancy questions, and questions about children return a safety message that routes to the care team instead of an answer. Educational information, not medical advice. Accepts no personal identifiers
- `find_clinical_trials`: Lists clinical trials recruiting now for a cancer type, from ClinicalTrials.gov, optionally near a city, state or country and filtered by a biomarker, drug or treatment keyword and by phase. Returns up to 8 trials with NCT number, phase, sponsor, the sites closest to the requested place, a registry link, a link to the full search, and a link to an OpenCancer expert who can build a trial shortlist for a specific case. Listing a trial is not an eligibility decision; only the trial team can confirm eligibility
- `get_trial_details`: Returns one clinical trial from ClinicalTrials.gov by its NCT number: what it tests, phase, status, last registry update, ages, the inclusion and exclusion criteria in their original wording, recruiting sites with their status, study contacts, and the registry link. Eligibility is confirmed only by the study team
- `open_case`: Returns a link where a patient can start an expert review of their case by OpenCancer and Cancer Commons scientists (records, options, trial shortlist, next step). The link only opens an intake page: no case is created and no records are sent. The patient enters their own details and personally confirms consent on that page. Accepts no names, contact details or records.
- `send_feedback`: Flags an OpenCancer answer for human expert review, or sends feedback to the OpenCancer team. Used when the user says an OpenCancer answer was wrong, unsafe, or incomplete, or wants to tell OpenCancer something (answer_id identifies the answer; message holds the user's words). Also used to report that an OpenCancer tool returned no usable answer (kind "missing_answer" with answer_id or tool, no message). Feedback is read by the OpenCancer team; it is not an urgent-care channel and no reply is sent through it.
