MCP Server for OpenHAB

by pendialek

MCP Server for OpenHAB

Server pro propojení MCP (Multi-Capability Platform) s OpenHAB REST API. Umožňuje MCP interagovat s OpenHAB itemy.

Konfigurace

Pro správnou funkci serveru je nutné vytvořit soubor .env v kořenovém adresáři projektu. Tento soubor obsahuje citlivé konfigurační údaje, jako jsou přístupové tokeny.

Požadované proměnné prostředí:

  • OPENHAB_URL: URL vaší lokální OpenHAB instance (např. http://localhost:8080).
  • OPENHAB_TOKEN: API token vygenerovaný v OpenHAB pro přístup k REST API.

Příklad .env souboru:

OPENHAB_URL=http://localhost:8080 OPENHAB_TOKEN=YOUR_OPENHAB_API_TOKEN

Implementované MCP Operace

Server poskytuje následující MCP operace:

getItemState

  • Popis: Získá aktuální stav zadaného OpenHAB itemu.
  • Vstup: { "itemName": "string" } (kde itemName je název OpenHAB itemu)
  • Výstup: { "state": "string" } (aktuální stav itemu)

sendCommand

  • Popis: Odešle příkaz zadanému OpenHAB itemu.
  • Vstup: { "itemName": "string", "command": "string" } (kde itemName je název OpenHAB itemu a command je příkaz k odeslání)
  • Výstup: { "success": boolean } (indikuje, zda byl příkaz úspěšně odeslán)

Struktura Projektu

Klíčové soubory a adresáře projektu:

  • src/config.ts: Zodpovídá za načítání a validaci konfiguračních proměnných z .env souboru.
  • src/openhabApi.ts: Obsahuje funkce pro komunikaci s OpenHAB REST API (získání stavu, odeslání příkazu).
  • src/operations.ts: Implementuje logiku pro jednotlivé MCP operace (getItemState, sendCommand) s využitím openhabApi.ts.
  • src/server/server.ts: Hlavní soubor MCP serveru. Inicializuje server a registruje dostupné MCP operace definované v operations.ts.
  • .env: Soubor pro uložení konfiguračních proměnných (není součástí repozitáře).
  • package.json: Definuje závislosti projektu a skripty pro spuštění.
  • tsconfig.json: Konfigurace TypeScript kompilátoru.

Spuštění

Instalace závislostí

npm install

Sestavení (Build)

Pro produkční nasazení je potřeba projekt sestavit (přeložit TypeScript na JavaScript):

npm run build

nebo přímo pomocí TypeScript kompilátoru:

tsc

Spuštění (Vývoj)

Pro spuštění serveru v režimu vývoje s automatickým restartem při změnách:

npm run dev

Spuštění (Produkce)

Po úspěšném sestavení spusťte server pomocí:

npm start
-
security - not tested
-
license - not tested
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Server that connects MCP (Multi-Capability Platform) with OpenHAB REST API, allowing MCP to interact with OpenHAB items through operations like getItemState and sendCommand.

  1. Konfigurace
    1. Implementované MCP Operace
      1. getItemState
      2. sendCommand
    2. Struktura Projektu
      1. Spuštění
        1. Instalace závislostí
        2. Sestavení (Build)
        3. Spuštění (Vývoj)
        4. Spuštění (Produkce)

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol (MCP) server that provides JSON-RPC functionality through OpenRPC.
        Last updated -
        2
        7
        33
        JavaScript
        Apache 2.0
        • Apple
      • -
        security
        A
        license
        -
        quality
        This tool creates a Model Context Protocol (MCP) server that acts as a proxy for any API that has an OpenAPI v3.1 specification. This allows you to use Claude Desktop to easily interact with both local and remote server APIs.
        Last updated -
        548
        514
        JavaScript
        MIT License
        • Apple
        • Linux
      • -
        security
        A
        license
        -
        quality
        A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
        Last updated -
        2
        39
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
        Last updated -
        2
        Python
        MIT License

      View all related MCP servers

      ID: z0vpsm0kqm