Skip to main content
Glama
mihir19

bioevidence-mcp

by mihir19
README.md
# BioEvidence MCP

Evidence-grounded biomedical retrieval and summarization through the Model Context Protocol.

Repository: [github.com/mihir19/bioevidence-mcp](https://github.com/mihir19/bioevidence-mcp)

The distribution name is `bioevidence-mcp`. The Python import namespace
remains `bioreason` for backward compatibility with existing integrations.

Research use only. No diagnosis, treatment recommendations, or patient data.

## Setup

Install Python 3.12 and [uv](https://docs.astral.sh/uv/), then install the project dependencies:

```bash
uv sync
```

## Manual testing

Call the `health` tool directly through FastMCP:

```bash
uv run fastmcp call src/bioreason/server.py health
```

The structured result should be:

```json
{
  "status": "ok",
  "version": "0.1.1"
}
```

To run the MCP server over the default stdio transport:

```bash
uv run fastmcp run src/bioreason/server.py:mcp
```

## Evaluation

Run the deterministic, network-free release gate:

```bash
uv run python -m bioreason.evaluation.runner \
  --mode offline \
  --output evaluation/reports/offline-report.json \
  --markdown evaluation/reports/offline-report.md
```

Run one explicitly selected live integration case:

```bash
uv run --env-file .env python -m bioreason.evaluation.runner \
  --mode live \
  --case-id brca1-c68-69delag \
  --output evaluation/reports/live-brca1.json \
  --markdown evaluation/reports/live-brca1.md
```

Offline evaluation is deterministic and CI-safe. Live evaluation requires network access, and exact evidence counts may change. OpenAI is optional: missing summarizer configuration produces an incomplete integration case without losing retrieval results. Evaluation establishes citation provenance and eligibility, not clinical validity or complete semantic entailment. See [evaluation/README.md](evaluation/README.md).

TDQS

C2.9/5.0

Scored across 2 tools

Disambiguation5/5

The health and search tools serve completely different purposes—one for service health, the other for querying evidence—so there is no ambiguity.

Naming Consistency2/5

One tool uses a short noun ('health'), while the other uses a verb_noun pattern with underscores ('search_biomedical_evidence'), showing inconsistent naming conventions.

Tool Count2/5

With only two tools and one being a simple health check, the server feels underdeveloped for the domain of biomedical evidence retrieval, suggesting more tools are needed.

Completeness2/5

The search tool provides a broad query capability, but lacks supporting tools for retrieving specific evidence items, managing sources, or performing other typical operations in the domain.

Maintenance

ActivitySlowing
ResponsivenessNo issues