Skip to content

Verbex Lab Tools

com.verbalexperiment/lab-toolsverbalexperiment.comstreamable-httpv0.2.0Scanned

Deterministic wet-lab calculators and lab document templates, with checked notebook entries.

10 tools: 8 change things and 2 only read.

Tools: 0 delete, 0 irreversible, 8 write, 2 read.
  • Reads private data · 0
  • Reads text others write · 0
  • Can send data out · 0
  • 1 finding

Anlyon alternative

8 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

10 tools

Changes things 8Claude Code: ask
  • eln_templateBuild an electronic lab notebook (ELN) entry template for an experiment: objective, materials, procedure, observations and conclusion sections from a preset or custom list, optiona…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Build an electronic lab notebook (ELN) entry template for an experiment: objective, materials, procedure, observations and conclusion sections from a preset or custom list, optionally with timestamp fields and voice-capture prompts. Returns Markdown and HTML.

    Annotations the server declares

    • title: Electronic lab notebook entry template
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lnp_formulationPlan a lipid nanoparticle (LNP) formulation for RNA: from RNA mass, N/P ratio and lipid mol% (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Plan a lipid nanoparticle (LNP) formulation for RNA: from RNA mass, N/P ratio and lipid mol% (e.g. ionizable lipid/DSPC/cholesterol/PEG-lipid 50/10/38.5/1.5), calculate moles, mass and stock volume of every lipid, the ethanol and aqueous phase volumes at the chosen mixing ratio (default 3:1), and final RNA concentration, ethanol fraction and lipid:RNA ratio. Molecular weights must come from the user or certificates of analysis.

    Annotations the server declares

    • title: LNP formulation (lipid nanoparticles)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • parse_reagent_labelTurn text read from a reagent bottle or kit label (OCR or typed) into structured fields such as product name, catalog number, lot, expiry, concentration and storage.1 finding

    Why it is in this group

    • The name "parse_reagent_label" says "label": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "parse_reagent_label" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "parse_reagent_label" says "label": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Turn text read from a reagent bottle or kit label (OCR or typed) into structured fields such as product name, catalog number, lot, expiry, concentration and storage. Parses the provided text only; send the label text, not an image.

    Annotations the server declares

    • title: Reagent label parser
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • pcr_master_mixUse when someone sets up a PCR or qPCR reaction mix for several wells.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when someone sets up a PCR or qPCR reaction mix for several wells. Calculates volume of each component per reaction and for the whole mix with excess, with water filling the remaining volume. Give each component a stock and final concentration (molar, ng/µL, x buffer, %), an amount per reaction (e.g. 1.25 U polymerase from 5 U/µL, 10 ng template from ng/µL), or a fixed volume. Template can be added per well separately. Do not list water; it is calculated.

    Annotations the server declares

    • title: PCR / qPCR master mix
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plate_mapUse when someone lays out a multiwell plate (ELISA, qPCR, cell or compound assays).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when someone lays out a multiwell plate (ELISA, qPCR, cell or compound assays). Lays out a 6, 12, 24, 48, 96 or 384-well plate: standards, samples, controls and blanks with replicates, filled by row or column, optionally leaving edge wells empty and keeping replicate sets together. Returns a grid with a key and a well-by-well list.

    Annotations the server declares

    • title: Plate map (6- to 384-well)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • protocol_templateBuild a structured lab protocol (purpose, materials, procedure, critical steps, acceptance criteria and more) for a protocol title, using a preset or custom sections.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Build a structured lab protocol (purpose, materials, procedure, critical steps, acceptance criteria and more) for a protocol title, using a preset or custom sections. Returns Markdown and HTML ready to fill in or print.

    Annotations the server declares

    • title: Lab protocol template
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • serial_dilutionUse for any serial dilution (standard curves, titrations, dose series).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use for any serial dilution (standard curves, titrations, dose series). Plans transfer and diluent volume per tube and the resulting concentration at each step, from a stock concentration, a constant dilution factor, the number of tubes and the final volume per tube.

    Annotations the server declares

    • title: Serial dilution planner
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • solution_prepUse when someone asks how much solid to weigh for a molar solution (how many grams for X mM in Y mL, making up a buffer or salt solution), or how much stock to dilute to a target c…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when someone asks how much solid to weigh for a molar solution (how many grams for X mM in Y mL, making up a buffer or salt solution), or how much stock to dilute to a target concentration (C1V1). mode "solid": mass of solid to weigh from molecular weight, target concentration and final volume. mode "stock": C1V1 = C2V2 dilution from a stock, solving for stockVolume, stockConcentration, targetConcentration or finalVolume. Returns the primary result, a step summary, warnings and safety notes.

    Annotations the server declares

    • title: Solution prep (molarity and C1V1)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 2Show 2 read-only tools
  • fetchGet the full text of a search result by id, as Markdown.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Get the full text of a search result by id, as Markdown. Guides come with a short summary; templates include the blank template, a worked example where there is one, and a link to the editable Word or Excel file. Calculators return the method, the input fields and a worked example computed by the calculator.

    Annotations the server declares

    • title: Read a Verbex guide, template or tool
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "parse_reagent_label" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "parse_reagent_label" says "label": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http lab-tools https://www.verbalexperiment.com/mcp
claude mcp add --transport http lab-tools https://www.verbalexperiment.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__lab-tools__search",
      "mcp__lab-tools__fetch"
    ],
    "ask": [
      "mcp__lab-tools__solution_prep",
      "mcp__lab-tools__serial_dilution",
      "mcp__lab-tools__pcr_master_mix",
      "mcp__lab-tools__lnp_formulation",
      "mcp__lab-tools__plate_map",
      "mcp__lab-tools__protocol_template",
      "mcp__lab-tools__eln_template",
      "mcp__lab-tools__parse_reagent_label"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as lab-tools. Review it before you use it.

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.verbalexperiment/lab-tools/verify?hash=2ea5c8396bf33c74e85e12aa2b50168116d6899450b29e484c8673a0d186509f" | jq -e '.changed == false'

Pinned hash 2ea5c8396bf3, from Oct 30, 2026, 00:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.verbalexperiment/lab-tools/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.verbalexperiment/lab-tools
[![anlyon.dev](https://anlyon.dev/badge/com.verbalexperiment/lab-tools.svg)](https://anlyon.dev/servers/com.verbalexperiment/lab-tools)

Source: MCP Registry. Synced Oct 30, 2026, 00:17 UTC.