Skip to main content
Glama
ahueber

SiLA MCP Server

by ahueber

SiLA MCP Server

A Model Context Protocol (MCP) server that acts as a bridge between Claude (or other MCP clients) and an existing SiLA server controlling lab devices.

Overview

This MCP server exposes laboratory device functionality through the MCP protocol, allowing AI assistants to:

  • Query device information and status

  • List available commands

  • Execute device commands

  • Monitor device parameters in real-time

Related MCP server: UART MCP Server

Prerequisites

  • Node.js 18+

  • A running SiLA server with REST API endpoints

  • npm or yarn

Installation

  1. Clone or download this project

  2. Install dependencies:

npm install
  1. Build the TypeScript code:

npm run build

Configuration

The server reads configuration from environment variables:

  • SILA_SERVER_URL: The URL of your SiLA server (default: http://localhost:50051)

  • SILA_SERVER_INSECURE: Whether to allow insecure connections (default: true)

Example:

export SILA_SERVER_URL=http://192.168.1.100:50051
export SILA_SERVER_INSECURE=false

Running the Server

Development mode (with auto-rebuild):

npm run watch

Production mode:

npm start

MCP Capabilities

Tools

  • get_device_info: Retrieve device information including name, type, manufacturer, serial number, and firmware version

  • list_device_commands: Get all available commands the device supports

  • execute_command: Execute a command on the device with optional parameters

  • get_device_status: Get real-time device status including operational state

Resources

  • sila://device/info: Device metadata and capabilities (read-only)

  • sila://device/status: Current device status (read-only)

Integration with Claude

To use this MCP server with Claude, add it to your MCP configuration:

{
  "mcpServers": {
    "sila": {
      "command": "node",
      "args": ["path/to/build/index.js"],
      "env": {
        "SILA_SERVER_URL": "http://localhost:50051"
      }
    }
  }
}

SiLA Server Requirements

Your SiLA server should provide the following REST API endpoints:

  • GET /health - Health check endpoint

  • GET /device/info - Device information

  • GET /device/status - Device status

  • GET /device/commands - List available commands

  • POST /device/commands/{commandName} - Execute a command

  • GET /device/parameters/{parameterName} - Get parameter value

  • PUT /device/parameters/{parameterName} - Set parameter value

Project Structure

.
├── src/
│   ├── index.ts           # Main MCP server implementation
│   └── sila-client.ts     # SiLA server client library
├── build/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

Development

Build for production:

npm run build
npm run watch

Troubleshooting

Connection Issues

  • Verify the SiLA server is running at the configured URL

  • Check firewall rules allow communication

  • Enable debug logging by setting DEBUG=*

Missing Device Endpoints

  • Ensure your SiLA server implements all required REST endpoints

  • Check the endpoint paths match the expected format

  • Review SiLA server documentation

License

MIT

F
license - not found
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahueber/sila-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server