{"_id":"@boomin/mcp","_rev":"3-3cd34b43564e19727393332ce8d23103","name":"@boomin/mcp","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"@boomin/mcp","version":"0.2.0","keywords":["boomin","mcp","agents","partner-connect","referral","distribution"],"author":{"name":"Boomin"},"license":"UNLICENSED","_id":"@boomin/mcp@0.2.0","maintainers":[{"name":"ikleveland","email":"kleveland.bishop@gmail.com"}],"bin":{"boomin-mcp":"src/stdio.js"},"dist":{"shasum":"f496e129ec5d70833ff0a29743e9486274fc04ae","tarball":"https://registry.npmjs.org/@boomin/mcp/-/mcp-0.2.0.tgz","fileCount":4,"integrity":"sha512-e3A1ZGSUBfPiB3PkW52TtnpDwcvBgw+lZMYHiFqsYVq1aQkuMfOP5olaSt77klmWLvsAkZZaGSyqK2FurNndSQ==","signatures":[{"sig":"MEUCIA5skhFdUUGJP3jIvYOjb8ydcmagnsXlSBsLouS8+b3hAiEA55n7X6AnvBxQDzyjSyizmsasScO/I0urSlCanlaKlKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68459},"type":"module","exports":{".":{"import":"./src/protocol.js","default":"./src/protocol.js"},"./stdio":{"import":"./src/stdio.js","default":"./src/stdio.js"}},"gitHead":"348bc34a2b5c1527bc37a3a469c39b0950d5bf91","scripts":{"test":"node --test \"test/**/*.test.js\"","build":"node --check src/protocol.js && node --check src/stdio.js","pack:dry":"npm pack --dry-run","typecheck":"node --check src/protocol.js && node --check src/stdio.js"},"_npmUser":{"name":"ikleveland","email":"kleveland.bishop@gmail.com"},"_npmVersion":"11.19.0","description":"Boomin MCP server for agent-native referral program installation, program operation, and Distribution operation on the Platform API v1 tree.","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.0_1785761984571_0.29291594236836804","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@boomin/mcp","version":"0.2.1","keywords":["boomin","mcp","agents","partner-connect","referral","distribution"],"author":{"name":"Boomin"},"license":"MIT","_id":"@boomin/mcp@0.2.1","maintainers":[{"name":"ikleveland","email":"kleveland.bishop@gmail.com"}],"bin":{"boomin-mcp":"src/stdio.js"},"dist":{"shasum":"8838a4eb4fae28d1b6e397add90ba4b00541ef47","tarball":"https://registry.npmjs.org/@boomin/mcp/-/mcp-0.2.1.tgz","fileCount":5,"integrity":"sha512-wW/jOhRkF7fD4YYio1v6+V9ddes9GxZfxk/m0ea3bPbJ5zdGEX0TD3l76UTtGmdUhWJKsbCg/xTnG5E5vWOE7A==","signatures":[{"sig":"MEYCIQCkASHdzO+cUI833OZeerhQVlIUiMKLHWlDOoyIF8BTLQIhANrhJqrm37m3bI4+FbrwXCU9nMldR7JbULIcunj1sCuG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69530},"type":"module","exports":{".":{"import":"./src/protocol.js","default":"./src/protocol.js"},"./stdio":{"import":"./src/stdio.js","default":"./src/stdio.js"}},"gitHead":"155cb4017b15f9002d2cda43bbc24ee9a3e52528","scripts":{"test":"node --test \"test/**/*.test.js\"","build":"node --check src/protocol.js && node --check src/stdio.js","pack:dry":"npm pack --dry-run","typecheck":"node --check src/protocol.js && node --check src/stdio.js"},"_npmUser":{"name":"ikleveland","email":"kleveland.bishop@gmail.com"},"_npmVersion":"11.19.0","description":"Boomin MCP server for agent-native referral program installation, program operation, and Distribution operation on the Platform API v1 tree.","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp_0.2.1_1785763513285_0.3326420239721011","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"_id":"@boomin/mcp@0.4.0","bin":{"boomin-mcp":"src/stdio.js"},"bugs":{"url":"https://github.com/Boomin-Ai/mcp/issues"},"dist":{"shasum":"52769d42c445618b09bac4eee528e267414bbb4f","tarball":"https://registry.npmjs.org/@boomin/mcp/-/mcp-0.4.0.tgz","fileCount":5,"integrity":"sha512-q18dnRQ0aExdA7RMAIwCMFebKBj0Fw/DRmrembbMuQ4y3sddkOy0hQDh8GWIahWUI6bPUkWGB/r2vkvyskS6eQ==","signatures":[{"sig":"MEYCIQDOMOM2+tA2RVtHdorDwHLeT5Y8gmDyerKW0Fdcr4R3iQIhAOAsIH6wb4aJbCl9WnvuHreK/8fJXA3UyK50Cm9H58xY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICIInMK8t/CTi/O2x8RiHmyatd/TLK+Xd7R889yDI9ScAiBeT3r5hXv2umJUyAAOJaH0fNpH/LKR0vCfMf2EM4uunw=="}],"unpackedSize":79745},"name":"@boomin/mcp","type":"module","author":{"name":"Boomin"},"exports":{".":{"import":"./src/protocol.js","default":"./src/protocol.js"},"./stdio":{"import":"./src/stdio.js","default":"./src/stdio.js"}},"gitHead":"930f99bd678c4507fca79fd72d8d609c00772204","license":"MIT","scripts":{"test":"node --test \"test/**/*.test.js\"","build":"node --check src/protocol.js && node --check src/stdio.js","pack:dry":"npm pack --dry-run","typecheck":"node --check src/protocol.js && node --check src/stdio.js"},"version":"0.4.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e4d9ec58-189b-4713-8da2-204d1de5d5d8"}},"homepage":"https://github.com/Boomin-Ai/mcp#readme","keywords":["boomin","mcp","agents","partner-connect","referral","distribution"],"repository":{"url":"git+https://github.com/Boomin-Ai/mcp.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.19.0","description":"Boomin MCP server for agent-native referral program installation, program operation, and Distribution operation on the Platform API v1 tree.","directories":{},"maintainers":[{"name":"ikleveland","email":"kleveland.bishop@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@boomin/sdk":"^1.0.0-beta.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.4.0_1790861395041_0.05193908849470241"}}},"time":{"created":"2026-08-03T12:59:44.370Z","modified":"2026-10-01T13:29:55.309Z","0.2.0":"2026-08-03T12:59:44.726Z","0.2.1":"2026-08-03T13:25:13.441Z","0.4.0":"2026-10-01T13:29:55.142Z"},"author":{"name":"Boomin"},"license":"MIT","keywords":["boomin","mcp","agents","partner-connect","referral","distribution"],"description":"Boomin MCP server for agent-native referral program installation, program operation, and Distribution operation on the Platform API v1 tree.","maintainers":[{"name":"ikleveland","email":"kleveland.bishop@gmail.com"}],"readme":"# @boomin/mcp\n\nShared MCP protocol implementation for Boomin referral program installation, program operation, and Distribution operation. It powers the hosted MCP at `mcp.boomin.ai` (served from `services/mcp`) and can also be installed as the `@boomin/mcp` protocol package.\n\nInstall into Claude Code:\n\n```bash\nclaude mcp add --transport http boomin https://mcp.boomin.ai/mcp\n```\n\nRemote clients can authorize through Boomin's browser flow. The MCP server advertises OAuth metadata at:\n\n```txt\nhttps://mcp.boomin.ai/.well-known/oauth-authorization-server\n```\n\nThe browser consent flow signs the admin in with Boomin email OTP, asks for an organization and skill packs, then exchanges an authorization code for a scoped `sk_boomin_live_...` platform token.\n\nThe write-bearing packs (`program_operator`, `distribution_operator`) must be explicitly granted through the hosted consent flow or `npx @boomin/cli mcp install --pack distribution_operator`.\n\n## Skill packs\n\n| Pack | Tools | What it is for |\n| --- | --- | --- |\n| `referral_installer` (default) | `boomin_doctor`, `boomin_detect_project`, `boomin_get_connect_config`, `boomin_provision_handoff`, `boomin_scaffold_referral_first`, `boomin_verify_referral_install`, `boomin_get_entity_standing`, `boomin_record_test_event` | Get a referral program installed in someone's app and prove it works. |\n| `program_operator` | `boomin_get_program`, `boomin_update_program`, `boomin_update_required_channels`, `boomin_update_referral_settings`, requirements CRUD, tiers CRUD, `boomin_evaluate_program`, `boomin_preview_qualification` | Operate the program's rules: channels, requirements, tiers, qualification. |\n| `distribution_operator` | `distribution_create`, `distribution_launch`, `distribution_status`, `deployment_pause`, `deployment_resume`, `enrollment_invite`, `enrollment_approve`, `performance_summary` | Operate Distributions on the Platform API v1 tree. |\n\n## 0.2.0\n\n**Tool names are underscored.** Every tool moved from `boomin.x` to `boomin_x` — MCP clients with strict tool-name validation reject dots. `tools/list` only advertises the underscore form; a call that arrives with a cached dotted name is still normalized rather than hard-failed.\n\n**Platform API v1.** Every tool with a v1 counterpart now speaks the Stripe-shaped REST tree at `/v1/platform` (`DISTRIBUTION_CORE.md` §4): Bearer-only auth, POST-update, **bare top-level resource objects**, cursor lists `{object:'list',data,has_more}`, an `Idempotency-Key` on every mutation, and typed errors as `{error:{code,message,param,request_id}}`.\n\nStill on the legacy RPC surface, which stays live, because v1 has no counterpart yet:\n\n- `boomin_update_program` — v1 `/programs` is read-only (no update route).\n- `boomin_evaluate_program` / `boomin_preview_qualification` — qualification evaluation has no v1 route.\n- `boomin_doctor`'s token probe — `POST /smoke` is the only call that reports a token's scopes. Doctor additionally probes the v1 tree and reports it as `platformV1`.\n- `boomin_get_connect_config`, `boomin_get_entity_standing`, `boomin_record_test_event` — these are the public/HMAC-signed Partner Connect API (`/v1/connect`), not the platform tree, and are unaffected by v1.\n- `boomin_detect_project`, `boomin_scaffold_referral_first`, `boomin_verify_referral_install` — local filesystem tools; no HTTP at all.\n\n**dryRun still means \"do not mutate\".** v1 has no `dryRun` flag, and these tools have always defaulted to `dryRun: true`. The default now reads the current resource and returns `{ok, dryRun, method, path, changes, current}` without issuing the mutation; `dryRun: false` performs the real call.\n\n**Typed error surfacing.** v1 `error.code` is preserved verbatim and paired with a plain-language `hint` plus a `retryable` flag, so an LLM caller knows what to do rather than just that something failed. Mapped codes include `funding_required`, `operation_conflict`, `cancellation_in_progress`, `cancellation_requires_intervention`, `band_limit_reached`, `missing_scope` (which also reports the exact `requiredScope`), the `platform_token_*` family, and `operation_wait_timeout`.\n\n**Launch follows its operation.** `distribution_launch` validates the draft, launches (v1 returns `202 {distribution, status:'launching', operation}` with id strings — never a synchronous success), then polls the operation to a terminal status (`succeeded | partial | failed | canceled`) and answers with the final operation, the resulting distribution, and its deployments rollup. `partial` is reported as the real, distinct outcome it is.\n\n## Gates\n\n```bash\ncd packages/mcp && npm run build && npm test    # syntax check + node:test suite\ncd services/mcp && npm ci && npm run build      # tsc --noEmit over the worker\n```\n\n## Durable lead installer (0.4.0)\n\n`boomin_scaffold_referral_first` uses the same `@boomin/sdk/leads/scaffold`\ngenerator as the CLI. Pass `customerTable` and `customerIdColumn` for the\nactual new-account table. The response includes browser capture, authenticated\nsignup, leased retry delivery, SQL migration and an integration checklist.\nHosted callers receive files; local writes protect existing files unless\n`overwrite:true` is explicit. `boomin_verify_referral_install` distinguishes\nfile existence from a completed runtime installation and lists missing proof.\n\nInstall protocol dependencies with `cd packages/mcp && npm ci`, then build\nand test there before building/deploying `services/mcp`. SDK beta.8 must be\npublished before dependency installation and deployment.\n","readmeFilename":"README.md","homepage":"https://github.com/Boomin-Ai/mcp#readme","repository":{"url":"git+https://github.com/Boomin-Ai/mcp.git","type":"git","directory":"packages/mcp"},"bugs":{"url":"https://github.com/Boomin-Ai/mcp/issues"}}