Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:3baf2fc300fe2c6bcd1f96765182f2b92bd425567cc4dbe63648b72471e457bd
What it is
What a remote MCP server returned when asked what it offers: 9 tools

The blob, as servednamed by its sha256

{ "instructions": "Cybergenic is an autonomous research engine that tests relationships between cancer genes in public tumour sequencing data (MSK-IMPACT 50K 2026, MSK-CHORD 2024, TCGA PanCancer Atlas 2018, OrigiMed China 2020 and METABRIC, read through cBioPortal) and publishes every result with a measured verdict. Use lookup_gene_pair to ask whether two genes' driver mutations co-occur or avoid each other in tumours, gene_partners to survey one gene's strongest partners, search_findings and get_finding for the engine's written-up findings, and the statistics tools for exact tests on your own tables. Call get_track_record before describing how reliable the engine is: it returns the live out-of-sample record with its limits. A finding's verdict is the engine's measured judgment. \"Novel lead\" means significant, controlled for tumour type or subtype, below the engine's literature threshold (fewer than 300 papers mention both genes), and, for a gene pair, named together in no title or abstract in that cancer (abstracts_naming_both_genes_in_cancer = 0, a PubTator3 search the record links to). That is a literature search, not proof the relationship is unknown, so check it before calling anything new. A pair's direction is stated only where it is significant and consistent, and MSK-IMPACT 50K and MSK-CHORD share most of their patients, so count independent sources (each result gives them), not cohorts, before calling anything replicated. Every statistic is an observational association in tumour cohorts, not causal or clinical evidence, and a finding's hypothesis text is a model-written annotation, not a result. Cite the permalink each result carries and the dataset it names.", "tools": [ { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "table": { "description": "Rows of whole-number counts, for example [[20, 15], [30, 35]].", "items": { "items": { "minimum": 0, "type": "integer" }, "maxItems": 10, "minItems": 2, "type": "array" }, "maxItems": 10, "minItems": 2, "type": "array" } }, "required": [ "table" ], "type": "object" }, "name": "chi_square_test", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "alpha": { "default": 0.05, "description": "Significance level for counting discoveries. Default 0.05.", "exclusiveMaximum": 1, "exclusiveMinimum": 0, "type": "number" }, "family_size": { "description": "Total number of tests run, when larger than the number of p-values supplied.", "maximum": 1000000000, "minimum": 1, "type": "integer" }, "labels": { "description": "Optional names for the tests, in the same order as p_values.", "items": { "maxLength": 80, "type": "string" }, "maxItems": 10000, "type": "array" }, "p_values": { "description": "The raw p-values, one per test.", "items": { "maximum": 1, "minimum": 0, "type": "number" }, "maxItems": 10000, "minItems": 1, "type": "array" } }, "required": [ "p_values" ], "type": "object" }, "name": "fdr_correction", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "a": { "description": "Row 1, column 1 (for two genes: both altered).", "maximum": 100000000, "minimum": 0, "type": "integer" }, "alternative": { "default": "two-sided", "description": "Which p-value is the headline and which interval is reported. greater: odds ratio above 1.", "enum": [ "two-sided", "greater", "less" ], "type": "string" }, "b": { "description": "Row 1, column 2 (gene A only).", "maximum": 100000000, "minimum": 0, "type": "integer" }, "c": { "description": "Row 2, column 1 (gene B only).", "maximum": 100000000, "minimum": 0, "type": "integer" }, "confidence_level": { "default": 0.95, "description": "Confidence level for intervals, between 0.5 and 0.9999. Default 0.95.", "maximum": 0.9999, "minimum": 0.5, "type": "number" }, "d": { "description": "Row 2, column 2 (neither).", "maximum": 100000000, "minimum": 0, "type": "integer" } }, "required": [ "a", "b", "c", "d" ], "type": "object" }, "name": "fisher_exact_test", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "cancer": { "description": "Optional cancer filter: a name or part of one ('breast', 'colorectal cancer', 'lung') or an abbreviation (NSCLC, LUAD, CRC, PDAC, GBM, UCEC, HCC).", "maxLength": 80, "minLength": 2, "type": "string" }, "direction": { "default": "either", "description": "Keep only co-occurring or only mutually exclusive partners. Default: either.", "enum": [ "either", "co-occurrence", "mutual-exclusivity" ], "type": "string" }, "gene": { "description": "HGNC gene symbol, for example KRAS, STK11 or CDKN2A (case-insensitive).", "maxLength": 20, "minLength": 1, "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*$", "type": "string" }, "limit": { "default": 20, "description": "Most partners to return. Default 20.", "maximum": 50, "minimum": 1, "type": "integer" }, "max_q": { "default": 0.05, "description": "Largest Benjamini-Hochberg q to include, up to 0.25. Default 0.05.", "exclusiveMinimum": 0, "maximum": 0.25, "type": "number" }, "passing_only": { "default": true, "description": "Keep only pairs that pass all of the scan's gates (default). False also lists significant pairs that fail one.", "type": "boolean" } }, "required": [ "gene" ], "type": "object" }, "name": "gene_partners", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "A finding id (UUID) or its permalink, https://cybergenic.im/findings/<id>.", "maxLength": 200, "minLength": 36, "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_finding", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_track_record", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "cancer": { "description": "Optional cancer filter: a name or part of one ('breast', 'colorectal cancer', 'lung') or an abbreviation (NSCLC, LUAD, CRC, PDAC, GBM, UCEC, HCC).", "maxLength": 80, "minLength": 2, "type": "string" }, "gene_a": { "description": "HGNC gene symbol, for example KRAS, STK11 or CDKN2A (case-insensitive).", "maxLength": 20, "minLength": 1, "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*$", "type": "string" }, "gene_b": { "description": "HGNC gene symbol, for example KRAS, STK11 or CDKN2A (case-insensitive).", "maxLength": 20, "minLength": 1, "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*$", "type": "string" }, "max_cohorts": { "default": 12, "description": "Cohorts returned in full detail, strongest first (default 12); every other tested cohort still comes back as a one-line row.", "maximum": 50, "minimum": 1, "type": "integer" } }, "required": [ "gene_a", "gene_b" ], "type": "object" }, "name": "lookup_gene_pair", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "a": { "description": "Group 1 with the outcome.", "maximum": 100000000, "minimum": 0, "type": "integer" }, "b": { "description": "Group 1 without the outcome.", "maximum": 100000000, "minimum": 0, "type": "integer" }, "c": { "description": "Group 2 with the outcome.", "maximum": 100000000, "minimum": 0, "type": "integer" }, "confidence_level": { "default": 0.95, "description": "Confidence level for intervals, between 0.5 and 0.9999. Default 0.95.", "maximum": 0.9999, "minimum": 0.5, "type": "number" }, "d": { "description": "Group 2 without the outcome.", "maximum": 100000000, "minimum": 0, "type": "integer" } }, "required": [ "a", "b", "c", "d" ], "type": "object" }, "name": "odds_ratio_relative_risk", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "kind": { "description": "Keep only one kind of finding.", "enum": [ "cooccurrence", "exclusivity", "prognostic", "association", "dependency", "repurposing", "tractability" ], "type": "string" }, "limit": { "default": 10, "description": "Results per page. Default 10.", "maximum": 25, "minimum": 1, "type": "integer" }, "page": { "default": 1, "maximum": 500, "minimum": 1, "type": "integer" }, "query": { "description": "Genes, cancers or both, for example 'KRAS pancreatic', 'TP53 breast' or 'NSCLC'. Omit to list everything.", "maxLength": 200, "type": "string" }, "sort": { "default": "signal", "description": "recent: newest first; signal: strongest corrected q first; novelty: least studied first; papers: most studied first.", "enum": [ "recent", "signal", "novelty", "papers" ], "type": "string" }, "verdict": { "description": "Keep only findings with this verdict.", "enum": [ "novel-lead", "strengthened", "weakened", "artifact-risk", "inconclusive" ], "type": "string" } }, "type": "object" }, "name": "search_findings", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3baf2fc300fe2c6bcd1f96765182f2b92bd425567cc4dbe63648b72471e457bd | sha256sum