{"_id":"@at-series/mcp-hub","_rev":"8-e6a90d2ff7f466e93e8318d053bb2e8e","name":"@at-series/mcp-hub","dist-tags":{"latest":"0.3.4"},"versions":{"0.1.0":{"name":"@at-series/mcp-hub","version":"0.1.0","license":"MIT","_id":"@at-series/mcp-hub@0.1.0","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"f12c55644c660f54bf92fa508c7bf0663e0ebfcb","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.1.0.tgz","fileCount":43,"integrity":"sha512-J0+3D7aPRtMbZozTl3+kgo0VqccmtBiw6wF5LT9rW5tJnOCoUb9fqeuHhYS/t+e31H7eEMLK1NeUAZ0EhHXxiA==","signatures":[{"sig":"MEYCIQDUCgE7NUuBinGrtDhjbLB0TYP2Hy0G7hZ+YumpAnxrUQIhAL40TqL6xjIYC5bjjetbOAYvIqEm4r3KgyjPiVzrHW/2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2188680},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"0d83f43a91105c497f96153bf35942874c1e0381","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.1.0_1785202689785_0.9708100725297288","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@at-series/mcp-hub","version":"0.1.1","license":"MIT","_id":"@at-series/mcp-hub@0.1.1","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"3eb228ec2ba063abd569014d9015b64d7b530604","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.1.1.tgz","fileCount":43,"integrity":"sha512-fICPkKsxlnN0ZHa3op6Fvtjve1p+Nv3QMnuVFAWp2B6f9zCFSTnshQZcRNDLe0gVF/kakdNs4q8d8SHxVAjP0Q==","signatures":[{"sig":"MEUCIEZe8B7PQDrWzfWKCE3LleIAFmyT9qH7Nbcc7yxuDc39AiEArxKE4dC9aktCplawc0CaHYXKHzA4tNNK9VTZn7crDYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2188680},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"0d83f43a91105c497f96153bf35942874c1e0381","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.1.1_1785202964929_0.5596285798529743","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@at-series/mcp-hub","version":"0.2.0","license":"MIT","_id":"@at-series/mcp-hub@0.2.0","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"dd90cef9df7d4c0afa9a3613d91a7e35488fdafe","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.2.0.tgz","fileCount":45,"integrity":"sha512-SxZDuts8LJCc/l9WCAx0Msq+S7RPk9wBwVkRMGbOB9hTTqHkkKfFkyJw+x7Ltfe1Vr2LXioYkF5Q1HF85v5iWQ==","signatures":[{"sig":"MEYCIQCSGD35tuqLwLkIuDJo6lsmE0ypkt+crG8GmiPqMwFFNwIhAPtcM1DjKbYN3oGYIoW9VnmqHd7SGA1J4q3QDVOley63","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2251182},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"891f953b7505e3ac3cf2f4c909db658cf8deef3f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.2.0_1785482299261_0.943018020788561","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@at-series/mcp-hub","version":"0.2.1","license":"MIT","_id":"@at-series/mcp-hub@0.2.1","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"707f9a05906fdbd36124aed9a8803cabd66753e0","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.2.1.tgz","fileCount":45,"integrity":"sha512-zZY1Tt4QIFdCxVv/0PGHSU1FjBD+cAvu11mOY+MAuEtbV0CfH6BiS8Pnn1EFdeLm5ATnkTL/JFGhsEc4Ro1gSw==","signatures":[{"sig":"MEUCIAZHej9wPn4w6gsNxRQnR+ZkENNXLPzWko9PFi8mlTtjAiEA4+8Tnt8RdErldDf3h3TlkuDVrFJA/xntmwvrkwm0Qc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2257741},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"72448d2b163f697b52568cb5797d1e4341c2cff6","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.2.1_1785491115432_0.49883948262621436","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@at-series/mcp-hub","version":"0.3.0","license":"MIT","_id":"@at-series/mcp-hub@0.3.0","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"4cf04d6f85ff299d59875a92a3e8d0e39958cd62","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.3.0.tgz","fileCount":61,"integrity":"sha512-E6jJtCuIp9wNdpfaFUh2dk0kv/h4PDLLWwZLImqW4fR57KJP0w3N7j4GwEZGP3N/S2GXV5a390TZTiaeUqP2mw==","signatures":[{"sig":"MEUCIC3KORcVYCfH5ueJXdZljWFgg9UikIURx8O0+KVFL2z3AiEA1wuUSOwXLkRnEDsHrdDXo2W+ZMnzl9jyn+cbt/Wb5aA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":554239},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.3.0_1786703046784_0.8495562699336974","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@at-series/mcp-hub","version":"0.3.2","license":"MIT","_id":"@at-series/mcp-hub@0.3.2","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"cb87622ac132bc1d3df283fdfd753323c1e4b324","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.3.2.tgz","fileCount":68,"integrity":"sha512-jWCHqe4QUvNcmr2i3e4gKh4g6dw88Fid+/RkcwS9DObMthCDMK7vdSpz0QV9Q9ENa5aG/98M/Qo1Xa8GvGjEyQ==","signatures":[{"sig":"MEUCICVZuQruLc2cadFFCD3/OQOmakI/kLU0BbcDgziXQU8sAiEA1wAg5/oYnaFFaJKmsaU080MZmLcZn1tZdWq7q3cABPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1938081},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"90e08a11bd4e283418f2efb0a6ddf22fea259ad1","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.6.2","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"22.18.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.3.2_1787121668608_0.2183328856024731","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@at-series/mcp-hub","version":"0.3.3","license":"MIT","_id":"@at-series/mcp-hub@0.3.3","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"dist":{"shasum":"64b6d1e3fd095ddba30bf1a18319b509ef89129d","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.3.3.tgz","fileCount":67,"integrity":"sha512-cjPJ+ZslFa0FEgirZRelRirRflHpMaL9a4TBMhXHcercNwmImXs7WyEBGM56B3S94gKK57xlYRPC+xpWuzNwmg==","signatures":[{"sig":"MEUCIQCAkrWE7SjAFweXo7NBo87TUWc6m6mLCi2JPHIMJyRX1AIgUQabTBoElszsoVXKa+rN7EHpX/s5DlMH8dMHtdquzEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607687},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"gitHead":"ad7c8ca244ff36c125e75af67ee083f04d9b5bab","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"_npmVersion":"11.13.0","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"^7.6.3","js-yaml":"^5.2.2","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","esbuild":"^0.25.0","typescript":"^5.6.0","@types/node":"^20.17.0","@types/semver":"^7.5.8","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/mcp-hub_0.3.3_1787888797345_0.4585971326890832","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@at-series/mcp-hub","version":"0.3.4","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","license":"MIT","type":"commonjs","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./hub":{"default":"./dist/hub.js"}},"scripts":{"build":"tsc -p tsconfig.json","build:hub":"node esbuild.hub.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","test:watch":"vitest"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","js-yaml":"^5.2.2","semver":"^7.6.3"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^20.17.0","@types/semver":"^7.5.8","esbuild":"^0.25.0","typescript":"^5.6.0","vitest":"^3.0.0"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"gitHead":"21e7c8a328c8f82301a7f6b45caea9a0e8216062","_id":"@at-series/mcp-hub@0.3.4","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-dZoK2Si916QLtQogPDXgZqNP3QnXjS4DVKyJndzRMRbjmMMz+yGNJsuemwXG/JIEK2r3LOFtyptfT9D7DNFlcw==","shasum":"a700a4ec3ddb46a5fd8a8341cf7940fdb5ef6617","tarball":"https://registry.npmjs.org/@at-series/mcp-hub/-/mcp-hub-0.3.4.tgz","fileCount":69,"unpackedSize":611857,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFZFxdpn56v+yQI3T7JrOjulh+zOODDzf3cG/Akhi2vOAiAft228fEwkPQ4sXaH1jLRJxWQVpXD/KQ2uPjLGBosXHg=="}]},"_npmUser":{"name":"xwaimt","email":"xwaimt@gmail.com"},"directories":{},"maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-hub_0.3.4_1788759977344_0.9757325093767586"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T01:38:09.644Z","modified":"2026-09-07T05:46:17.687Z","0.1.0":"2026-07-28T01:38:09.973Z","0.1.1":"2026-07-28T01:42:45.109Z","0.2.0":"2026-07-31T07:18:19.445Z","0.2.1":"2026-07-31T09:45:15.628Z","0.3.0":"2026-08-14T10:24:06.938Z","0.3.2":"2026-08-19T06:41:08.773Z","0.3.3":"2026-08-28T03:46:37.520Z","0.3.4":"2026-09-07T05:46:17.497Z"},"license":"MIT","description":"AT Series shared MCP Hub runtime, publisher, and installer helpers","maintainers":[{"name":"xwaimt","email":"xwaimt@gmail.com"}],"readme":"# `@at-series/mcp-hub`\n\nShared AT Series MCP Hub runtime, registry publisher, hub bundle sync, and IDE MCP config installer helpers.\n\n**Current version:** `0.3.4` — Hub protocol surface **2** (progressive tool discovery); Bridge wire remains **1**.\n\n## Install\n\n```bash\nnpm install @at-series/mcp-hub\n```\n\n## Public surface (plugin-facing)\n\n| Export | Role |\n|--------|------|\n| Protocol types / constants / path helpers | Bridge v1 + Hub v2 contracts in `src/protocol` |\n| `FsBridgePublisher` | Publish / heartbeat / unpublish registry records |\n| `syncHubBundle` | Elect `~/.at-series/mcp/hub.js` by semver + hash |\n| `ensureAtSeriesMcpConfig` / `uninstallAtSeriesMcpConfig` | Write/repair/remove the single `AT Series` MCP entry |\n| `defaultAutoApproveToolNames` | Optional helper: Hub meta-tools + `risk=read` registry tools. **Installer does not use this** (autoApprove is meta-only) |\n| `detectHostApp` | `detectHostApp({ appName?, appRoot?, uriScheme?, extensionPath? })` → `hostApp` slug |\n| `createHubRuntime` | stdio Hub (packaged as `hub.js`) |\n\nHub bundle entry for **build-time** resolve / copy into the VSIX `dist/`:\n\n```ts\nrequire.resolve('@at-series/mcp-hub/hub')\n// -> package dist/hub.js (use at pack time; production activate should use extension dist/hub.js)\n```\n\nSee [`docs/guides/plugin-integration.md`](../../docs/guides/plugin-integration.md) for `copy-hub.mjs` and `await syncHubBundle` **before** `ensureAtSeriesMcpConfig`.\n\n## Progressive discovery (Hub v2)\n\nWhen the catalog is large (or `AT_SERIES_TOOL_DISCOVERY=always`), cold `tools/list` exposes Hub meta-tools only. Agents `at_select_tools`, then call selected tools as first-class MCP tools after `list_changed`. See repo [`docs/protocol/v2.md`](../../docs/protocol/v2.md) and skill [`skills/super-ops`](../../skills/super-ops/SKILL.md).\n\n## Docs\n\n| Doc | Role |\n|-----|------|\n| [`docs/protocol/v1.md`](../../docs/protocol/v1.md) | Bridge wire contract |\n| [`docs/protocol/v2.md`](../../docs/protocol/v2.md) | Hub progressive exposure |\n| [`docs/guides/plugin-integration.md`](../../docs/guides/plugin-integration.md) | Plugin integration |\n| [`README.md`](../../README.md) | Repo overview |\n\n## Note\n\nThis package does **not** include a Bridge HTTP framework. Plugins implement `GET /health`, `GET /tools`, and `POST /invoke` themselves per protocol v1.\n","readmeFilename":"README.md"}