{
  "name": "unreal-engine-mcp-server",
  "version": "0.5.21",
  "mcpName": "io.github.ChiR24/unreal-engine-mcp",
  "description": "A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine via native automation bridge. Built with TypeScript and designed for game development automation.",
  "type": "module",
  "module": "src/index.ts",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "unreal-engine-mcp-server": "dist/cli.js"
  },
  "files": [
    "dist/**",
    "server.json",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "scripts": {
    "build:core": "tsc -p tsconfig.json",
    "build": "npm run clean && npm run build:core",
    "build:watch": "tsc -p tsconfig.json --watch",
    "start": "node dist/cli.js",
    "dev": "ts-node-esm src/cli.ts",
    "lint": "echo \"Lint: typescript/javascript, C, C++, C#\" && eslint .",
    "lint:fix": "eslint . --fix",
    "lint:cpp": "echo \"Running C/C++ lint (cpplint)\" && (python -m cpplint --recursive plugins || echo 'cpplint not found; skipping C/C++ lint')",
    "lint:c": "echo \"Running C lint (cpplint)\" && (python -m cpplint --recursive plugins || echo 'cpplint not found; skipping C lint')",
    "lint:csharp": "echo \"Running C# lint (dotnet format)\" && (dotnet tool run dotnet-format --verify-no-changes || echo 'dotnet-format not available or formatting required; skipping C# lint')",
    "clean": "rimraf dist",
    "prepare": "node -e \"const fs=require('fs');(fs.existsSync('dist')&&fs.existsSync('dist/cli.js')&&fs.existsSync('dist/index.js'))||require('child_process').execSync('npm run build',{stdio:'inherit'})\"",
    "automation:sync": "node scripts/sync-mcp-plugin.js",
    "clean:tmp": "node scripts/clean-tmp.js",
    "test": "node tests/integration.mjs",
    "test:unit": "vitest run",
    "test:unit:watch": "vitest",
    "test:unit:coverage": "vitest run --coverage",
    "test:all": "node tests/integration.mjs",
    "test:smoke": "node --loader ts-node/esm scripts/smoke-test.ts",
    "type-check": "tsc --noEmit"
  },
  "engines": {
    "node": ">=18"
  },
  "keywords": [
    "mcp",
    "modelcontextprotocol",
    "unreal",
    "unreal-engine",
    "ue5",
    "remote-control",
    "automation",
    "game-development"
  ],
  "author": "Unreal Engine MCP Team",
  "license": "MIT",
  "dependencies": {
    "@graphql-tools/schema": "^10.0.30",
    "@modelcontextprotocol/sdk": "^1.25.0",
    "ajv": "^8.17.1",
    "dataloader": "^2.2.3",
    "dotenv": "^17.2.3",
    "graphql": "^16.12.0",
    "graphql-yoga": "^5.18.0",
    "mcp-client-capabilities": "^0.0.14",
    "ws": "^8.18.3",
    "zod": "^4.2.1"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/node": "^25.0.2",
    "@types/ws": "^8.18.1",
    "@typescript-eslint/eslint-plugin": "^8.50.0",
    "@typescript-eslint/parser": "^8.49.0",
    "@vitest/coverage-v8": "^4.0.16",
    "eslint": "^10.0.2",
    "rimraf": "^6.1.2",
    "ts-node": "^10.9.2",
    "typescript": "^6.0.2",
    "vitest": "^4.0.16"
  },
  "overrides": {
    "@typescript-eslint/eslint-plugin": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/parser": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/project-service": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/tsconfig-utils": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/type-utils": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/typescript-estree": {
      "typescript": "^6.0.2"
    },
    "@typescript-eslint/utils": {
      "typescript": "^6.0.2"
    }
  }
}
