{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T18:41:52.085Z","url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2","markdownUrl":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2.md","server":{"slug":"unibio-intelligence-biomedmcp","name":"biomedmcp","registryName":"io.github.unibio-intelligence/biomedmcp","description":"Integrated public biomedical research with cited, bounded evidence.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"biomedmcp-2","type":"pypi","identifier":"biomedmcp","withdrawn":false,"url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2","version":"0.2.4","transport":"stdio","scoredAt":"2026-11-05T06:00:09.637Z"},"score":{"total":73,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":73}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","Runs hatchling.build at install time, a recognised build step with no custom scripting around it.","4 of 73 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"hatchling.build","hooks":"build_backend"}},{"code":"dephealth.assessed","args":{"deps":"73","unhealthy":"4"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to unibio-intelligence/biomedmcp).","Clear OSI-approved license (Apache-2.0).","Actively maintained (last published 0 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"unibio-intelligence/biomedmcp"}},{"code":"license.osi","args":{"spdx":"Apache-2.0"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":38,"verdict":"fail","reasons":["0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 2131 tokens (~133/item across 16 items; 13 tools + 3 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"0"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"133","items":"16","tools":"13","tokens":"2131","resources":"3"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"0"}}]},{"name":"Tool Coverage","score":90,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","64% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"64"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"13"}},{"code":"toolsafety.manipulation_clean","args":{"units":"15","judged":"15"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":["Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"malware":[],"components":[{"slug":"biomedmcp","type":"remote","identifier":"https://biomedmcp.unibiointelligence.com/mcp","withdrawn":false,"score":60,"current":false,"url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp","markdownUrl":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp.md"},{"slug":"ghcr-io-unibio-intelligence-biomedmcp","type":"oci","identifier":"ghcr.io/unibio-intelligence/biomedmcp","withdrawn":false,"score":33,"current":false,"url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/ghcr-io-unibio-intelligence-biomedmcp","markdownUrl":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/ghcr-io-unibio-intelligence-biomedmcp.md"},{"slug":"biomedmcp-2","type":"pypi","identifier":"biomedmcp","withdrawn":false,"score":73,"current":true,"url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2","markdownUrl":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"biomedmcp"},{"label":"Version","value":"0.2.4"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"search_records","title":"Search biomedical records","description":"Search genes, proteins, drugs, diseases, phenotypes, pathways, variants, pharmacogenomics, GWAS, diagnostics, adverse events, studies, patents or authors by text; returns IDs for get_record (variants: get_variant_evidence). Papers: search_literature. Trials: search_trials. Patent search is chemistry-linked (SureChEMBL); assignee/inventor/CPC search is query_source(source=patents). e.g. {\"entity\":\"gene\",\"query\":\"BRCA1\",\"filters\":{\"species\":9606}}","inputs":[{"name":"cursor","type":"string|null","required":false,"description":"next_cursor from the previous page."},{"name":"entity","type":null,"required":true,"description":null},{"name":"filters","type":null,"required":false,"description":null},{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"limit","type":"integer","required":false,"description":null},{"name":"output","type":null,"required":false,"description":"summary trims excerpts; full keeps source fields. Omitted evidence stays recoverable."},{"name":"query","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":185},{"name":"get_record","title":"Get record and evidence sections","description":"Fetch one record by ID with optional evidence sections, e.g. gene expression/eqtl/diseases/druggability, drug label/safety, article fulltext, trial eligibility, protein domains/structures. Variants: get_variant_evidence. List an entity's sections with get_capabilities(entity=...). e.g. {\"entity\":\"gene\",\"id\":\"PCSK9\",\"species\":9606}","inputs":[{"name":"entity","type":null,"required":true,"description":null},{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"id","type":"string","required":true,"description":"Exact ID, e.g. PCSK9, PMID:123, NCT04368728, MONDO:0007750, Q8NBP7, R-HSA-109581 or an InChIKey."},{"name":"section_parameters","type":null,"required":false,"description":"Options keyed by requested section."},{"name":"sections","type":"array","required":false,"description":"Empty returns the base record; get_capabilities(entity=...) lists sections."},{"name":"source_versions","type":"object","required":false,"description":"Pin releases as {source: version}."},{"name":"sources","type":"array","required":false,"description":"Restrict lookups to these source IDs."},{"name":"species","type":"integer","required":false,"description":"NCBI taxon ID; 9606 is human."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":237},{"name":"search_literature","title":"Search literature","description":"Search papers across PubMed, Europe PMC, PubTator and LitSense with date, author, journal, article-type and open-access filters. Deduplicates across sources and reports each source's outcome. Read abstracts or full text with get_record(entity=article). e.g. {\"query\":\"PCSK9 LDL cholesterol\"}","inputs":[{"name":"cursor","type":"string|null","required":false,"description":"next_cursor from the previous page."},{"name":"filters","type":null,"required":false,"description":null},{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"limit","type":"integer","required":false,"description":null},{"name":"output","type":null,"required":false,"description":"summary trims excerpts; full keeps source fields. Omitted evidence stays recoverable."},{"name":"query","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":138},{"name":"search_trials","title":"Search clinical trials","description":"Search clinical trials (ClinicalTrials.gov, NCI) by condition, intervention, phase and recruitment status. Read arms, eligibility or outcomes with get_record(entity=trial). Does not assess an individual's eligibility. e.g. {\"query\":\"familial hypercholesterolemia\",\"filters\":{\"status\":\"RECRUITING\"}}","inputs":[{"name":"cursor","type":"string|null","required":false,"description":"next_cursor from the previous page."},{"name":"filters","type":null,"required":false,"description":null},{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"limit","type":"integer","required":false,"description":null},{"name":"output","type":null,"required":false,"description":"summary trims excerpts; full keeps source fields. Omitted evidence stays recoverable."},{"name":"query","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":136},{"name":"get_variant_evidence","title":"Get variant evidence","description":"Get evidence for one variant (rsID, gene + protein change, HGVS or chr:pos:ref:alt). Defaults: ClinVar, gnomAD population, CIViC; add predictions (AlphaMissense), eve, cosmic, oncokb, hotspots, gwas or cbioportal. Ambiguous assembly or transcript is reported, not guessed; predictions keep source and uncertainty. e.g. {\"id\":\"PCSK9 R46L\"}","inputs":[{"name":"assembly","type":null,"required":false,"description":"Genome build for coordinate IDs."},{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"id","type":"string","required":true,"description":"rsID, gene + protein change (PCSK9 R46L), HGVS or chr:pos:ref:alt."},{"name":"section_parameters","type":null,"required":false,"description":"Options keyed by requested section."},{"name":"sections","type":"array","required":false,"description":null},{"name":"sources","type":"array","required":false,"description":"Restrict lookups to these source IDs."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":188},{"name":"analyze_study","title":"Analyze genomics study","description":"Analyze an installed public cancer genomics study: gene_profile, mutation_cohort, survival, compare, co_occurrence, filter_cohort, top_mutated. List installed studies with get_capabilities(source=study); ubi_synthetic is invented demo data. Report sample denominators and exclusions. Private data analysis uses the Ubi platform. e.g. {\"analysis\":\"gene_profile\",\"study\":\"ubi_synthetic\",\"gene\":\"TP53\"}","inputs":[],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":96},{"name":"resolve_entity","title":"Resolve identifiers","description":"Map a name, alias or ambiguous identifier to exact species-qualified IDs before joining evidence. Returns candidates when ambiguous; a provider match score alone is not identity. Skip when you already hold an exact ID. e.g. {\"entity\":\"gene\",\"query\":\"LDL receptor\",\"species\":9606}","inputs":[{"name":"assembly","type":null,"required":false,"description":"Genome build for coordinate IDs."},{"name":"entity","type":null,"required":false,"description":null},{"name":"query","type":"string","required":true,"description":"Name, alias, symbol or identifier."},{"name":"species","type":"integer","required":false,"description":"NCBI taxon ID; 9606 is human."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":115},{"name":"find_related","title":"Find related records","description":"List records linked to one record. gene/drug/disease: articles, trials. variant: articles, structure. article: citations, references, recommendations, authors, entities. author: articles. Record attributes are get_record sections, not relations. e.g. {\"entity\":\"article\",\"id\":\"PMID:123\",\"relation\":\"references\"}","inputs":[{"name":"assembly","type":null,"required":false,"description":"Genome build for coordinate IDs."},{"name":"entity","type":null,"required":true,"description":null},{"name":"id","type":"string","required":true,"description":"Record ID, e.g. PCSK9, PMID:123 or openalex:A123."},{"name":"limit","type":"integer","required":false,"description":null},{"name":"relation","type":"string","required":true,"description":null},{"name":"species","type":"integer","required":false,"description":"NCBI taxon ID; 9606 is human."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":149},{"name":"build_dossier","title":"Build research dossier","description":"Build a multi-section dossier in one call: verified identity, default record sections and top related papers, with citations and per-source outcomes. Workflows: target_dossier, model_input_bundle (gene), drug_review, disease_landscape, pathway_review, variant_dossier, negative_evidence (bounded literature check; never proves absence). Add sections with get_record. e.g. {\"workflow\":\"target_dossier\",\"focus\":\"LDLR\",\"species\":9606}","inputs":[{"name":"assembly","type":null,"required":false,"description":"Genome build for coordinate IDs."},{"name":"focus","type":"string","required":true,"description":"Gene symbol, drug, disease (MONDO ID or name), pathway (R-HSA ID or exact name), variant, or topic."},{"name":"section_parameters","type":null,"required":false,"description":"Options keyed by requested section."},{"name":"sections","type":"array|null","required":false,"description":"Replace the workflow's default sections."},{"name":"species","type":"integer","required":false,"description":"NCBI taxon ID; 9606 is human."},{"name":"workflow","type":null,"required":true,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":194},{"name":"query_source","title":"Query source directly","description":"Run a source-specific operation that other tools do not cover, e.g. ChEMBL bioactivities, Ensembl coordinates, PDB structure quality, OmniPath interactions, NCBI Datasets genomes, ncbi-records for GenBank/GEO/SRA. Read get_capabilities(source=...) for operations and params first. e.g. {\"source\":\"gtex\",\"operation\":\"get_metadata\",\"params\":{\"info_type\":\"tissues\",\"dataset_id\":\"gtex_v10\"}}","inputs":[{"name":"freshness","type":null,"required":false,"description":"fresh bypasses the cache."},{"name":"operation","type":"string","required":true,"description":"Operation listed by get_capabilities(source=...)."},{"name":"params","type":"object","required":false,"description":"Arguments for that operation's schema."},{"name":"source","type":null,"required":true,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":149},{"name":"run_batch","title":"Run batched reads","description":"Run up to ten independent read calls in parallel with one quota reservation; each result keeps its own outcome. build_dossier and utilities are not batchable. e.g. {\"calls\":[{\"operation\":\"get_record\",\"arguments\":{\"entity\":\"gene\",\"id\":\"PCSK9\",\"species\":9606}}]}","inputs":[{"name":"calls","type":"array","required":true,"description":null},{"name":"idempotency_key","type":"string|null","required":false,"description":"Reuse when retrying so quota is charged once."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":97},{"name":"get_capabilities","title":"Inspect get_capabilities","description":"List enabled sources, entity sections, dossier workflows and source operations with exact parameter schemas. Narrow with source or entity; diagnose=true probes source health. Examples: biomedmcp://guide. e.g. {}","inputs":[{"name":"diagnose","type":"boolean","required":false,"description":"Probe live source health (slower)."},{"name":"entity","type":null,"required":false,"description":null},{"name":"source","type":"string|null","required":false,"description":null}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":78},{"name":"get_quota","title":"Check quota","description":"Show remaining research allowance and reset times; signed-in accounts get higher limits. e.g. {}","inputs":[],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":28}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T06:00:09.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":73,"partial":false,"deprecated":null,"stale":3,"noRepo":1}},"mismatches":[],"changelog":{"trackingSince":"2026-11-05","recent":[{"id":"chg_01a1aa4b-14d4-7120-b9dc-72e65854b41b","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2#chg-chg_01a1aa4b-14d4-7120-b9dc-72e65854b41b"},{"id":"chg_01a1aa1d-58e7-7cba-b0a6-04b2f5a80e3a","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2#chg-chg_01a1aa1d-58e7-7cba-b0a6-04b2f5a80e3a"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2/changelog.json"},"links":{"html":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2","markdown":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2.md","changelogJson":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2/changelog.json","changelogRss":"https://verifymcp.io/servers/unibio-intelligence-biomedmcp/biomedmcp-2.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/biomedmcp/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/biomedmcp"},{"label":"Repository","href":"https://github.com/unibio-intelligence/biomedmcp"}]}}