MCP Server for OpenHAB

by pendialek

229 downloads
Not rated
GitHub

About

MCP Server for OpenHAB is a server that connects MCP with the OpenHAB REST API, enabling MCP to interact with OpenHAB items. It is intended for developers and users who want to integrate MCP-based tools with their local OpenHAB smart home instance.

Details

Author
pendialek
Downloads
229
Categories
Other

- Provides two MCP operations: getItemState and sendCommand
- Communicates with OpenHAB via its REST API
- Requires only URL and API token configuration
- Built with TypeScript for type safety
- Supports development mode with automatic restarts

Create a .env file with OPENHAB_URL and OPENHAB_TOKEN, install dependencies with npm install, then build the project using npm run build. For development, run with npm run dev (auto-restart); for production, run the compiled server with npm start or similar.

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í:

```bash
npm start

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.