{ "name": "unreal-engine-mcp-server", "version": "0.5.30", "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 tsconfig.tsbuildinfo", "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", "test:native-parity": "node tests/native-mcp-parity-audit.mjs", "test:params": "npm run test:native-parity && node tests/parameter-combination-audit.mjs --static --strict --optional-strict", "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": { "@modelcontextprotocol/sdk": "^1.25.0", "ajv": "^8.17.1", "dotenv": "^17.2.3", "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" } } }