Biotech rNPV/PoS engine for AI agents. Signed exports, evidence register, asset landscape.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional bearer token (Bearer pft_...) for org-scoped tools. Public tools work without auth.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch the structured asset snapshot JSON for a scenario — the same content rendered in the PDF/Excel exports, in machine-readable form. Includes verdict, drivers, assumptions, evidence summary, and (if available) signed-export hashes pointing to the latest signed artifacts.
UUID of the scenario to fetch the asset snapshot payload for.
Fetch the structured asset snapshot JSON for a scenario — the same content rendered in the PDF/Excel exports, in machine-readable form. Includes verdict, drivers, assumptions, evidence summary, and (if available) signed-export hashes pointing to the latest signed artifacts.
| Argument | Type | Description |
|---|---|---|
| scenario_id* | string | UUID of the scenario to fetch the asset snapshot payload for. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scenario_id"
],
"properties": {
"scenario_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the scenario to fetch the asset snapshot payload for."
}
},
"additionalProperties": false
}Fetch the evidence register entries for a scenario — the citations, sources, and supporting documents the analyst attached to back the assumptions. Use this when an analysis question references 'what's the evidence for X?'
| Argument | Type | Description |
|---|---|---|
| scenario_id* | string | UUID of the scenario whose evidence register entries to fetch. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scenario_id"
],
"properties": {
"scenario_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the scenario whose evidence register entries to fetch."
}
},
"additionalProperties": false
}Fetch a PhaseFolio methodology section's full content (rNPV model, backtest, PoS calibration, IRA framework, development paths, deal-term modelling, holding valuation, clinical stage normalization, evidence standards, network benchmarks, COGS benchmark, SG&A benchmark, tax benchmark, SEC EDGAR deal-term extraction). Designed for citation: each section has a stable URL and a methodology version identifier you can reference in analysis output.
| Argument | Type | Description |
|---|---|---|
| section* | string | Which methodology section to fetch. 'rnpv' covers the core risk-adjusted NPV calculation: cumulative PoS, midpoint-discounted risk-adjusted development costs, the S-curve ramp/plateau/LOE revenue lifecycle net of COGS/SG&A/tax, WACC discounting, the rNPV and Unadjusted-NPV equations, Monte Carlo / expected NPV, and one-at-a-time sensitivity; 'backtest' covers the validation methodology and AUC/CI numbers; 'pos-calibration' covers the indication × modality × biomarker matrix, expanded modality normalization into the eight benchmark baselines, the scored multipliers including the model 2.6.0 biomarker_quality drug-specific multiplier (oncology solid tumor, Phase II/III), the Phase 1 ORR extracted-but-not-scored signal with its Phase 0 governance disclosure, and the non-scored drug-specific risk flags; 'ira-framework' covers the Year-9/Year-13 MFP cliff modeling and the separate IRA classification for expanded modalities such as RNA Therapeutics, Protein Degrader, Radioligand, Oncolytic Virus, and Cancer Vaccine; 'development-paths' covers development-path tiers, automatic-effect policy, and the no path-based PoS/default-multiplier rule; 'deal-term-modelling' covers how licensing deal terms map onto a scenario's deal structure (term-model mapping v1): what is modelled, not modelled and refused, the territory restriction and the approximations it names, milestone timing at stage ends, the cost-share rule, and the non-USD conversion-rate refusal; 'holding-valuation' covers how a Workspace holding is valued (scenario, share of asset value, look-through estimate, cost, not valued): each method's inputs, reason codes and completeness, the totals rules (never added across bases or currencies, estimates left out by default) and what the look-through estimate ignores; 'stage-normalization' covers exact clinical labels, work packages, canonical PoS gates, and the no label-only PoS modifier rule for Phase 1b/2a/2b, adaptive, pivotal, expansion, platform, bridging, and related labels; 'evidence-standards' covers source tiers and freshness rules; 'network-benchmarks' covers anonymization and cohort cuts; 'cogs-benchmark' covers the per-modality COGS% default bands and price-sensitivity methodology; 'sga-benchmark' covers the per-commercial-model SG&A% default bands (orphan/specialty/primary-care); 'tax-benchmark' covers the US-statutory-21% default tax rate, effective-rate reality, and the NOL cap; 'sec-deal-terms' is the retirement notice for the SEC EDGAR deal-term source (retired 2026-09-27), with its frozen versions. |
Fetch a PhaseFolio project's metadata: indication, sub-indication, modality, biomarker, asset name, and stage at entry. Use this when you need to ground an analysis question in the project's clinical context before fetching scenarios.
| Argument | Type | Description |
|---|---|---|
| project_id* | string | UUID of the PhaseFolio project. Get from the project URL in the dashboard or from a prior list_scenarios call. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the PhaseFolio project. Get from the project URL in the dashboard or from a prior list_scenarios call."
}
},
"additionalProperties": false
}Fetch a PhaseFolio scenario's complete inputs (stage costs, durations, PoS, commercial assumptions, IRA settings) and computed outputs (eNPV, rNPV, cumulative PoS, per-stage breakdown, top sensitivity drivers). This is the authoritative model output — every signed export ties back to this payload.
| Argument | Type | Description |
|---|---|---|
| scenario_id* | string | UUID of the scenario. Get from list_scenarios or the scenario URL in the dashboard. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scenario_id"
],
"properties": {
"scenario_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the scenario. Get from list_scenarios or the scenario URL in the dashboard."
}
},
"additionalProperties": false
}List all scenarios in a PhaseFolio project. Returns scenario IDs, names, created/updated timestamps, and top-line eNPV/rNPV. Use this to discover what scenarios exist before fetching one in detail.
| Argument | Type | Description |
|---|---|---|
| limit* | integer | Maximum number of scenarios to return (1–200). Defaults to 50; raise for projects with many what-if branches. |
| project_id* | string | UUID of the parent project whose scenarios to list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id",
"limit"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of scenarios to return (1–200). Defaults to 50; raise for projects with many what-if branches."
},
"project_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the parent project whose scenarios to list."
}
},
"additionalProperties": false
}Query PhaseFolio benchmark availability. Source-backed PoS benchmarks are available separately; network cost distributions and duration percentiles are planned but currently return coming_soon with null estimates rather than PhaseFolio's manual planning defaults.
| Argument | Type | Description |
|---|---|---|
| metric* | string | Which benchmark family to request. Cost and duration network benchmarks are currently coming_soon and return no estimate; manual wizard defaults are not returned as benchmarks. |
| modality | string | Optional modality filter ('Antibody', 'Small Molecule', 'Cell Therapy', 'Gene Therapy', etc.). Omit to return cross-modality stats. |
| indication* | string | Indication name (e.g. 'NSCLC', 'Rheumatoid Arthritis', 'Atopic Dermatitis'). Free-form; the model fuzz-matches to the canonical indication taxonomy. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"indication",
"metric"
],
"properties": {
"metric": {
"enum": [
"pos",
"cost",
"duration",
"all"
],
"type": "string",
"description": "Which benchmark family to request. Cost and duration network benchmarks are currently coming_soon and return no estimate; manual wizard defaults are not returned as benchmarks."
},
"modality": {
"type": "string",
"description": "Optional modality filter ('Antibody', 'Small Molecule', 'Cell Therapy', 'Gene Therapy', etc.). Omit to return cross-modality stats."
},
"indication": {
"type": "string",
"description": "Indication name (e.g. 'NSCLC', 'Rheumatoid Arthritis', 'Atopic Dermatitis'). Free-form; the model fuzz-matches to the canonical indication taxonomy."
}
},
"additionalProperties": false
}Fetch human-reviewed drug-specific clinical-risk signals for a project, including biomarker quality, Phase 1 ORR flag-only data, provenance, extractor versions, and pending-review counts. Use this before interpreting model 2.6.0 drug-specific multipliers or flags.
| Argument | Type | Description |
|---|---|---|
| project_id* | string | UUID of the project whose reviewed drug-specific clinical-risk signals should be queried. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the project whose reviewed drug-specific clinical-risk signals should be queried."
}
},
"additionalProperties": false
}Produce a transparent, provenance-linked CONDITIONAL READ on a drug asset for deal triage. Pass either `text` (a teaser/abstract — fields are machine-extracted and the result is marked inputs_unconfirmed) or pre-confirmed `fields`. Returns a reasoning chain (each claim grounded or marked insufficient_evidence), mechanism-plausibility flags, PoS metrics, and a meta block with model/methodology/synthesis versions. Does NOT compute rNPV. Not an autonomous verdict.
| Argument | Type | Description |
|---|---|---|
| text | string | Unstructured asset text; triggers extraction (inputs_unconfirmed=true). |
| fields | object | Pre-confirmed structured fields. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"text": {
"type": "string",
"description": "Unstructured asset text; triggers extraction (inputs_unconfirmed=true)."
},
"fields": {
"type": "object",
"required": [
"modality",
"target",
"indication",
"stage",
"comparators",
"biomarker_strategy"
],
"properties": {
"stage": {
"type": "string"
},
"target": {
"type": "string"
},
"modality": {
"type": "string"
},
"indication": {
"type": "string"
},
"comparators": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"biomarker_strategy": {
"type": "string",
"default": "none"
}
},
"description": "Pre-confirmed structured fields.",
"additionalProperties": false
}
},
"additionalProperties": false
}Verify a signed PhaseFolio export by content hash. Returns verification status (valid/tampered/unknown), issued timestamp, methodology version, and an anonymized originating-org identifier. Use this when a user shares a PhaseFolio asset snapshot and you want to confirm it's authentic before citing the analysis.
| Argument | Type | Description |
|---|---|---|
| hash* | string | 64-character hex SHA-256 of the signed artifact's content. Embedded in every signed PhaseFolio PDF (footer) and Excel (cover tab). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$",
"description": "64-character hex SHA-256 of the signed artifact's content. Embedded in every signed PhaseFolio PDF (footer) and Excel (cover tab)."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"section"
],
"properties": {
"section": {
"enum": [
"rnpv",
"backtest",
"pos-calibration",
"ira-framework",
"development-paths",
"deal-term-modelling",
"holding-valuation",
"stage-normalization",
"evidence-standards",
"network-benchmarks",
"cogs-benchmark",
"sga-benchmark",
"tax-benchmark",
"sec-deal-terms"
],
"type": "string",
"description": "Which methodology section to fetch. 'rnpv' covers the core risk-adjusted NPV calculation: cumulative PoS, midpoint-discounted risk-adjusted development costs, the S-curve ramp/plateau/LOE revenue lifecycle net of COGS/SG&A/tax, WACC discounting, the rNPV and Unadjusted-NPV equations, Monte Carlo / expected NPV, and one-at-a-time sensitivity; 'backtest' covers the validation methodology and AUC/CI numbers; 'pos-calibration' covers the indication × modality × biomarker matrix, expanded modality normalization into the eight benchmark baselines, the scored multipliers including the model 2.6.0 biomarker_quality drug-specific multiplier (oncology solid tumor, Phase II/III), the Phase 1 ORR extracted-but-not-scored signal with its Phase 0 governance disclosure, and the non-scored drug-specific risk flags; 'ira-framework' covers the Year-9/Year-13 MFP cliff modeling and the separate IRA classification for expanded modalities such as RNA Therapeutics, Protein Degrader, Radioligand, Oncolytic Virus, and Cancer Vaccine; 'development-paths' covers development-path tiers, automatic-effect policy, and the no path-based PoS/default-multiplier rule; 'deal-term-modelling' covers how licensing deal terms map onto a scenario's deal structure (term-model mapping v1): what is modelled, not modelled and refused, the territory restriction and the approximations it names, milestone timing at stage ends, the cost-share rule, and the non-USD conversion-rate refusal; 'holding-valuation' covers how a Workspace holding is valued (scenario, share of asset value, look-through estimate, cost, not valued): each method's inputs, reason codes and completeness, the totals rules (never added across bases or currencies, estimates left out by default) and what the look-through estimate ignores; 'stage-normalization' covers exact clinical labels, work packages, canonical PoS gates, and the no label-only PoS modifier rule for Phase 1b/2a/2b, adaptive, pivotal, expansion, platform, bridging, and related labels; 'evidence-standards' covers source tiers and freshness rules; 'network-benchmarks' covers anonymization and cohort cuts; 'cogs-benchmark' covers the per-modality COGS% default bands and price-sensitivity methodology; 'sga-benchmark' covers the per-commercial-model SG&A% default bands (orphan/specialty/primary-care); 'tax-benchmark' covers the US-statutory-21% default tax rate, effective-rate reality, and the NOL cap; 'sec-deal-terms' is the retirement notice for the SEC EDGAR deal-term source (retired 2026-09-27), with its frozen versions."
}
},
"additionalProperties": false
}