# Biolab MCP Server

> Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries

- name: io.github.srikarjy/biolab-mcp-server
- version: 0.3.0
- connection class: R0 (autonomous)
- trust: 92/100
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.srikarjy%2Fbiolab-mcp-server
- tools: https://api.protogrid.dev/v1/servers/io.github.srikarjy%2Fbiolab-mcp-server/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "biolab-mcp-server": {
      "type": "http",
      "url": "https://srikarjy025-biolab-mcp.hf.space/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 93
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-83% ~updated-67d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 30 of 30 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,211 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 30, about 3,211 tokens to load them all
- tool set hash: 78dbcb28c2559b2d42313ae1eb47c421
- tools last changed: 2026-10-10T22:10:42.075Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.srikarjy/biolab-mcp-server.svg)](https://protogrid.dev/servers/io.github.srikarjy/biolab-mcp-server)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-10 `replay_execution` added
  - Re-run a recorded execution and report whether its outputs reproduced. Writes nothing.
- 2026-10-10 `verify_executions` added
  - Verify the execution hash chain and that every output artifact is intact.
- 2026-10-10 `get_artifact` added
  - Fetch an output artifact by its sha256 (text only; capped in size).
- 2026-10-10 `list_executions` added
  - List recent execution records, newest first.
- 2026-10-10 `get_execution` added
  - Fetch one execution record, including output artifact hashes.
- 2026-10-10 `run_tool` added
  - Run a registered tool and seal an ExecutionRecord (inputs, versions, output hashes). Args: tool: tool name from list_execution_tools inputs: tool inputs (JSON object); stored verbatim so the run can be replayed agent_id: calling agent or workflow identity retrieval_ids: evidence retrievals this run was derived from, for provenance links
- 2026-10-10 `list_execution_tools` added
  - List runnable tools with their pinned versions, containers and devices.

Full history: https://api.protogrid.dev/v1/servers/io.github.srikarjy%2Fbiolab-mcp-server/changes

## Remotes

- https://srikarjy025-biolab-mcp.hf.space/mcp (streamable-http, auth none, reachable true, uptime30d 0.8333333)

## Packages

_none_

## Tools (30)

- `add_evidence_to_collection`: Add or update a retrieval in a scientist-reviewed evidence collection.
- `create_claim`: Create a scientific claim record without asserting that it is true.
- `create_evidence_collection`: Create a reviewed evidence collection in a project.
- `create_evidence_watch`: Create a saved query for explicit evidence-change monitoring.
- `create_project`: Create a persistent scientist research project.
- `fetch`: Fetch one preserved evidence record by retrieval ID.
- `get_artifact`: Fetch an output artifact by its sha256 (text only; capped in size).
- `get_evidence_collection`: Return a collection and its reviewed evidence items.
- `get_execution`: Fetch one execution record, including output artifact hashes.
- `get_project_report`: Return collections, claims, evidence links, watches, and events for a project.
- `get_retrieval`: Retrieve a full retrieval record by its retrieval_id.

    Args:
        retrieval_id: the UUID returned by search_pubmed
    
- `link_claim_evidence`: Propose or record how one retrieval relates to a claim.
- `list_evidence_collections`: List evidence collections, optionally within one project.
- `list_evidence_events`: List change events previously detected by an evidence watch.
- `list_evidence_watches`: List saved evidence watches, optionally within one project.
- `list_executions`: List recent execution records, newest first.
- `list_execution_tools`: List runnable tools with their pinned versions, containers and devices.
- `list_projects`: List scientist research projects.
- `replay_execution`: Re-run a recorded execution and report whether its outputs reproduced. Writes nothing.
- `run_all_evidence_watches`: Run all active watches and return explicit per-watch failures.
- `run_evidence_watch`: Run one evidence watch and record added, removed, or revised evidence.
- `run_tool`: Run a registered tool and seal an ExecutionRecord (inputs, versions, output hashes).

    Args:
        tool: tool name from list_execution_tools
        inputs: tool inputs (JSON object); stored verbatim so the run can be replayed
        agent_id: calling agent or workflow identity
        retrieval_ids: evidence retrievals this run was derived from, for provenance links
    
- `search`: Search all evidence sources for ChatGPT/Codex knowledge compatibility.
- `search_biorxiv`: List bioRxiv/medRxiv preprints by category and log each to the audit trail.

    No free-text search exists on this API — only category listing (last 30 days).

    Args:
        category: category, e.g. "neuroscience", "bioinformatics", or "all"
        agent_id: which agent is asking, e.g. "aletheia:advocate"
        max_results: how many preprints to retrieve (default 5)
        server: "biorxiv" or "medrxiv" (default "biorxiv")
    
- `search_clinicaltrials`: Search ClinicalTrials.gov and log every retrieved study to the audit trail.

    Args:
        query: condition/disease search string, sent to ClinicalTrials.gov verbatim
        agent_id: which agent is asking, e.g. "aletheia:advocate"
        max_results: how many studies to retrieve (default 5)
    
- `search_europepmc`: Search Europe PMC and log every retrieved article to the audit trail.

    Args:
        query: exact search string, sent to Europe PMC verbatim — no normalization
        agent_id: which agent is asking, e.g. "aletheia:advocate"
        max_results: how many articles to retrieve (default 5)
    
- `search_evidence`: Search several scientific sources in one explicitly audited workflow.

    Args:
        query: scientific evidence query sent to each selected source
        agent_id: calling agent or workflow identity
        sources: any of pubmed, europepmc, clinicaltrials, uniprot, opentargets
        max_results: maximum results to preserve per source (1-50)
    
- `search_pubmed`: Search PubMed and log every retrieved paper to the audit trail.

    Args:
        query: exact search string, sent to PubMed verbatim — no normalization
        agent_id: which agent is asking, e.g. "aletheia:advocate"
        max_results: how many papers to retrieve (default 5)
    
- `trace_claim`: Trace a claim to supporting, conflicting, contextual, or insufficient evidence.
- `verify_executions`: Verify the execution hash chain and that every output artifact is intact.
