labmcp.vercel.app
A virtual chemistry lab shared by a human and an AI agent. The human has hands, the agent has WebMCP tools, both act on the same experiment.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 7 · Act 17 · Transact 1 · Score: Not yet scored
Tool inspector
add_reagent
Adds a stock reagent (or water) to a container. Water dilutes without changing species. Overflow fails with nothing added; check capacity with measure_volume first if unsure. Mixing may trigger a supported reaction, reported in the observation and in `reaction`. Liquids use volume_ml; solid reagents (see list_reagents) use mass_g instead and dissolve up to their solubility limit. Use add_indicator for indicators and transfer to move existing liquid between containers instead of re-adding stock.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
container_id |
string | yes | Container id exactly as returned by get_lab_state, e.g. "c_1". Type names are not ids. |
reagent_id |
string | yes | Shelf reagent id from get_lab_state.shelf, e.g. "hcl", "naoh", "water", or a challenge's "unknown_acid". See list_reagents. |
volume_ml |
number | no | Volume in mL for a liquid reagent, greater than 0. Omit for a solid reagent; use mass_g instead. |
mass_g |
number | no | Mass in grams for a solid reagent (see list_reagents for which ids are solid). Omit volume_ml when using mass_g. |
concentration_m |
number | no | Concentration in mol/L (0 < x ≤ 2) for a liquid reagent. Omit to use the reagent's default concentration. |
Raw JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"container_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Container id exactly as returned by get_lab_state, e.g. \"c_1\". Type names are not ids."
},
"reagent_id": {
"type": "string",
"enum": [
"water",
"hcl",
"naoh",
"nacl",
"bacl2",
"na2so4",
"acetic_acid",
"ammonia",
"kno3",
"agno3",
"cacl2",
"na2co3",
"nahco3",
"cuso4",
"unknown_acid",
"unknown_a",
"unknown_b",
"unknown_c",
"unknown_d"
],
"description": "Shelf reagent id from get_lab_state.shelf, e.g. \"hcl\", \"naoh\", \"water\", or a challenge's \"unknown_acid\". See list_reagents."
},
"volume_ml": {
"description": "Volume in mL for a liquid reagent, greater than 0. Omit for a solid reagent; use mass_g instead.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"mass_g": {
"description": "Mass in grams for a solid reagent (see list_reagents for which ids are solid). Omit volume_ml when using mass_g.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 500
},
"concentration_m": {
"description": "Concentration in mol/L (0 < x ≤ 2) for a liquid reagent. Omit to use the reagent's default concentration.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2
}
},
"required": [
"container_id",
"reagent_id"
],
"additionalProperties": false
}
Similar websites
pocketgull.app
Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.
webmcp-six-lac.vercel.app
AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.
ghqsandbox.net
Interactive math and physics tools an AI agent can drive directly through WebMCP.
app.formative.com
Formative classroom assessment and learning platform