{
  "name": "d365fo-mcp",
  "version": "1.21.0",
  "description": "MCP Server for X++ Code Completion in D365 Finance & Operations",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "d365fo-mcp": "dist/cli/index.js"
  },
  "files": [
    "dist",
    "!dist/**/*.map",
    "!dist/eval/**",
    ".github/copilot-instructions.md",
    "bridge/D365MetadataBridge",
    "!bridge/D365MetadataBridge/bin/**",
    "!bridge/D365MetadataBridge/obj/**",
    "scripts/extract-bp-catalog.ps1"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/dynamics365ninja/d365fo-mcp-server.git"
  },
  "homepage": "https://github.com/dynamics365ninja/d365fo-mcp-server#readme",
  "bugs": {
    "url": "https://github.com/dynamics365ninja/d365fo-mcp-server/issues"
  },
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "cli": "tsx src/cli/index.ts",
    "setup": "tsx src/cli/index.ts setup",
    "doctor": "tsx src/cli/index.ts doctor",
    "config:docs": "tsx scripts/generate-config-docs.ts",
    "typecheck": "tsc --noEmit",
    "lint": "biome lint .",
    "lint:fix": "biome lint --write .",
    "format": "biome format --write",
    "format:check": "biome format .",
    "test:run": "vitest run",
    "test:coverage": "vitest run --coverage",
    "build": "tsc && npm run build:scripts",
    "build:scripts": "esbuild scripts/extract-metadata.ts scripts/build-database.ts scripts/build-fts.ts --bundle --platform=node --format=esm --target=node24 --packages=external --outdir=dist/scripts && esbuild src/metadata/symbolCountsWorker.ts src/metadata/buildIndexWorker.ts src/metadata/indexWarmupWorker.ts src/metadata/startupIndexWorker.ts --bundle --platform=node --format=esm --target=node24 --packages=external --outdir=dist/scripts",
    "bridge:build": "node scripts/bridgeBuild.mjs",
    "bridge:attest": "node scripts/bridgeAttest.mjs check",
    "prepublishOnly": "npm run build",
    "start": "node dist/index.js",
    "test": "vitest",
    "test:integration": "vitest run --config vitest.integration.config.ts",
    "extract-metadata": "tsx scripts/extract-metadata.ts",
    "build-database": "node --max-old-space-size=6144 --import tsx/esm scripts/build-database.ts",
    "build-fts": "node --max-old-space-size=6144 --import tsx/esm scripts/build-fts.ts",
    "index-metadata": "tsx scripts/extract-metadata.ts && node --max-old-space-size=6144 --import tsx/esm scripts/build-database.ts",
    "purge-property-stats": "tsx scripts/purge-property-stats.ts",
    "blob-manager": "tsx scripts/azure-blob-manager.ts",
    "select-config": "tsx src/cli/index.ts config --xpp-config",
    "test-stdio": "tsx scripts/test-stdio.ts",
    "db-maintenance": "node --import tsx/esm scripts/db-maintenance.mjs",
    "eval:score": "tsx src/eval/oracle/cli.ts",
    "eval:clusters": "tsx src/eval/improver/cli.ts",
    "eval:report": "tsx src/eval/improver/reportCli.ts",
    "eval:knowledge": "tsx src/eval/improver/knowledgeFeedbackCli.ts",
    "eval:knowledge-audit": "tsx src/eval/audit/knowledgeAuditCli.ts",
    "eval:coverage": "tsx src/eval/coverage/coverageCli.ts",
    "eval:fixtures": "tsx src/eval/fixtures/cli.ts",
    "eval:flakes": "tsx src/eval/improver/flakeDetectionCli.ts",
    "eval:mine": "tsx src/eval/improver/caseMiningCli.ts",
    "eval:brief": "tsx src/eval/improver/fixBriefCli.ts",
    "oracle:sweep": "tsx scripts/oracles/validatorSweep.ts",
    "oracle:census": "tsx scripts/oracles/census.ts",
    "oracle:probe": "tsx scripts/oracles/xppcProbe.ts",
    "oracle:members": "tsx scripts/oracles/aotMembers.ts",
    "oracle:kernel-enums": "tsx scripts/oracles/kernelEnumAudit.ts",
    "oracle:terms": "tsx scripts/oracles/termProbe.ts",
    "oracle:atl": "tsx scripts/oracles/atlNodes.ts",
    "oracle:usage": "tsx scripts/oracles/usageCensus.ts",
    "oracle:demand": "tsx scripts/mine-copilot-demand.ts"
  },
  "keywords": [
    "mcp",
    "x++",
    "dynamics365",
    "d365fo",
    "code-completion"
  ],
  "author": "",
  "license": "MIT",
  "dependencies": {
    "@azure/storage-blob": "^12.31.0",
    "@clack/prompts": "^1.6.0",
    "@modelcontextprotocol/sdk": "^1.27.0",
    "commander": "^15.0.0",
    "compression": "^1.8.1",
    "dotenv": "^18.0.4",
    "express": "^5.2.1",
    "express-rate-limit": "^8.4.1",
    "xml2js": "^0.6.2",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.5.7",
    "@types/compression": "^1.8.1",
    "@types/express": "^5.0.6",
    "@types/node": "^26.0.1",
    "@types/xml2js": "^0.4.14",
    "@vitest/coverage-v8": "^5.0.2",
    "esbuild": "^0.28.1",
    "tsx": "^4.21.0",
    "typescript": "^7.0.2",
    "vitest": "^5.0.2"
  },
  "engines": {
    "node": ">=24.0.0"
  },
  "overrides": {
    "@rolldown/binding-wasm32-wasi": "1.1.3"
  },
  "allowScripts": {
    "esbuild@0.28.2": true
  }
}
