Skip to main content
Glama

Server Details

Biotech rNPV/PoS engine for AI agents. Signed exports, evidence register, asset landscape.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 12 of 12 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct purpose: dossier, evidence, methodology, project metadata, scenario inputs/outputs, scenario listing, benchmarks, drug risk, landscape, SEC terms, triage, and verification. No two tools have overlapping functionality; descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: get_dossier, get_evidence, get_methodology, get_project, get_scenario, list_scenarios, query_*, triage_asset, verify_export. No mixing of styles or irregular verbs.

Tool Count5/5

12 tools is well-scoped for the domain covering project/scenario retrieval, various queries, triage, and verification. It is neither sparse nor excessive, fitting the complexity of drug development analysis.

Completeness4/5

The tool surface covers core operations: retrieval, listing, queries on benchmarks, drug risk, landscape, SEC terms, triage, and verification. A notable gap is the absence of a list_projects tool to discover projects before listing scenarios, though get_project exists for known projects.

Available Tools

12 tools
get_dossierA
Read-onlyIdempotent
Inspect

Fetch the structured dossier JSON for a scenario — the same content rendered in the IC Dossier 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_idYesUUID of the scenario to fetch the IC dossier payload for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesStructured dossier payload mirroring the IC Dossier PDF/Excel exports. Top-level keys include verdict, drivers, assumptions, evidence, and (when available) signed_export hashes. See get_methodology('evidence-standards') for the full structure.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. Description adds value by detailing the returned data (verdict, drivers, assumptions, evidence summary, signed-export hashes) beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states core purpose, second enriches with content details. No redundant information; every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and an output schema, the description adequately lists what the dossier contains. Minor gap: no mention of behavior when scenario_id is invalid or missing, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the single parameter. Description does not add new meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it fetches structured dossier JSON for a scenario, listing specific contents (verdict, drivers, etc.) and links to PDF/Excel exports. It distinguishes from sibling tools like get_evidence or get_scenario by specifying that it retrieves the full dossier in JSON form.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this vs alternatives like get_evidence or get_scenario. The context implies it's for dossier data, but no when-not or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_evidenceA
Read-onlyIdempotent
Inspect

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?'

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_idYesUUID of the scenario whose evidence register entries to fetch.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesArray of evidence-register entries. Each entry has fields like assumption_path, source_url, source_date, excerpt, freshness, confidence — see /methodology/evidence-standards for the canonical schema.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description only adds that evidence includes citations, sources, etc., which is content-oriented rather than behavioral. No additional behavioral context (e.g., authentication, rate limits, or return details) is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundant words. The purpose is stated first, followed by a usage example. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple tool (1 param, no nested objects), annotations cover safety, and output schema exists, the description explains what the evidence entries contain. Lacks mention of potential pagination or ordering, but overall complete for this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of scenario_id. The tool description adds context about what evidence is, but does not significantly enhance parameter meaning beyond the schema. Baseline 3 with slight improvement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (fetch) and resource (evidence register entries for a scenario). Provides concrete examples of content (citations, sources, documents). Does not explicitly differentiate from sibling tools like get_dossier or get_methodology, but the description is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directly tells when to use the tool ('when an analysis question references "what's the evidence for X?"'). Does not mention when not to use or list alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_methodologyA
Read-onlyIdempotent
Inspect

Fetch a PhaseFolio methodology section's full content (backtest, PoS calibration, IRA framework, 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYesWhich methodology section to fetch. 'backtest' covers the validation methodology and AUC/CI numbers; 'pos-calibration' covers the indication × modality × biomarker matrix, the eight scored multipliers including the engine 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; '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' covers the SEC EDGAR 8-K Item 1.01 deal-term extraction pipeline (cohort, extractor + classifier versions, fields extracted, v0 vs v1 scope).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds valuable context beyond annotations: the stable URL and methodology version identifier for citation, and the structured content per section. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence front-loads purpose and list of sections. Second sentence adds key behavioral context (stable URL, version identifier). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (1 parameter with enum, output schema exists), the description is complete. It covers what the tool does, what it returns, and why it's useful (citation). No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed enum description for the single parameter. The description lists the sections but does not add meaning beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fetches a PhaseFolio methodology section's full content, lists all available sections, and mentions the citation design (stable URL, version identifier). This distinguishes it from sibling tools like get_dossier or get_evidence which fetch different types of content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for referencing methodology sections but does not explicitly specify when to use this tool versus alternatives like query_benchmarks or get_evidence. No exclusions or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_projectA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesUUID of the PhaseFolio project. Get from the project URL in the dashboard or from a prior list_scenarios call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description adds little behavioral context beyond stating it fetches metadata. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded key information. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema exists, annotations complete), the description provides sufficient purpose and usage context. Could have mentioned output schema details but is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for project_id, so the description does not add new parameter meaning. It lists output fields but that is output semantics, not parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Fetch a PhaseFolio project's metadata') and lists specific fields returned (indication, sub-indication, etc.). It distinguishes from sibling 'get_*' tools by targeting project metadata specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use this tool: 'Use this when you need to ground an analysis question in the project's clinical context before fetching scenarios.' This provides clear context and hints at workflow ordering.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_scenarioA
Read-onlyIdempotent
Inspect

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 engine output — every signed export ties back to this payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_idYesUUID of the scenario. Get from list_scenarios or the scenario URL in the dashboard.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful context beyond the annotations: it specifies that the tool returns both inputs (stage costs, durations, etc.) and computed outputs (eNPV, rNPV, etc.), and declares it as the authoritative source for signed exports. This explains the behavioral significance of fetch, complementing the readOnlyHint and idempotentHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver all necessary information: what is fetched (inputs and outputs) and why it matters (authoritative engine output). No extraneous words, perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single parameter, an output schema present, and comprehensive annotations, the description is complete. It clarifies the tool's role among siblings (authoritative source for exports) and covers all essential aspects without omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the only parameter (scenario_id) completely, with format and description. The tool description does not add any further semantics about the parameter beyond what is in the schema, which is acceptable given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fetch') and the resource ('PhaseFolio scenario') along with the inputs and outputs. It conveys the tool's role as the authoritative engine output, but does not explicitly differentiate it from sibling tools like list_scenarios or get_dossier, which might also return scenario-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., list_scenarios for listing, verify_export for export verification). It does not mention prerequisites, limitations, or use cases, leaving the agent to infer appropriateness without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scenariosA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum number of scenarios to return (1–200). Defaults to 50; raise for projects with many what-if branches.
project_idYesUUID of the parent project whose scenarios to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesScenarios in the project, newest first.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false. The description adds useful context about the return content (scenario IDs, names, timestamps, eNPV/rNPV), which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that efficiently convey purpose, return data, and usage guidance. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter set (2 required, fully described), presence of output schema, and sufficient annotations, the description fully covers what an agent needs to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, with both parameters (project_id, limit) fully described. The description adds no additional parameter information beyond the schema; baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all scenarios in a PhaseFolio project', specifies returned data (IDs, names, timestamps, eNPV/rNPV), and distinguishes from the sibling 'get_scenario' by indicating its use for discovery before fetching details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises 'Use this to discover what scenarios exist before fetching one in detail', providing clear context for when to use this tool versus the sibling 'get_scenario'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_benchmarksA
Read-onlyIdempotent
Inspect

Query PhaseFolio's network benchmarks — anonymized aggregate statistics across the network of scenarios (PoS by indication × modality, cost distributions, duration percentiles). L1 tier (no auth) returns lagged, low-granularity headlines; L3 tier (bearer auth) returns granular slices with biomarker stratification.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYesWhich benchmark family to return: 'pos' (probability of success), 'cost' (per-stage cost distributions), 'duration' (per-stage duration percentiles), or 'all'.
modalityNoOptional modality filter ('Antibody', 'Small Molecule', 'Cell Therapy', 'Gene Therapy', etc.). Omit to return cross-modality stats.
indicationYesIndication name (e.g. 'NSCLC', 'Rheumatoid Arthritis', 'Atopic Dermatitis'). Free-form; the engine fuzz-matches to the canonical indication taxonomy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesL1 (no-auth) returns a versioned headline set; L3 (bearer) will return granular slices once enough orgs are on the network.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond annotations (readOnlyHint, idempotentHint), including access tier behavior, data lag, granularity differences, and biomarker stratification for L3. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence defines the core function, the second adds crucial access-tier behavior. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (rendering return value description unnecessary), the description covers purpose, parameters, behavioral nuances, and authorization. For a tool with 3 parameters and good annotations, it is fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds value by explaining free-form indication fuzz-matching and tying parameters to output differences across tiers (e.g., biomarker stratification for L3). This enriches parameter understanding beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries PhaseFolio's network benchmarks and specifies the type of data returned (anonymized aggregate statistics, PoS by indication × modality, cost distributions, duration percentiles). It distinctly separates this from sibling tools (get_dossier, get_evidence, etc.) and includes access tier differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use L1 (no auth, low-granularity) vs L3 (bearer auth, granular slices with biomarker stratification). Though it doesn't explicitly list when not to use, the context is sufficient for the agent to choose based on authorization level and data needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_drug_riskA
Read-onlyIdempotent
Inspect

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 engine 2.6.0 drug-specific multipliers or flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesUUID of the project whose reviewed drug-specific clinical-risk signals should be queried.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesDrug-specific clinical-risk substrate for a project. Returns reviewed signals only; pending rows are counted but excluded from scoring.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds significant context beyond annotations by detailing the contents of the fetched data (biomarker quality, provenance, etc.). Annotations already indicate read-only and non-destructive nature, so no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first defines the action and outputs, second provides usage context. No unnecessary words; highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, output schema exists), the description fully explains its purpose, contents, and usage context. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of the single parameter (project_id). The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it fetches drug-specific clinical-risk signals for a project, listing specific data included (biomarker quality, ORR flags, etc.). However, it does not explicitly differentiate from sibling tools beyond the context of engine 2.6.0 interpretation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: 'Use this before interpreting engine 2.6.0 drug-specific multipliers or flags.' Does not mention when not to use or alternatives, but the guidance is specific and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_landscapeA
Read-onlyIdempotent
Inspect

Fetch the asset-anchored competitive landscape for a project — comparable trials, competing programs, sponsor activity, and biomarker overlap. Sourced from CT.gov + FDA + PhaseFolio's curated enrichment. Use when an analysis question asks 'who else is working on this?' or 'what's the competitive context?'

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesUUID of the project to anchor the landscape on. Indication × modality × biomarker filters derive from the project.
phase_filterYesOptional list of clinical phases to include (e.g. ['PHASE2','PHASE3']). Empty array means all phases.
recency_yearsYesHow many years back to look (1–50). Defaults to 10 — broad enough to catch development-stage peers without polluting with stale failures.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesAsset-anchored landscape payload: kpis (sponsor counts, trial counts, etc.), comparable_trials[] (NCT-keyed), competing_programs[], biomarker_overlap. Filtered by the project's indication × modality × biomarker.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds value by specifying data sources (CT.gov, FDA, PhaseFolio enrichment), which provides behavioral context beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that front-load the main purpose and include the intended use case. Every word serves a purpose; no extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (though not shown), the description combined with annotations provides sufficient context for a fetch operation. Could mention output structure but not necessary with schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add additional parameter-level details beyond what the schema already provides. It is adequate but not exceptional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches 'asset-anchored competitive landscape' and lists specific content types (comparable trials, competing programs, sponsor activity, biomarker overlap). This effectively differentiates it from siblings like query_benchmarks or get_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'who else is working on this?' or 'what's the competitive context?'. While it lacks explicit when-not-to-use guidance, the context is clear enough for an agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_sec_deal_termsA
Read-onlyIdempotent
Inspect

Query SEC EDGAR deal-term extractions by indication, deal type, date range, confidence, and review state. Returns per-deal rows with source quotes and accession URLs for verification; aggregate engine medians use the separate backend aggregate function.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum rows to return, 1-500. Defaults to 100.
sinceNoOptional inclusive effective_date lower bound in YYYY-MM-DD format.
untilNoOptional inclusive effective_date upper bound in YYYY-MM-DD format.
deal_typeNoOptional deal type filter.
indicationNoOptional indication filter, e.g. 'antimicrobial'.
min_confidenceYesMinimum extraction confidence threshold. Defaults to 0.5.
include_needs_reviewYesWhether to include rows flagged needs_review. Defaults to true so admin users can see flags.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds value by specifying that it returns per-deal rows with source quotes and accession URLs for verification, and that aggregates are separate. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundant information. The first sentence states the purpose and filters; the second details output and separates aggregates. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, output schema exists), the description covers purpose, filters, output nature, and a behavioral caveat (aggregates separate). It does not explain pagination or limit behavior, but the schema covers limit. Overall, it is sufficiently complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description lists parameter categories (indication, deal type, date range, confidence, review state) but does not add meaning beyond what the schema provides for individual parameters. It provides a high-level grouping but no new semantic details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries SEC EDGAR deal-term extractions and lists the available filters. It distinguishes from sibling tools (e.g., query_benchmarks, query_landscape) by specifying the unique focus on deal terms and explicitly separating aggregate medians.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool is for querying deal-term extractions and mentions that aggregate engine medians are handled by a separate function, implying when not to use it. However, it does not explicitly name alternatives or provide clear when-to-use vs. when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

triage_assetA
Read-onlyIdempotent
Inspect

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 + landscape metrics, and a meta block with engine/methodology/synthesis versions. Does NOT compute rNPV. Not an autonomous verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoUnstructured asset text; triggers extraction (inputs_unconfirmed=true).
fieldsNoPre-confirmed structured fields.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint), the description adds valuable behavioral details: it is a conditional read, returns a reasoning chain with grounding, mechanism-plausibility flags, metrics, and a meta block. It also notes that text mode marks inputs_unconfirmed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise yet informative, front-loading the core purpose and then explaining input modes, outputs, and exclusions without wasting words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (conditional read, two input modes, rich output), the description covers all essential aspects: purpose, input options, output components, and what is not included. The existence of an output schema reduces the need to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds critical meaning: 'text' triggers extraction with inputs_unconfirmed=true, while 'fields' provides pre-confirmed structured input. It explains behavior implications beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies that the tool produces a transparent, provenance-linked conditional read on a drug asset for deal triage. It distinguishes itself by stating it does NOT compute rNPV and is not an autonomous verdict, differentiating from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use 'text' vs 'fields' inputs, and explicitly states what the tool does not do (rNPV, autonomous verdict). While it doesn't name specific sibling alternatives, it provides clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_exportA
Read-onlyIdempotent
Inspect

Verify a signed PhaseFolio export. Accepts either a content hash (from a signed PDF/Excel) or a URL to a hosted artifact. Returns verification status (valid/tampered/unknown), issued timestamp, methodology version, and an anonymized originating-org identifier. Use this when a user shares a PhaseFolio dossier and you want to confirm it's authentic before citing the analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashNo64-character hex SHA-256 of the signed artifact's content. Embedded in every signed PhaseFolio PDF (footer) and Excel (cover tab).
artifact_urlNoPublic URL of the signed artifact. The engine fetches it, computes the hash, and verifies — slower but works when only the URL is known.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds behavioral context: the two methods (hash vs URL) and that URL fetching is slower. It also lists specific return fields, providing more detail than annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: three sentences that front-load the purpose, then detail methods and return values. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers both input methods, explains when to use each, and lists return fields. With an output schema present (not shown but indicated), this is complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds value by explaining usage preferences: 'prefer hash for speed' and URL 'works when only the URL is known.' This provides semantic context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Verify a signed PhaseFolio export.' It specifies two methods (hash or URL) and the return type (verification status, timestamp, etc.). This uniquely distinguishes it from sibling tools like get_dossier or get_evidence, which are about retrieval rather than verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use: 'when a user shares a PhaseFolio dossier and you want to confirm it's authentic before citing the analysis.' It does not state when not to use or mention alternatives, but given the tool's unique verification function, this is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources