SiLA 2 Bridge — Claude Code MCP server: features and setup
Connects AI agents to laboratory instruments via the SiLA 2 standard over gRPC. Useful for running automated pipetters and plate readers.
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio sila2 -- uvx labmcp-sila2What SiLA 2 Bridge does
The bridge connects AI agents to laboratory equipment supporting the SiLA 2 standard. It talks to servers implemented in sila_python or sila_java over gRPC across Ethernet. The tool reads Feature Definitions (FDL) straight from the target instrument. It verifies constraints beforehand. Because parameters undergo schema checks prior to transmission, invalid values never hit the device.
Instruments on the local subnet are located with mDNS via the discover_servers tool. The server handles both immediate and observable actions. When an operation takes time, the bridge reports progress and intermediate payloads. Long-running tasks can be aborted cleanly using cancel_command via CancelController.
Production devices usually enable TLS with self-signed certificates. A connection fails immediately unless you provide the certificate authority file using root_cert.
What it helps with
- discover lab devices on the local network using mDNS
- validate command arguments against FDL schemas before execution
- track execution status and intermediate values of long operations
- abort running instrument actions using CancelController
Example prompts for the agent
- Discover all SiLA 2 servers active on the local subnet.
- Read the current temperature from the thermoblock and heat to 37 degrees.
- Stop the active long-running command using CancelController.
How to install SiLA 2 Bridge
Platform CLI
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio sila2 -- uvx labmcp-sila2Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-sila2 <command>
Platform CLI
codex mcp add sila2 --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> -- uvx labmcp-sila2Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-sila2 <command>
Config file
{
"mcpServers": {
"sila2": {
"command": "uvx",
"args": [
"labmcp-sila2"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-sila2 <command>
Config file
{
"servers": {
"sila2": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-sila2"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-sila2 <command>
Platform CLI
gemini mcp add -e LABMCP_ADDRESS=<LABMCP_ADDRESS> -e LABMCP_SIMULATE=<LABMCP_SIMULATE> -e LABMCP_READ_ONLY=<LABMCP_READ_ONLY> -e LABMCP_LIMITS=<LABMCP_LIMITS> sila2 uvx labmcp-sila2Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-sila2 <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about SiLA 2 Bridge
How do I install SiLA 2 Bridge in Claude Code?
Run claude mcp add labmcp-sila2 -- uvx labmcp-sila2.
What does SiLA 2 Bridge do?
It translates MCP tool requests into SiLA 2 lab automation calls. The server reads device FDL definitions, checks argument constraints, and runs gRPC commands.
Can I test the server without physical hardware?
Run uvx labmcp-sila2 --simulate --check in your terminal. This spins up an in-process thermoblock simulator on 127.0.0.1 for verifying commands without hardware.