{"_id":"@auctra/mcp-gateway","_rev":"9-dd47839e74b7c0c6b99ae7bfa655e3b3","name":"@auctra/mcp-gateway","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.1":{"name":"@auctra/mcp-gateway","version":"0.1.1","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.1","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"de4307f840a3f723a596179897b6301eba2dd030","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.1.tgz","fileCount":5,"integrity":"sha512-Drb8xCJATBQ4GWdma/F4ly36OQtJqOh1qCxp4DWJ5wZpMyi1figg1pUJphuNspLfDuTjkWsjx6QF3kdQBluR2Q==","signatures":[{"sig":"MEUCIQC58tGL7IVp4vJ52JddIAeEiG34pHv+EUU3ZZ9IwrtnjwIgceV/Lh1QjyM6IV3ylVX4zsQEQio5/4C76229WAhKDqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13024},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"d5ee9ba7e7285a569fee5012f7d4abf0a2b26c64","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"Stage 0 MCP gateway adapter — gate MCP tool calls through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.1_1787791988454_0.3821092964012258","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@auctra/mcp-gateway","version":"0.1.2","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.2","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"0939bac4bd1238a09fcaad2755adf88bc1491931","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.2.tgz","fileCount":5,"integrity":"sha512-ZpIaozSKcT5+7rZyRMd2u5eqBDigvW5HaVykNjpAWj6UvARI4ZF/ggC3EXGCqbN9JzJ15FKXATVKZzkvnRxFUg==","signatures":[{"sig":"MEYCIQDXhQZFNSc1R5cPlyrqTNlFGpFILdxq7Y2h12jRjMfCmwIhAIwMAOSHXurtz10pOlACkMVPY+hnHsBd4uJD5ovglnFI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16661},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"38201f3329e3f89afd1a7dbcb9a7c8822e500c77","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cde4c6f-79f5-4232-830a-e9310a25e14a"}},"_npmVersion":"12.0.2","description":"Stage 0 MCP gateway adapter — gate MCP tool calls through Auctra action.execute","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.2_1787794234153_0.32605367995203527","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@auctra/mcp-gateway","version":"0.1.3","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.3","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"d40eb78a9aab4d980f618c1f89e7073f6988daed","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.3.tgz","fileCount":5,"integrity":"sha512-bzXolIwbTlvh1VFm7pwkHSmuZK7tAL0nj54OlZ434nYz13bMgdsva2kj7s64dap65LL67kSvPWuz8cx4CUpmXQ==","signatures":[{"sig":"MEUCIDEYnQOHg4Os837Usz+rL4GeofX0C/zA/sJKpevB9oYtAiEA+OSi5w+D1bWBHU2bdvhOvYfdj9FZHjpGXABVhC+7oxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16740},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"235036eba87d2a1b332b22b9f26e28184a5ff7cf","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cde4c6f-79f5-4232-830a-e9310a25e14a"}},"_npmVersion":"12.0.2","description":"Stage 0 MCP gateway adapter — gate MCP tool calls through Auctra action.execute","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.3_1787855635020_0.2863477274381878","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@auctra/mcp-gateway","version":"0.1.4","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.4","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"044222699f5ed1761adced256ccabc6f1b5ab876","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.4.tgz","fileCount":5,"integrity":"sha512-1zzxGB8oWd1K0qTnn99t4Ga+baq9X/Md2EC3B2toLvRfvHtxBEXdUlLWdWyHh0Cl+rg6p895VRJDhJcUgDbAmQ==","signatures":[{"sig":"MEYCIQCTfRrh9I4p2YoqyizuytITXat0NeaO6R4w5BlLra7y/AIhALhgF5GZ+zO1RtFCUTwMhSoxTUpnvASBuYe1c8c4s/xm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25683},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"e91316b8dbebbaddde28114b083fac9e92170758","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.4_1788635351932_0.48511405237890837","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@auctra/mcp-gateway","version":"0.1.5","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.5","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"39bb4cc3183f4ee43d219d1300cf20bb806695aa","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.5.tgz","fileCount":5,"integrity":"sha512-w8wY6HN9DeH4GRvQuXRD5UciFThEGpj0+uFQKOB+q870Aq0cq8BnB4Q6OTLEHFWIuMX2YjXHBDMQ3EnYKWPJAQ==","signatures":[{"sig":"MEUCICFW6zR9a2cgBK9F6dGCa22oE44G2DQvsxr/wOhYi64kAiEA1h2Xam5CAlJT8yK6rQmedHgYZWtNjPheJcwUpf535CU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27966},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"dc9e5ffff7e1ef8b9f5970bc0386656af3c5c80f","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.5_1788973659700_0.1616194879448105","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@auctra/mcp-gateway","version":"0.1.6","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.6","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"1a178ea23e255c4d96910d21795d7278ddd01903","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.6.tgz","fileCount":5,"integrity":"sha512-7RISeCv5+d6NQO5AWwt5XSlpHfCevdq4SmuLiKqCsBdgwTEDUW0nFbGJsLHgujwgqntpQ3nWLHgjEL4RdCxFHw==","signatures":[{"sig":"MEQCIA4aP03U7tHw0nr4zR86FyNz5TqpUhYmNP+NO/jLUJARAiB2kdx6X8nqie26jjIFurPvZeImoe7noY91bY3ERXw1kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30468},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"2ba1c2221acbea4a8ab52f242eecbfa1cc2d194f","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.6_1789205051348_0.8057267859041264","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@auctra/mcp-gateway","version":"0.1.7","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.7","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"8adcfa361908f17454b21cb9a9b2501fc3872ba5","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.7.tgz","fileCount":5,"integrity":"sha512-cobFcw+E4Fjsx1vTlkg+U0Zy5PVxvajtgdbBAauBtOZEmpzutyGm2oYbDoFSI58rdhpIRgyKPHbX1FjhZeW+5Q==","signatures":[{"sig":"MEUCIAFwb8/QH0keFsRfmynk6GwIbNJUL+eifxa8vV3t5PEgAiEAuT2SvX5GBxu8Q+Df/d/85C1asuNkg/+xzjyiweUXgFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30468},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"48e6128fa3301c7506ac9cf9d114cf0c35d1f39f","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.7_1789210987057_0.9361818501359069","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@auctra/mcp-gateway","version":"0.1.8","keywords":["auctra","mcp","authority","delegation"],"license":"MIT","_id":"@auctra/mcp-gateway@0.1.8","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"bin":{"auctra-mcp-gateway":"src/server.js"},"dist":{"shasum":"a2e3ff6de980c2f2f5b6852647a1381e3ed6a4c3","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.8.tgz","fileCount":5,"integrity":"sha512-lMjKAgKjP8scGpf/cw/v8tvV8ItLs9nI92qJqIrT8Bcd94Q64jk7lhzChsweJn2LQbWVpRxB+ut3g3jdQ2wpiA==","signatures":[{"sig":"MEYCIQC0oEeYyrz5XusT7PheQWyqEOeCwgSSGdyI9nSZso+j1AIhALl/sNMYu651BSyi7uKuNgsKY9UE8j5bRk9oE/EZ3E9y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30706},"main":"./src/index.js","type":"module","types":"./src/index.ts","auctra":{"note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only.","role":"implementation"},"engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"575fa7577d1b5b96d2052f5810d755e26be342dc","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\""},"_npmUser":{"name":"matik103","email":"hookarte@gmail.com"},"_npmVersion":"11.17.0","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","directories":{},"_nodeVersion":"26.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gateway_0.1.8_1789213774910_0.02164603559301126","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@auctra/mcp-gateway","version":"0.1.9","description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","type":"module","main":"./src/index.js","types":"./src/index.ts","exports":{".":"./src/index.js"},"bin":{"auctra-mcp-gateway":"src/server.js"},"scripts":{"build":"node --input-type=module -e \"import('./src/index.js').then((m) => { if (typeof m.gateMcpToolCall !== 'function') throw new Error('gateMcpToolCall missing'); console.log('mcp-gateway build ok'); })\"","test":"npm run build && node --test test/*.test.mjs"},"auctra":{"role":"implementation","note":"Single MCP authorization implementation. @auctra/mcp re-exports this package only."},"keywords":["auctra","mcp","authority","delegation"],"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=20"},"devDependencies":{"@types/node":"^22.15.0"},"gitHead":"05edb006f1ab2f1c6f52bf6377473b3c802de896","_id":"@auctra/mcp-gateway@0.1.9","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-TGiX1NeZTiKpQjgXdLRtf3BxShR1VkDo5Ec1oK/odBInUWAT6ASA8tsf0sIc71zFF20/Aj/6aTxzVvOhjPyXVw==","shasum":"abc9632581ee6f5d0fc01bf5bc84787d97647066","tarball":"https://registry.npmjs.org/@auctra/mcp-gateway/-/mcp-gateway-0.1.9.tgz","fileCount":5,"unpackedSize":32172,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDiVCiRY1OUY94Fhfnk1P3bW068dbi4ViuxwBy8IKo8WAiA3IifOzyYKUkMAzbNxURrF55wVf6GQT+RqBoFEHzpyNQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9cde4c6f-79f5-4232-830a-e9310a25e14a"}},"directories":{},"maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-gateway_0.1.9_1789238146584_0.6441111331038718"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T00:53:08.305Z","modified":"2026-09-12T18:35:46.899Z","0.1.1":"2026-08-27T00:53:08.602Z","0.1.2":"2026-08-27T01:30:34.331Z","0.1.3":"2026-08-27T18:33:55.151Z","0.1.4":"2026-09-05T19:09:12.093Z","0.1.5":"2026-09-09T17:07:39.828Z","0.1.6":"2026-09-12T09:24:11.484Z","0.1.7":"2026-09-12T11:03:07.612Z","0.1.8":"2026-09-12T11:49:35.041Z","0.1.9":"2026-09-12T18:35:46.732Z"},"license":"MIT","keywords":["auctra","mcp","authority","delegation"],"description":"MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute","maintainers":[{"name":"matik103","email":"hookarte@gmail.com"}],"readme":"# @auctra/mcp-gateway\n\nStage 0 MCP gateway adapter. Wrap MCP tool calls **and installs** with Auctra **Authority Gate** (`action.execute`) before execution.\n\n**REQUIRE_MCP_GATEWAY:** Production orgs (Startup+) default `require_mcp_gateway=true`. MCP-shaped `action.execute` without this package’s stamp (`auctra_mcp_gateway`) is blocked. Set `AUCTRA_REQUIRE_MCP_GATEWAY=1` for a global fail-closed override.\n\n```ts\nimport { Auctra } from \"@auctra/sdk\";\nimport {\n  gateMcpToolCall,\n  gateMcpInstall,\n  withAuctraGate,\n  declareMcpInstallMetadata,\n  REQUIRE_MCP_GATEWAY,\n} from \"@auctra/mcp-gateway\";\n\nconst client = new Auctra({ apiKey: process.env.AUCTRA_API_KEY! });\n\nawait gateMcpToolCall({\n  client,\n  agentId: \"agent-uuid\",\n  toolName: \"send_email\",\n  args: { to: \"vendor@example.com\" },\n});\n\nconst sendEmail = withAuctraGate({\n  client,\n  agentId: \"agent-uuid\",\n  toolName: \"send_email\",\n  execute: async (args) => mailer.send(args),\n});\n```\n\nBlocked or approval-required tool calls throw `McpToolBlockedError` with the decision evidence hash when present.\n\n## NL→SQL data scope (`gateMcpSqlQuery`)\n\nDeclare requested vs authorized query scope so the production gate can emit `SQL_SCOPE_EXCEEDED`:\n\n```ts\nimport { gateMcpSqlQuery } from \"@auctra/mcp-gateway\";\n\nawait gateMcpSqlQuery({\n  client,\n  agentId: \"agent-uuid\",\n  toolName: \"customer_query\",\n  requestedScope: \"customers.*\",\n  authorizedScope: \"customers.aggregate_metrics\",\n  claimedIntentId: intent.id,\n  intentAnchorToken: intent.anchor_token,\n});\n```\n\n## Engine 15 — MCP / skill install attestation\n\nHigh-impact installs require `mcp_install` + HMAC `supply_chain_attestation` on the gate.\nUse the **same secret** as Auctra `SUPPLY_CHAIN_ATTESTATION_SECRET` (falls back to `TOOL_ATTESTATION_SECRET`).\n\n```ts\nawait gateMcpInstall({\n  client,\n  agentId: \"agent-uuid\",\n  organizationId: \"org-uuid\",\n  secret: process.env.SUPPLY_CHAIN_ATTESTATION_SECRET!,\n  install: { name: \"trusted-mcp\", version: \"1.2.0\", kind: \"mcp\" },\n  manifestBody: { tools: [\"send_email\"] }, // hashed when contentHash omitted\n  claimedIntentId: intent.id,\n  intentAnchorToken: intent.anchor_token,\n});\n\n// Or attach metadata yourself on any action.execute:\nconst metadata = declareMcpInstallMetadata({\n  organizationId: \"org-uuid\",\n  secret: process.env.SUPPLY_CHAIN_ATTESTATION_SECRET!,\n  install: { name: \"trusted-mcp\", kind: \"mcp\" },\n  manifestBody: packageJson,\n});\n```\n\nAlso exported: `hashMcpPackageManifest`, `signSupplyChainAttestation`.\n\n## Engine 03 — tool response attestation\n\n`withAuctraGate({ attestation: { organizationId, secret } })` HMAC-signs the tool body as `tool_attestation` for the next consequential `action.execute`.\n\n## Stdio MCP server\n\nRun the package as a real MCP stdio server:\n\n```bash\nAUCTRA_API_KEY=... AUCTRA_AGENT_ID=agent-uuid npx auctra-mcp-gateway\n```\n\nExposed tools:\n\n- `gate_tool_call`\n- `verify_audit_chain`\n","readmeFilename":"README.md"}