package.json•7.28 kB
{
"name": "@jango-blockchained/homeassistant-mcp",
"version": "1.2.1",
"description": "Home Assistant Model Context Protocol Server - Control your smart home through AI assistants",
"keywords": [
"mcp",
"model-context-protocol",
"home-assistant",
"smart-home",
"iot",
"automation",
"ai",
"claude",
"cursor",
"smithery"
],
"homepage": "https://github.com/jango-blockchained/advanced-homeassistant-mcp#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/jango-blockchained/advanced-homeassistant-mcp.git"
},
"bugs": {
"url": "https://github.com/jango-blockchained/advanced-homeassistant-mcp/issues"
},
"author": {
"name": "jango-blockchained",
"url": "https://github.com/jango-blockchained"
},
"license": "MIT",
"main": "dist/index.js",
"module": "src/stdio-server.ts",
"type": "commonjs",
"bin": {
"homeassistant-mcp": "bin/npx-entry.cjs"
},
"scripts": {
"start": "node dist/index.cjs",
"start:stdio": "node dist/stdio-server.mjs",
"start:http": "node dist/http-server.mjs",
"dev": "tsx --watch src/index.ts",
"build": "mkdir -p dist && esbuild ./src/index.ts --bundle --platform=node --format=cjs --outfile=./dist/index.cjs --external:@anthropic-ai/sdk --external:winston --external:winston-daily-rotate-file --external:express --external:ws --external:better-sqlite3 --external:dotenv --external:cors --external:helmet --external:express-rate-limit --external:swagger-ui-express --external:sanitize-html --external:jsonwebtoken --external:node-fetch --external:openai --external:sury --external:chalk --external:@xmldom/xmldom --external:node-record-lpcm16",
"build:node": "mkdir -p dist && esbuild ./src/index.ts --bundle --platform=node --format=cjs --outfile=./dist/index.cjs --external:@anthropic-ai/sdk --external:winston --external:winston-daily-rotate-file --external:express --external:ws --external:better-sqlite3 --external:dotenv --external:cors --external:helmet --external:express-rate-limit --external:swagger-ui-express --external:sanitize-html --external:jsonwebtoken --external:node-fetch --external:openai --external:sury --external:chalk --external:@xmldom/xmldom --external:node-record-lpcm16",
"build:stdio": "mkdir -p dist && esbuild ./src/stdio-server.ts --bundle --platform=node --format=esm --outfile=./dist/stdio-server.mjs --external:@anthropic-ai/sdk --external:fastmcp --external:winston --external:winston-daily-rotate-file --external:express --external:ws --external:better-sqlite3 --external:dotenv --external:cors --external:helmet --external:express-rate-limit --external:swagger-ui-express --external:sanitize-html --external:jsonwebtoken --external:node-fetch --external:openai --external:sury --external:chalk --external:@xmldom/xmldom --external:node-record-lpcm16",
"build:http": "mkdir -p dist && esbuild ./src/http-server.ts --bundle --platform=node --format=esm --outfile=./dist/http-server.mjs --external:@anthropic-ai/sdk --external:fastmcp --external:winston --external:winston-daily-rotate-file --external:express --external:ws --external:better-sqlite3 --external:dotenv --external:cors --external:helmet --external:express-rate-limit --external:swagger-ui-express --external:sanitize-html --external:jsonwebtoken --external:node-fetch --external:openai --external:sury --external:chalk --external:@xmldom/xmldom --external:node-record-lpcm16",
"build:http-simple": "mkdir -p dist && esbuild ./src/http-simple.ts --bundle --platform=node --format=esm --outfile=./dist/http-simple.mjs --external:winston --external:winston-daily-rotate-file --external:express --external:better-sqlite3 --external:ws --external:zod --external:zod-to-json-schema --external:@valibot/to-json-schema --external:valibot --external:jsonwebtoken --external:sanitize-html --external:helmet --external:cors --external:fastmcp --external:undici",
"build:all": "npm run build:node && npm run build:stdio && npm run build:http",
"prepare": "echo 'Skipping prepare' || true",
"stdio": "bun run ./bin/stdio-server.js",
"smithery:build": "npx @smithery/cli build src/http-server.ts --out dist/smithery.cjs --transport shttp",
"smithery:dev": "npx @smithery/cli dev src/http-server.ts --port 7123",
"smithery:playground": "npx @smithery/cli playground --port 7123 -- node dist/http-server.cjs",
"test": "bun test --preload ./test/setup.ts",
"test:watch": "bun test --watch --preload ./test/setup.ts",
"test:coverage": "bun test --coverage --preload ./test/setup.ts",
"test:ci": "bun test --coverage --bail --preload ./test/setup.ts",
"test:update": "bun test --update-snapshots --preload ./test/setup.ts",
"test:clear": "bun test --clear-cache",
"test:staged": "bun test --findRelatedTests",
"lint": "eslint . --ext .ts --cache",
"format": "prettier --write \"src/**/*.ts\" --cache",
"profile": "bun --inspect src/index.ts",
"clean": "rm -rf dist .bun coverage .eslintcache .prettierignore",
"typecheck": "bun x tsc --noEmit",
"mcp:stdio": "bun run bin/stdio-server.js",
"mcp:build": "bun run build:all",
"docker:build": "docker-compose build",
"docker:up": "docker-compose up -d",
"docker:down": "docker-compose down",
"docker:dev": "docker-compose -f docker-compose.dev.yml up",
"docker:logs": "docker-compose logs -f"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.39.0",
"@types/express-rate-limit": "^5.1.3",
"@types/jsonwebtoken": "^9.0.5",
"@types/node": "^20.11.24",
"@types/sanitize-html": "^2.13.0",
"@types/swagger-ui-express": "^4.1.8",
"@types/ws": "^8.5.10",
"@valibot/to-json-schema": "^1.3.0",
"@xmldom/xmldom": "^0.9.7",
"better-sqlite3": "^12.4.1",
"chalk": "^5.4.1",
"cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"express-rate-limit": "^7.5.0",
"fastmcp": "^3.22.0",
"helmet": "^7.1.0",
"jsonwebtoken": "^9.0.2",
"node-fetch": "^3.3.2",
"node-record-lpcm16": "^1.0.1",
"openai": "^4.83.0",
"openapi-types": "^12.1.3",
"sanitize-html": "^2.15.0",
"sury": "^11.0.0-alpha.3",
"swagger-ui-express": "^5.0.1",
"typescript": "^5.3.3",
"valibot": "^1.0.0",
"winston": "^3.11.0",
"winston-daily-rotate-file": "^5.0.0",
"ws": "^8.16.0",
"zod": "^3.22.4",
"zod-to-json-schema": "^3.24.6"
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@smithery/cli": "^1.6.3",
"@types/bun": "latest",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/supertest": "^6.0.2",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"ajv": "^8.17.1",
"bun-types": "^1.2.2",
"esbuild": "^0.20.2",
"effect": "^3.19.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"husky": "^9.0.11",
"prettier": "^3.2.5",
"supertest": "^7.1.0",
"tsx": "^4.7.0",
"uuid": "^11.1.0"
},
"engines": {
"node": ">=18.0.0"
},
"publishConfig": {
"access": "public"
},
"files": [
"dist",
"bin",
"README.md",
"LICENSE"
]
}