{
  "name": "scrivener-mcp",
  "version": "0.8.1",
  "description": "MCP server for Scrivener - Read, write, analyze, and search manuscripts with semantic search, character/plot tracking, writing analysis, and content enhancement. Works with Claude, ChatGPT, and other AI assistants.",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "type": "module",
  "bin": {
    "scrivener-mcp": "dist/index.js",
    "scrivener-setup": "scripts/setup.cjs"
  },
  "files": [
    "dist",
    "scripts",
    "assets",
    "README.md",
    "LICENSE"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/writerslogic/scrivener-mcp.git"
  },
  "homepage": "https://writerslogic.com/scrivener-mcp",
  "bugs": {
    "url": "https://github.com/writerslogic/scrivener-mcp/issues"
  },
  "scripts": {
    "build": "tsc",
    "clean": "rm -rf dist coverage",
    "dev": "tsx watch src/index.ts",
    "start": "node dist/index.js",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:unit": "jest tests/unit",
    "test:integration": "jest tests/integration",
    "setup": "node dist/cli/setup-wizard.js",
    "setup:neo4j": "NEO4J_AUTO_INSTALL=true node dist/index.js",
    "setup:advanced": "node scripts/setup-advanced.cjs",
    "setup:quick": "node scripts/setup-advanced.cjs --quick",
    "health": "node scripts/setup-advanced.cjs --health",
    "lint": "eslint src --ext .ts",
    "lint:fix": "eslint src --ext .ts --fix",
    "format": "prettier --write 'src/**/*.ts'",
    "format:check": "prettier --check 'src/**/*.ts'",
    "typecheck": "tsc --noEmit",
    "check:tools": "npm run build && node scripts/check-tool-registry.mjs",
    "check:conformance": "npm run build && node scripts/check-output-conformance.mjs",
    "prepublishOnly": "npm run clean && npm run build",
    "prepare": "test -n \"$CI\" || npm run build",
    "postinstall": "node scripts/postinstall.cjs",
    "uninstall": "node scripts/uninstall.js"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.110.0",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "better-sqlite3": "^12.11.1",
    "bullmq": "^5.79.1",
    "chalk": "^5.6.2",
    "cheerio": "^1.2.0",
    "compromise": "^14.15.1",
    "compromise-adjectives": "^0.0.7",
    "compromise-dates": "^3.8.0",
    "compromise-numbers": "^1.4.0",
    "ioredis": "^5.11.1",
    "lru-cache": "^11.5.1",
    "neo4j-driver": "^6.1.0",
    "openai": "^6.44.0",
    "rtf-parser": "^1.3.3",
    "syllable": "^5.0.1",
    "turndown": "^7.2.4",
    "winston": "^3.19.0",
    "xml2js": "^0.6.2",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.0",
    "@jest/globals": "^29.7.0",
    "@types/better-sqlite3": "^7.6.13",
    "@types/cheerio": "^1.0.0",
    "@types/ioredis": "^5.0.0",
    "@types/jest": "^30.0.0",
    "@types/node": "^25.9.4",
    "@types/turndown": "^5.0.6",
    "@types/ws": "^8.18.1",
    "@types/xml2js": "^0.4.14",
    "@typescript-eslint/eslint-plugin": "^8.62.0",
    "@typescript-eslint/parser": "^8.62.0",
    "@webgpu/types": "^0.1.70",
    "domhandler": "^5.0.3",
    "eslint": "^10.5.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.6",
    "jest": "^30.4.2",
    "prettier": "^3.8.4",
    "ts-jest": "^29.4.11",
    "tsx": "^4.22.4",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.62.0"
  },
  "optionalDependencies": {
    "holographic-memory": "^0.4.0"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "keywords": [
    "mcp",
    "mcp-server",
    "model-context-protocol",
    "scrivener",
    "claude",
    "chatgpt",
    "copilot",
    "cursor",
    "writing",
    "creative-writing",
    "screenwriting",
    "manuscript",
    "novel",
    "semantic-search",
    "ai-writing"
  ],
  "author": "David Condrey <david@writerslogic.com>",
  "license": "AGPL-3.0-only",
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  }
}
