# Cybergenic

> Cancer gene co-occurrence and exclusivity in tumour cohorts, with confound controls and exact tests.

- name: im.cybergenic/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/im.cybergenic%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/im.cybergenic%2Fmcp/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cybergenic": {
      "type": "http",
      "url": "https://cybergenic.im/mcp?via=mcpregistry"
    }
  }
}
```


## Trust

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

## Quality 96/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### 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`: 9 of 9 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,011 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 1 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

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

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

- tools: 9, about 3,011 tokens to load them all
- tool set hash: 2fc15964081260e3bdc4a869ba8675bf
- tools last changed: 2026-10-07T00:04:52.311Z
- badge: [![protogrid quality](https://protogrid.dev/badge/im.cybergenic/mcp.svg)](https://protogrid.dev/servers/im.cybergenic/mcp)
- 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-07 `lookup_gene_pair` changed (description)
  - before: Measured co-alteration statistics for two genes in every tumour cohort where Cybergenic's discovery scan tested the pair: tumours with both genes altered against the number expected, odds ratio, p-value and Benjamini-Hochberg q over that cohort's whole family of tested pairs, the confound control applied (molecular subtype, lineage or histology strata, with mutation burden conditioned on), and whether the pair passes the scan's own discovery gates. A direction is stated only where it is significant and consistent, and cohorts are also counted by independent patient source (the two MSK cohorts overlap). Also returns Cybergenic's published findings on the pair with their verdicts and permalinks. Use it to answer whether two genes' driver mutations co-occur or are mutually exclusive in patient tumours. Associations in tumour sequencing, not causal or clinical evidence.
  - after: Measured co-alteration statistics for two genes in every tumour cohort where Cybergenic's discovery scan tested the pair: tumours with both genes altered against the number expected, odds ratio, p-value and Benjamini-Hochberg q over that cohort's whole family of tested pairs, the confound control applied (molecular subtype, lineage or histology strata, with mutation burden conditioned on), and whether the pair passes the scan's own discovery gates. A direction is stated only where it is significant, consistent and at least a two-fold odds ratio, and cohorts are also counted by independent patient source (the two MSK cohorts overlap). Also returns Cybergenic's published findings on the pair with their verdicts and permalinks. Use it to answer whether two genes' driver mutations co-occur or are mutually exclusive in patient tumours. Associations in tumour sequencing, not causal or clinical evidence.

Full history: https://api.protogrid.dev/v1/servers/im.cybergenic%2Fmcp/changes

## Remotes

- https://cybergenic.im/mcp?via=mcpregistry (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (9)

- `chi_square_test`: Pearson chi-square test of independence for an r x c table of counts (2x2 up to 10x10), with Yates' correction for 2x2 tables and the G-test: statistic, degrees of freedom, p-value, expected counts, adjusted residuals, Cramér's V, whether Cochran's rule for the approximation holds, and Fisher's exact test when the table is 2x2. Empty rows and columns are dropped and reported.
- `fdr_correction`: Multiple-testing correction for a list of p-values: Benjamini-Hochberg q-values and Benjamini-Yekutieli, Holm, Hochberg and Bonferroni adjusted p-values, the number of discoveries at alpha for each method, and the Benjamini-Hochberg cutoff rank. Pass family_size when more tests were run than the p-values supplied (for example only the top hits were kept). Up to 10,000 p-values per call; the same implementation as cybergenic.im/tools/fdr-correction, verified against R p.adjust and statsmodels.
- `fisher_exact_test`: Fisher's exact test for a 2x2 table [[a, b], [c, d]]: two-sided and both one-sided p-values (computed in log space, so a tiny p keeps its real exponent), the sample odds ratio, and the conditional maximum-likelihood odds ratio with its exact confidence interval (what R's fisher.test reports). For two genes: a = tumours with both altered, b = gene A only, c = gene B only, d = neither. Up to 100,000 observations. The same implementation as cybergenic.im/tools/fisher-exact-test.
- `gene_partners`: The genes whose driver mutations co-occur with, or are mutually exclusive with, a given gene in patient tumours, strongest first by Benjamini-Hochberg q, from every pair Cybergenic's discovery scan tested: one row per partner and independent patient source, with the tumours, observed and expected co-alteration and the odds ratio. By default only pairs the scan's own gates keep (significant, a real effect size, a consistent direction, enough tumours); set passing_only to false to include significant pairs that fail a gate. Filter by cancer, direction and q threshold. Use it to survey a gene's co-alteration landscape before looking up a specific pair. Associations in tumour sequencing, not causal or clinical evidence.
- `get_finding`: The full record of one Cybergenic finding, by id or permalink: what was measured and in which cohort, the statistics (the 2x2 table, odds ratio, p and q), the verdict and why, the confound checks, how many papers mention the genes together, CRISPR dependency and survival facts when measured, the prediction locked for it in the hash-chained registry, the same question in other cohorts, and a citation. The hypothesis text is a model-written annotation, not evidence.
- `get_track_record`: Cybergenic's live track record: how many predictions it has locked in its hash-chained registry before re-testing them, how many replicated in an independent cohort against matched controls (including the less-studied-pair subset), and how many findings currently pass every check as both strong and overlooked. Read it before describing how reliable the engine is; it states its own limits, including whether the replication comes from well-known biology.
- `lookup_gene_pair`: Measured co-alteration statistics for two genes in every tumour cohort where Cybergenic's discovery scan tested the pair: tumours with both genes altered against the number expected, odds ratio, p-value and Benjamini-Hochberg q over that cohort's whole family of tested pairs, the confound control applied (molecular subtype, lineage or histology strata, with mutation burden conditioned on), and whether the pair passes the scan's own discovery gates. A direction is stated only where it is significant, consistent and at least a two-fold odds ratio, and cohorts are also counted by independent patient source (the two MSK cohorts overlap). Also returns Cybergenic's published findings on the pair with their verdicts and permalinks. Use it to answer whether two genes' driver mutations co-occur or are mutually exclusive in patient tumours. Associations in tumour sequencing, not causal or clinical evidence.
- `odds_ratio_relative_risk`: Effect sizes for a 2x2 table [[a, b], [c, d]] whose rows are two groups and whose columns are outcome yes and no: the odds ratio (Woolf interval, and the conditional exact interval), the relative risk (Katz interval), the risk difference (Newcombe interval) and the number needed to treat, at the chosen confidence level, plus Fisher's exact p. A zero cell applies the Haldane-Anscombe correction to the Woolf and Katz estimates, and the result says so.
- `search_findings`: Search Cybergenic's published findings: gene-pair co-occurrence and mutual exclusivity, survival associations, CRISPR gene dependencies and single-gene leads, each with the verdict the engine measured (strengthened, weakened, inconclusive, artifact risk or novel lead) and the reason for it. The query works like the site's search: exact gene symbols, cancer names or abbreviations (NSCLC, CRC, PDAC, TNBC), or both, and every term must match. Returns permalinks to cite and ids for get_finding.
