{
  "name": "mcp-server-return-to-dark-tower",
  "version": "1.0.8",
  "private": false,
  "description": "MCP server for controlling the Return to Dark Tower board game tower via Bluetooth",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "mcp-server-dark-tower": "dist/index.js"
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "publishConfig": {
    "access": "public"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ChessMess/UltimateDarkTower.git",
    "directory": "apps/mcp-server"
  },
  "homepage": "https://github.com/ChessMess/UltimateDarkTower/tree/main/apps/mcp-server#readme",
  "bugs": {
    "url": "https://github.com/ChessMess/UltimateDarkTower/issues"
  },
  "author": "ChessMess",
  "keywords": [
    "mcp",
    "model-context-protocol",
    "return-to-dark-tower",
    "bluetooth",
    "ble",
    "board-game",
    "claude",
    "ai"
  ],
  "license": "MIT",
  "engines": {
    "node": ">=22.13.0"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.30.0",
    "express": "^4.21.0",
    "zod": "^3.25.0",
    "ultimatedarktower": "^7.1.2",
    "ultimatedarktowerdata": "^3.0.0"
  },
  "peerDependencies": {
    "@stoprocent/noble": "^2.0.0"
  },
  "peerDependenciesMeta": {
    "@stoprocent/noble": {
      "optional": true
    }
  },
  "devDependencies": {
    "@types/express": "^4.17.21",
    "@types/node": "^22.0.0",
    "tsx": "^4.23.13",
    "typescript": "^5.9.3",
    "vitest": "^4.1.11"
  },
  "sideEffects": false,
  "funding": {
    "type": "github",
    "url": "https://github.com/sponsors/chessmess"
  },
  "scripts": {
    "build": "tsc && rm -rf dist/game-content && cp -R src/game-content dist/game-content",
    "dev": "trap 'exit 0' INT TERM; tsx watch src/index.ts",
    "dev:mcp-server": "pnpm run dev",
    "start": "trap 'exit 0' INT TERM; node dist/index.js",
    "inspect": "pnpm run build && trap 'exit 0' INT TERM && npx @modelcontextprotocol/inspector node dist/index.js --stdio-only",
    "inspect:dev": "trap 'exit 0' INT TERM; npx @modelcontextprotocol/inspector tsx src/index.ts --stdio-only",
    "test": "vitest run",
    "test:watch": "vitest",
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "clean": "rm -rf dist"
  }
}