{"_id":"@bookrail/mcp","_rev":"4-5ef84500033c35ae1964355f094cd6e0","name":"@bookrail/mcp","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@bookrail/mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","booking","bookings","availability","scheduling","agents","ai","bookrail"],"author":{"name":"MP Informatica Srl"},"license":"Apache-2.0","_id":"@bookrail/mcp@0.1.0","maintainers":[{"name":"bookrail-dev","email":"hello@bookrail.dev"}],"homepage":"https://github.com/bookrail-dev/bookrail#readme","bugs":{"url":"https://github.com/bookrail-dev/bookrail/issues"},"bin":{"bookrail-mcp":"dist/index.js"},"dist":{"shasum":"989f60df6faac25debca8d4927a29d73982b7daf","tarball":"https://registry.npmjs.org/@bookrail/mcp/-/mcp-0.1.0.tgz","fileCount":75,"integrity":"sha512-oY4HDPrgmUcrhYQa3wnuLEH9v00LgbMEEgex8pbAy1LM5NogPB2CbsRPLLe/6UOZHJYipXnRV10m0FhMrgOE3Q==","signatures":[{"sig":"MEUCIB52yvBvvEzZ7OdVY5WHlaWv7L6bP6jZeRlxpvpYKNC1AiEA/zySF0YEnEOqIrruZ7tclNk+kP6qPblPQjUVpcDSM9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399319},"main":"./dist/server.js","type":"module","_from":"file:bookrail-mcp-0.1.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=20.10"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -b","typecheck":"tsc -b --pretty && tsc -p tsconfig.test.json"},"_npmUser":{"name":"bookrail-dev","email":"hello@bookrail.dev"},"_resolved":"/private/var/folders/fx/qp06v39s47q53mrntyxhp3qh0000gn/T/34b10af78f1b0bc16c782a296d52bd8d/bookrail-mcp-0.1.0.tgz","_integrity":"sha512-oY4HDPrgmUcrhYQa3wnuLEH9v00LgbMEEgex8pbAy1LM5NogPB2CbsRPLLe/6UOZHJYipXnRV10m0FhMrgOE3Q==","repository":{"url":"git+https://github.com/bookrail-dev/bookrail.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.8.2","description":"Bookrail MCP server: booking infrastructure for coding agents, over the Model Context Protocol.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","bookrail":"0.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^20.17.10","@bookrail/db":"0.1.0","@bookrail/api":"0.1.0","@bookrail/engine":"0.1.0","@bookrail/shared":"0.1.0","@hono/node-server":"^1.13.7"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1789049749001_0.7383511242611067","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bookrail/mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","booking","bookings","availability","scheduling","agents","ai","bookrail"],"author":{"name":"MP Informatica Srl"},"license":"Apache-2.0","_id":"@bookrail/mcp@0.2.0","maintainers":[{"name":"bookrail-dev","email":"hello@bookrail.dev"}],"homepage":"https://github.com/bookrail-dev/bookrail#readme","bugs":{"url":"https://github.com/bookrail-dev/bookrail/issues"},"bin":{"bookrail-mcp":"dist/index.js"},"dist":{"shasum":"81b79f50827b18997bf83d411454a7348e8d09ec","tarball":"https://registry.npmjs.org/@bookrail/mcp/-/mcp-0.2.0.tgz","fileCount":75,"integrity":"sha512-Ikci0EasRBYifigqE4m4r5ihZ64Tsk8sFRsNIG6qbuCCBcd9j0ny2wOlLhlJVvtysV+zT78jzzCyoMYTfT+kjw==","signatures":[{"sig":"MEUCIFvYfZI7XlAGy6FrRwTax9A1D+XxoyvLovuoShfdX3OVAiEAkFMzXCTJqrYMpBKeGKyy/FDkWJ6PhHzIBtQd9F8T/So=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFHRxvTOgUPlt9j+dG2KbeojVvR+o0XbVK0fFpnXGD2oAiBH6JFzw9z1URyAlh7JvtHDT7Dp4VaFtFLDAfbRIKPxsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399452},"main":"./dist/server.js","type":"module","_from":"file:bookrail-mcp-0.2.0.tgz","types":"./dist/server.d.ts","engines":{"node":">=20.10"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -b","typecheck":"tsc -b --pretty && tsc -p tsconfig.test.json"},"_npmUser":{"name":"bookrail-dev","email":"hello@bookrail.dev"},"_resolved":"/private/var/folders/fx/qp06v39s47q53mrntyxhp3qh0000gn/T/207ec50000970aca1bad2a1ea44667d1/bookrail-mcp-0.2.0.tgz","_integrity":"sha512-Ikci0EasRBYifigqE4m4r5ihZ64Tsk8sFRsNIG6qbuCCBcd9j0ny2wOlLhlJVvtysV+zT78jzzCyoMYTfT+kjw==","repository":{"url":"git+https://github.com/bookrail-dev/bookrail.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.8.2","description":"Bookrail MCP server: booking infrastructure for coding agents, over the Model Context Protocol.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","bookrail":"0.2.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^20.17.10","@bookrail/db":"0.1.0","@bookrail/api":"0.1.0","@bookrail/engine":"0.1.0","@bookrail/shared":"0.1.0","@hono/node-server":"^1.13.7"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.0_1789116275569_0.9305729585728586","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bookrail/mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","booking","bookings","availability","scheduling","agents","ai","bookrail"],"author":{"name":"MP Informatica Srl"},"license":"Apache-2.0","_id":"@bookrail/mcp@0.3.0","maintainers":[{"name":"bookrail-dev","email":"hello@bookrail.dev"}],"homepage":"https://github.com/bookrail-dev/bookrail#readme","bugs":{"url":"https://github.com/bookrail-dev/bookrail/issues"},"bin":{"bookrail-mcp":"dist/index.js"},"dist":{"shasum":"9bf9a55604c8587328fdfff0d72528b7ccbd3210","tarball":"https://registry.npmjs.org/@bookrail/mcp/-/mcp-0.3.0.tgz","fileCount":75,"integrity":"sha512-1NPOnXtSWo+GOkt1EsQ9/nQPWcoeXAtHfkTimzaJ7gxXEW++8YkY9MwPZ9ayDMplZgo5i9ABlS/nU8X+TkP7Xw==","signatures":[{"sig":"MEUCIB0MkEjTgi2o0pP4/dzURJOxam/qYyNa40UyJ59HlIF4AiEA7amk+jdnOQDsmnh4z6QTId9YLatB516R9TjxgiVCJ9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDwIR0eJUylsXLmByrjkujhPnddth+Np9M+LT7wpEr07AIgGT/07Ev+AGP6ohZsdQQBSYQ9KvdstvoOuf7lef0It2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399483},"main":"./dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=20.10"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"gitHead":"319993e3ec164fa47e081781b16e87cbfe292640","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -b","typecheck":"tsc -b --pretty && tsc -p tsconfig.test.json"},"_npmUser":{"name":"bookrail-dev","email":"hello@bookrail.dev"},"repository":{"url":"git+https://github.com/bookrail-dev/bookrail.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.8.2","description":"Bookrail MCP server: booking infrastructure for coding agents, over the Model Context Protocol.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","bookrail":"workspace:*","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^20.17.10","@bookrail/db":"workspace:*","@bookrail/api":"workspace:*","@bookrail/engine":"workspace:*","@bookrail/shared":"workspace:*","@hono/node-server":"^1.13.7"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.0_1789375992936_0.5133709833714022","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"_id":"@bookrail/mcp@0.3.1","bin":{"bookrail-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/bookrail-dev/bookrail/issues"},"dist":{"shasum":"982fca9c91d8c893780ba96e707a1f2dd24bbee7","tarball":"https://registry.npmjs.org/@bookrail/mcp/-/mcp-0.3.1.tgz","fileCount":75,"integrity":"sha512-OMD2/p4GvlPyMPDYSr25DOwfqJcDB/+WBfR/+GfkHZoNDf54GxRZSU90vqNcImh7flo/kqEr8jVqc439Eoo0zA==","signatures":[{"sig":"MEUCIQClybcp4Z9HP6dz9npZsijnpS7sN9oopVeMiQUjtyQuPQIgBUhkB4SQLzRitrSaWexxKwMUjV5g8WGzsxbScuyV9kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCA9iEZjqHQ/w+UDcxvq8o8HImNSFR3sbo9tdpHcFdR9QIhANBsjAuKPWrRwe5yy8YKtWmxGIwVfZbn02gxNm46kXPt"}],"unpackedSize":399452},"main":"./dist/server.js","name":"@bookrail/mcp","type":"module","_from":"file:bookrail-mcp-0.3.1.tgz","types":"./dist/server.d.ts","author":{"name":"MP Informatica Srl"},"engines":{"node":">=20.10"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"license":"Apache-2.0","scripts":{"lint":"eslint src test","test":"vitest run","build":"tsc -b","typecheck":"tsc -b --pretty && tsc -p tsconfig.test.json"},"version":"0.3.1","_npmUser":{"name":"bookrail-dev","email":"hello@bookrail.dev"},"homepage":"https://github.com/bookrail-dev/bookrail#readme","keywords":["mcp","model-context-protocol","booking","bookings","availability","scheduling","agents","ai","bookrail"],"_resolved":"/private/var/folders/fx/qp06v39s47q53mrntyxhp3qh0000gn/T/37717901e01dfe8fb21c9480f941baef/bookrail-mcp-0.3.1.tgz","_integrity":"sha512-OMD2/p4GvlPyMPDYSr25DOwfqJcDB/+WBfR/+GfkHZoNDf54GxRZSU90vqNcImh7flo/kqEr8jVqc439Eoo0zA==","repository":{"url":"git+https://github.com/bookrail-dev/bookrail.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.8.2","description":"Bookrail MCP server: booking infrastructure for coding agents, over the Model Context Protocol.","directories":{},"maintainers":[{"name":"bookrail-dev","email":"hello@bookrail.dev"}],"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","bookrail":"0.3.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^20.17.10","@bookrail/db":"0.1.0","@bookrail/api":"0.1.0","@bookrail/engine":"0.1.0","@bookrail/shared":"0.1.0","@hono/node-server":"^1.13.7"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.3.1_1789376637572_0.22584879755394893"}}},"time":{"created":"2026-09-10T14:15:48.733Z","modified":"2026-09-14T09:03:57.863Z","0.1.0":"2026-09-10T14:15:49.188Z","0.2.0":"2026-09-11T08:44:35.751Z","0.3.0":"2026-09-14T08:53:13.034Z","0.3.1":"2026-09-14T09:03:57.696Z"},"bugs":{"url":"https://github.com/bookrail-dev/bookrail/issues"},"author":{"name":"MP Informatica Srl"},"license":"Apache-2.0","homepage":"https://github.com/bookrail-dev/bookrail#readme","keywords":["mcp","model-context-protocol","booking","bookings","availability","scheduling","agents","ai","bookrail"],"repository":{"url":"git+https://github.com/bookrail-dev/bookrail.git","type":"git","directory":"packages/mcp"},"description":"Bookrail MCP server: booking infrastructure for coding agents, over the Model Context Protocol.","maintainers":[{"name":"bookrail-dev","email":"hello@bookrail.dev"}],"readme":"# `@bookrail/mcp`\n\nThe Bookrail MCP server: booking infrastructure for coding agents, over the Model Context\nProtocol. **36 tools**, 4 resources and 3 guided prompts, on stdio.\n\n```bash\n# Wire it into a client, from the CLI itself\nnpx bookrail mcp install --client claude-code   # or cursor, vscode, windsurf, generic\n\n# Or run it by hand\nnpx @bookrail/mcp\n```\n\n`mcp install` writes or updates the `bookrail` entry in the client's own configuration file\n(`.mcp.json`, `.cursor/mcp.json`, `.vscode/mcp.json`, `~/.codeium/windsurf/mcp_config.json`),\npreserves every other server and every key it does not own, refuses a file that is not valid\nJSON rather than replacing it, and **never writes a credential**.\n\n## Configuration\n\n| Variable | What it does |\n| --- | --- |\n| `BOOKRAIL_SECRET_KEY` | The key. Or `BOOKRAIL_TEST_SECRET_KEY` and `BOOKRAIL_LIVE_SECRET_KEY`. |\n| `BOOKRAIL_API_URL` | The API. Defaults to the public one. |\n| `BOOKRAIL_MCP_ALLOW_LIVE` | `1` to permit the live environment at all. |\n\nWith no variables set, the server reads the same `~/.config/bookrail/credentials.json` that\n`bookrail login` writes.\n\n## The guardrails\n\nAn agent holding a key can cancel a real customer's booking, so the defaults assume it will\ntry.\n\n- **Test is the default.** The live environment needs `BOOKRAIL_MCP_ALLOW_LIVE=1` **and** a\n  live key. Either one alone does nothing.\n- **Irreversible tools preview first.** They return what they would do plus\n  `requires_confirmation: true`, and act only when called again with `confirm: true`.\n- **Every tool is annotated.** `readOnlyHint`, `destructiveHint`, `idempotentHint` and\n  `openWorldHint` are on all 36, so a client that gates on them has something real to gate on.\n- **stdout belongs to the protocol.** `process.stdout.write` is replaced at startup, so nothing\n  but JSON-RPC frames can reach the transport.\n- **Every failure is structured.** An `isError` result carrying `{ code, message, fix,\n  doc_url }`, the same contract as the CLI and the API.\n\n## What is in it\n\nTools for the whole loop: `bookrail_project_info`, `bookrail_doctor`, `bookrail_examples`,\n`bookrail_schema`, `bookrail_config_validate`, `bookrail_config_push`, `bookrail_config_pull`,\nthe object CRUD (`bookrail_objects_list`, `bookrail_object_get|create|update|delete`),\navailability (`bookrail_availability`, `bookrail_availability_next`,\n`bookrail_availability_check`, `bookrail_explain_unavailable`), holds, the booking lifecycle,\nevents, webhooks, and the documentation tools `bookrail_docs_search`, `bookrail_docs_get` and\n`bookrail_edge_cases`.\n\nResources: `bookrail://docs/{path}`, `bookrail://schema/{entity}`, `bookrail://config`,\n`bookrail://project`. Prompts: `add-bookings-to-app`, `model-my-vertical`,\n`debug-availability`.\n\nThe generated list, with every input schema and annotation, is\n[bookrail.dev/mcp/tools.json](https://bookrail.dev/mcp/tools.json), and the readable version is\n[bookrail.dev/docs/mcp](https://bookrail.dev/docs/mcp/). Both are produced by asking the\nrunning server, so they cannot drift from it.\n\n## How it is built\n\nThe server drives the `bookrail` CLI **in process** rather than reimplementing its HTTP client.\nOne client, one error contract, one set of validations: a tool cannot behave differently from\nthe command it wraps. One dependency of its own beyond `zod`:\n`@modelcontextprotocol/sdk`.\n\nMeasured: about 120 ms from spawn to the answer to `tools/list`, 25 MB and 91 packages\ninstalled.\n\n## Documentation\n\n- [Coding agents](https://bookrail.dev/docs/guides/agents/): the guide.\n- [For AI agents](https://bookrail.dev/docs/for-ai-agents/): the machine readable surface.\n- [MCP reference](https://bookrail.dev/docs/mcp/): every tool.\n\n## Status\n\nEarly access. The API is live at `https://api.bookrail.dev`, a **test key is self service**\n(`npx bookrail signup`, or [bookrail.dev/signup](https://bookrail.dev/signup)) while a **live\nkey** still comes from a person (hello@bookrail.dev), and this package is on npm as\n[`@bookrail/mcp`](https://www.npmjs.com/package/@bookrail/mcp), Apache 2.0, with its source in\n[github.com/bookrail-dev/bookrail](https://github.com/bookrail-dev/bookrail) under\n`packages/mcp`.\n\n## Licence\n\nApache-2.0.\n","readmeFilename":"README.md"}