{ "name": "@hanna84/mcp-writing", "version": "3.29.3", "description": "MCP service for AI-assisted reasoning and editing on long-form fiction projects", "homepage": "https://hannasdev.github.io/mcp-writing/", "type": "module", "main": "index.js", "exports": { ".": "./index.js", "./index.js": "./index.js", "./async-jobs.js": "./src/runtime/async-jobs.js", "./async-progress.js": "./src/runtime/async-progress.js", "./helpers.js": "./src/core/helpers.js", "./scene-character-batch.js": "./src/sync/scene-character-batch.js", "./scrivener-direct.js": "./src/sync/scrivener-direct.js", "./importer.js": "./src/sync/importer.js", "./db.js": "./src/core/db.js", "./sync.js": "./src/sync/sync.js", "./git.js": "./src/core/git.js", "./world-entity-templates.js": "./src/world/world-entity-templates.js", "./workflow-catalogue.js": "./src/workflows/workflow-catalogue.js", "./runtime-diagnostics.js": "./src/runtime/runtime-diagnostics.js", "./metadata-lint.js": "./src/sync/metadata-lint.js", "./scene-character-normalization.js": "./src/sync/scene-character-normalization.js", "./review-bundles.js": "./src/review-bundles/review-bundles.js", "./review-bundles-planner.js": "./src/review-bundles/review-bundles-planner.js", "./review-bundles-renderer.js": "./src/review-bundles/review-bundles-renderer.js", "./review-bundles-writer.js": "./src/review-bundles/review-bundles-writer.js", "./prose-styleguide.js": "./src/styleguide/prose-styleguide.js", "./prose-styleguide-drift.js": "./src/styleguide/prose-styleguide-drift.js", "./prose-styleguide-skill.js": "./src/styleguide/prose-styleguide-skill.js", "./setup-contract.js": "./src/setup/setup-contract.js", "./tools/*": "./src/tools/*", "./scripts/*": "./src/scripts/*", "./src/*": "./src/*", "./package.json": "./package.json" }, "bin": { "mcp-writing": "./bin/mcp-writing.js" }, "mcpName": "io.github.hannasdev/mcp-writing", "files": [ "bin/", "index.js", "src/index.js", "src/core/", "src/review-bundles/", "src/runtime/", "src/setup/", "src/scripts/", "src/styleguide/", "src/structure/", "src/sync/", "src/tools/", "src/workflows/", "src/world/", "README.md", "CHANGELOG.md" ], "publishConfig": { "access": "public" }, "scripts": { "start": "node --experimental-sqlite index.js", "new:entity": "node src/scripts/new-world-entity.js", "manual:realtest": "node src/scripts/manual-scrivener-realtest.mjs", "manual:test": "node src/scripts/manual/test.mjs", "manual:scenarios": "node src/scripts/manual/test-scenarios.mjs", "manual:merge-beta-test": "node src/scripts/manual/run_mcp_test.js", "manual:review-bundle": "node src/scripts/manual/run_create_review_bundle.js", "normalize:scene-characters": "node --experimental-sqlite src/scripts/normalize-scene-characters.mjs", "setup:openclaw-env": "sh src/scripts/setup-openclaw-env.sh", "release": "release-it", "lint": "eslint *.js eslint-rules src/index.js src/core src/review-bundles src/runtime src/setup src/scripts src/structure src/styleguide src/sync src/tools src/workflows src/world", "guard:legacy-root-imports": "node src/scripts/check-legacy-root-imports.mjs", "guard:docker-docs": "node src/scripts/check-docker-docs.mjs", "docs": "node src/scripts/generate-tool-docs.mjs", "check:docs": "npm run docs && git diff --exit-code -- docs/agents/tools.md", "check:static": "npm run lint && npm run guard:legacy-root-imports && npm run guard:docker-docs && npm run check:docs", "check:pr": "npm run check:static && npm test", "lint:metadata": "node src/scripts/lint-metadata.mjs", "sync:server-json-version": "node src/scripts/sync-server-json-version.mjs", "test:unit": "node --experimental-sqlite --test src/test/unit/*.test.mjs", "test:integration": "node --experimental-sqlite --test --test-concurrency=1 src/test/integration/*.test.mjs", "test": "npm run test:unit && npm run test:integration" }, "keywords": [ "mcp", "writing", "fiction", "ai", "scrivener" ], "license": "AGPL-3.0-only", "engines": { "node": ">=22.13.0" }, "repository": { "type": "git", "url": "https://github.com/hannasdev/mcp-writing" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "@xmldom/xmldom": "^0.9.10", "gray-matter": "^4.0.3", "js-yaml": "^4.1.1", "pdfkit": "^0.18.0", "zod": "^4.4.3" }, "devDependencies": { "@eslint/js": "^10.0.1", "auto-changelog": "^2.5.1", "eslint": "^10.3.0", "eslint-plugin-security": "^4.0.0", "globals": "^17.6.0", "release-it": "^20.0.1" }, "overrides": { "hono": "4.12.18", "express-rate-limit": "8.5.1", "ip-address": "10.2.0" } }