Let an AI agent analyze your instrument over MCP
The hub speaks the Model Context Protocol over streamable HTTP. Point any MCP capable assistant at the endpoint below and authenticate with the same bearer token the REST API uses.
http://eltra.ch/mcp
Everything the server exposes is read-only. There is no tool that writes a parameter, pushes a command or changes a channel, so an agent can investigate an instrument but never touch it.
Mint an API key for your master account, exchange it for an access token and send that token as a bearer token on the MCP endpoint.
POST /api/user/api-key → mint a key (signed in, once)
POST /api/user/token → exchange the key for an access token
Authorization: Bearer <access token>
The token decides what the agent sees: every tool resolves its login to the master it stands for and answers only for that instrument. An alias leads to its master, and an agent account, which masters no device, gets an empty answer instead of somebody else's data.
Most MCP clients take a JSON block like this:
{
"mcpServers": {
"eltra-hub": {
"type": "http",
"url": "http://eltra.ch/mcp",
"headers": { "Authorization": "Bearer <access token>" }
}
}
}
| Tool | Answers |
|---|---|
| eltra_list_instruments | The instrument the token masters, with its channel ids and node count. |
| eltra_list_devices | Device nodes with status, serial number and firmware versions. |
| eltra_analyze_instrument | Facts and findings over a window: master offline, channel flapping, silent nodes, failing or stuck commands, chattering parameters, device description changes. |
| eltra_get_audit_trail | The merged trail: channel and device state changes, executed commands, stored parameter values, device description uploads. |
| eltra_list_parameter_activity | Per parameter, how many values were stored in the window and when the last one was. |
| eltra_get_parameter | Current value, label, address and data type of one parameter. |
| eltra_get_parameter_history | The values stored for one parameter inside a window, oldest first. |
| eltra_get_parameter_statistics | How many values and bytes are stored for one parameter, to size a history read. |
| eltra_list_commands | The commands a device node exposes, with parameters and timeout. |