{
  "name": "mcp-rubber-duck",
  "version": "1.20.8",
  "description": "An MCP server that bridges to multiple OpenAI-compatible LLMs - your AI rubber duck debugging panel",
  "main": "dist/index.js",
  "type": "module",
  "bin": {
    "mcp-rubber-duck": "./dist/index.js"
  },
  "scripts": {
    "build": "tsc && npm run build:ui",
    "build:ui": "VITE_UI_ENTRY=compare-ducks vite build && VITE_UI_ENTRY=duck-vote vite build && VITE_UI_ENTRY=duck-debate vite build && VITE_UI_ENTRY=usage-stats vite build",
    "dev": "tsx watch src/index.ts",
    "start": "node dist/index.js",
    "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
    "test:watch": "NODE_OPTIONS='--experimental-vm-modules' jest --watch",
    "lint": "eslint src",
    "format": "prettier --write \"src/**/*.ts\"",
    "typecheck": "tsc --noEmit",
    "release": "semantic-release"
  },
  "keywords": [
    "mcp",
    "model-context-protocol",
    "llm",
    "openai",
    "ai",
    "rubber-duck"
  ],
  "mcpName": "io.github.nesquikm/rubber-duck",
  "author": "nesquikm",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/nesquikm/mcp-rubber-duck.git"
  },
  "homepage": "https://github.com/nesquikm/mcp-rubber-duck#readme",
  "bugs": {
    "url": "https://github.com/nesquikm/mcp-rubber-duck/issues"
  },
  "publishConfig": {
    "provenance": true,
    "access": "public"
  },
  "dependencies": {
    "@modelcontextprotocol/ext-apps": "^1.0.1",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "ajv": "^8.17.1",
    "dotenv": "^16.4.0",
    "openai": "^4.0.0",
    "winston": "^3.11.0",
    "zod": "^3.23.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.0.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^11.0.6",
    "@semantic-release/npm": "^13.1.3",
    "@types/jest": "^29.0.0",
    "@types/node": "^22.0.0",
    "eslint": "^9.0.0",
    "jest": "^29.0.0",
    "prettier": "^3.0.0",
    "semantic-release": "^25.0.2",
    "ts-jest": "^29.0.0",
    "tsx": "^4.0.0",
    "typescript": "^5.0.0",
    "typescript-eslint": "^8.0.0",
    "vite": "^8.0.16",
    "vite-plugin-singlefile": "^2.3.0"
  },
  "$overrides-rationale": {
    "@hono/node-server": "Major-version override (2.x) against the MCP SDK's declared ^1.19.9 — GHSA-frvp-7c67-39w9 is patched only in 2.0.5 and the 1.x line has no fix. Safe here: the SDK pulls @hono/node-server in for its server-side streamableHttp transport, which this project never imports (we use StreamableHTTPClientTransport, the client side, in src/services/mcp-client-manager.ts). v2 keeps the same serve/getRequestListener API. Revisit if this project ever serves MCP over HTTP, or drop the override once the SDK moves to ^2."
  },
  "overrides": {
    "js-yaml": "^4.3.1",
    "lodash": "^4.17.23",
    "lodash-es": "^4.17.23",
    "hono": "^4.13.1",
    "@hono/node-server": "^2.0.5",
    "fast-uri": "^3.1.5",
    "postcss": "^8.5.18",
    "ip-address": "^10.3.1",
    "express-rate-limit": "^8.6.2",
    "qs": "^6.15.2",
    "npm": "^11.19.1",
    "nanoid@3.x": "^3.3.17",
    "undici@6.x": "^6.28.0",
    "undici@7.x": "^7.29.0",
    "brace-expansion@1.x": "^1.1.18",
    "brace-expansion@2.x": "^2.1.4"
  }
}
