Samples & chain of custody — accessioned samples with an append-only custody log and status (received → in_testing → completed → disposed).
LIMS MCP Server
A Laboratory Information Management System (LIMS) for ADK-Rust Enterprise food-beverage and pharmaceutical agents. 27 MCP tools covering samples & chain of custody, tests/assays with specifications, results with…
What it gives an agent
A purpose-built capability behind one MCP connection.
The server owns its domain logic and publishes a tool contract an MCP client can discover. ADK-Rust can load that contract into an agent, normalize each schema for the chosen model provider, and keep the connection lifecycle outside the agent’s business logic.
Tests & specifications — methods with numeric (min/max), count (max), or qualitative (expected value) specs.
Results & OOS — entering a result auto-evaluates it against the method spec (pass / oos / pending).
Data integrity (ALCOA+) — amend_result requires a mandatory reason and appends an immutable amendment (the original value is never overwritten); amendments invalidate a prior review.…
Batches & release gating — evaluate_batch rolls up all results across a batch's samples; set_disposition refuses to release unless every result passes spec and is reviewed.
HACCP — critical control points with limits; record_ccp_reading flags deviations outside critical limits.
Instruments — calibration tracking with a due/overdue watchlist.
Architecture
How LIMS MCP Server fits into an agent system.
The model never needs the implementation details or credentials of the system behind the server. It sees reviewed tool definitions. The MCP client handles discovery and calls, while the server keeps ownership of validation, policy, and communication with its domain system.
ADK-Rust agent
Chooses a capability from the reviewed tool catalog.
MCP client
Discovers schemas, sends calls, and receives typed content.
LIMS MCP Server
Validates the request and owns 27 documented tool contracts.
Domain system
Keeps the API, data, credentials, and business rules behind the server.
From the project documentation
The server’s published architecture
Tool catalog
What can an agent ask LIMS MCP Server to do?
Each tool has a stable name, a human-readable purpose, and a JSON input contract discovered during MCP initialization. Risk classes come from the project’s registry manifest when one is available.
27 named tools
register_sampleRegister a received sample with chain of custody
internal writeget_sampleGet a sample with its chain of custody
read onlylist_samplesList samples by batch/status
read onlyadd_custody_eventAppend a chain-of-custody event to a sample
internal writecreate_methodDefine a test method/assay with specification
internal writelist_methodsList test methods and specifications
read onlyenter_resultEnter a result; auto-evaluates spec (pass/oos/pending)
internal writeget_resultGet a result with amendment history
read onlyresults_for_sampleList a sample's results
read onlyamend_resultALCOA+ amend a result with mandatory reason (gated)
internal writereview_resultSecond-person reviewer sign-off on a result
internal writecreate_batchCreate a batch/lot (quarantine)
internal writeGovernance
Understand the effect of every tool.
A server connection inherits the authority of its credentials and deployment environment. The declarations below come from this project’s README and MCP registry manifest; your application still decides which tools an agent receives and where approval is required.
- Two writes are gated (requires_approval): set_disposition (batch release/reject of physical product — classed external_write) and amend_result (changing a lab record of record).
- Release has teeth — a batch cannot be released while any result is OOS, pending, or un-reviewed (verified in tests and live).
- ALCOA+ by construction — Attributable, Legible, Contemporaneous, Original, Accurate: amendments preserve the original, capture who/when/why, and every data action is on the audit trail.
- Reads are read_only. Sample data is fictitious.
MCP surface
What the current documentation declares.
MCP can carry tools, resources, prompts, structured results, progress, cancellation, and long-running work. This record highlights the modern protocol features explicitly mentioned by this repository.
Install and connect
Follow the project’s documented starting point.
Install the server in the environment that owns its credentials and domain access. Add it to your MCP host, verify the discovered tools, and narrow the toolset before giving it to a production agent.
cargo install mcp-limslet toolset = McpToolset::from_stdio(
"mcp-lims",
["mcp-lims"],
).await?;
let agent = LlmAgentBuilder::new("agent")
.tools(toolset.tools().await?)
.build()?;Commands and configuration are extracted from the public README. Confirm prerequisites, environment variables, and release-specific options in the official documentation before deployment.
Official documentation
Continue with the project maintainers’ source of truth.
This page provides an approachable map of the server. The repository remains authoritative for exact schemas, prerequisites, configuration, examples, tests, releases, and security updates.
Keep exploring
More in industry solutions.
Source record
Release and repository metadata for this catalog entry.
- Version
- 1.0.0
- License
- Apache-2.0
- Tools
- 27
- Revision
- d24f046293f4
- Updated
- Jun 9, 2026