{"_id":"@agent-action-runner/mcp","_rev":"13-e336333e01c5fab2f871fbf9e9fd2271","name":"@agent-action-runner/mcp","dist-tags":{"latest":"0.8.2"},"versions":{"0.3.0":{"name":"@agent-action-runner/mcp","version":"0.3.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.3.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"2873d99c8d166dedaa1843a9446d248400f441b1","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.3.0.tgz","fileCount":6,"integrity":"sha512-LWnU56bAvYcHHfju4O3nWRYS5ONlWYU8sk4//KqN9urNeDfdnyURttVZpJXx6COSZ24Dgg9Z4JmAzohPFpiQdg==","signatures":[{"sig":"MEQCIG1VgDtGyOtTgjV5xXMv18GTk829maUenZVATqjK7F4gAiAGPLnTo17MBJiguECFWh/UwoAN1b//tpS01HiDbU18Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20229},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f9f4b8709bfd991f6ccd73c5a5aa6e42390d06f9","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"doompy17","email":"brillarrz@gmail.com"},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.9.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","@agent-action-runner/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.3.0_1778068390903_0.28398802433294756","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agent-action-runner/mcp","version":"0.4.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.4.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"bff70a4da3923206307d4742b26f8d0a3ab2e72e","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.4.0.tgz","fileCount":6,"integrity":"sha512-YBzLtRxbJzGZtEqBwld12m3ZBAujJPv77UpXZ7KVWB9MM7jJfye1TryUn1Df0DwgUCcZQOJhiqt4MmenkCOgzA==","signatures":[{"sig":"MEYCIQDTci3aoxarxqdtGszOKMCZZyNLWn0Ok2H+PAnTF6M+0gIhAMbcxvvDuSBO/qaqiUd+QCNBsJAsxf5UUnest+6Bj9qn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23454},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ef4c193d9da1068accee11b1014aa11c5e4b4cbf","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"doompy17","email":"brillarrz@gmail.com"},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.14.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","@agent-action-runner/core":"^0.4.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.4.0_1778116001492_0.5593136927442182","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@agent-action-runner/mcp","version":"0.4.6","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.4.6","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"6dfd833105307061f0986e9b84d6180f449ec887","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.4.6.tgz","fileCount":6,"integrity":"sha512-9T83F/e5Pw10VNvsQFv72rfguUfu9QhMjjZwqNx/YegHwHON7vNhXZjj6m43a+hMxSumfROsy1XsnQTmK7fmTg==","signatures":[{"sig":"MEYCIQCeCZZ4em1Bqdzb7v3IjS40DAPBS9kg/xbEevj/yrOOkAIhAOAOt/dXOiPpHAO6pVU+OydFRo2bOAMZm27J/q95o+ha","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26623},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a9bf05189585662a18b0a2df5f76b4f36b695a46","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","@agent-action-runner/core":"^0.4.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.4.6_1778122511368_0.13992638529795376","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agent-action-runner/mcp","version":"0.5.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.5.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"e0068b9c9cbafe7d830203f314631d0f18edd983","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.5.0.tgz","fileCount":6,"integrity":"sha512-XWwU7+q0rX3M93yQ7PyW/xTW8bL9AgU9D/IHMgtrH+LsqYxl8DoyEMvUuM976ekZbXnGCfiqItl1XdC92m21Sg==","signatures":[{"sig":"MEQCIF45VIhiNKKT70yIlNNy+bgOxKX+IcANqU2lUWq8QUe1AiAmsfbi+KyZMHlfWBtH/C5MFL7IXUHsYWX1aaPUZUN5yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26623},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"81d795afaf77240c0ea6d31b8c1cf2098bb0bbeb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","@agent-action-runner/core":"^0.5.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.5.0_1778129622462_0.2582048066288487","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agent-action-runner/mcp","version":"0.6.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.6.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"eb71b1737cde530d5ed6085fdb3a8e11087eed7a","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.6.0.tgz","fileCount":6,"integrity":"sha512-i9qM6Bn0c0NgLYmrYOEQrqIKV8PJcXPKm6O98rioHG6fkZT+pG18JAmv74Y7YIvioOcl/5k8sUYmOORMCeYqoA==","signatures":[{"sig":"MEUCIQDz6dVzM6WIZmDUxoy8FDoHMvZzwhPDO9HXdREowvovngIgP7QvKGxvxVquaNeyGSu2GAQENqWrBi0GUMHDv80VNOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29586},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c44e3012eb1ea754d3549fb1ae6d483bf10f6c1b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","@agent-action-runner/core":"^0.6.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.6.0_1778159988424_0.031204616200774415","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@agent-action-runner/mcp","version":"0.6.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.6.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"072a91549c82a5dd3f48d7c5bf3576fcbb2c3758","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.6.1.tgz","fileCount":6,"integrity":"sha512-Ahjz+1u1P3UGwBQbe+5QvUTfTv/Sc5878eoHPb0XZTuGpVWZ4BVIsRcJWaUa5efbcvEf+kv1tQJu2xiftAqjgQ==","signatures":[{"sig":"MEYCIQC2aMPgAivoMPPvPzp0ghcXWYweFnnuJElfiRyvsjf4MgIhAP9t9q542TaqsEml3kfi9ZkrvXqUeJ1rBp4AIkiAxQDz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b3ed647a6a4192a4acb3375b2d935453929f87bc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.6.1_1778164800149_0.18938376929392664","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@agent-action-runner/mcp","version":"0.6.2","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.6.2","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"f962b4d3520a1ba87af042c808eaaf10af00acd9","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.6.2.tgz","fileCount":6,"integrity":"sha512-Xlg7amocF1+Cgl44uyQl3j5QcGPn9iiTk5/NL59jNr65CcA/mxd4pvWZx9Uiy7sFZD4BtYaf1S7cmwAuTkMZzA==","signatures":[{"sig":"MEUCIQCKlrC5frAFKaPmmnYKTq/SH/cdCwmp+bI9IYtr6bKBmgIgC8MEgbZCeZoPQKDYW8B5H/nhDlAvDhikzKLV5aBx/jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dfbfae92ff2e54578ab13979a47e47aa04f2db11","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.6.2","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.6.2_1778166677271_0.5052922412346372","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@agent-action-runner/mcp","version":"0.6.3","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.6.3","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"d41d48c962507553e0deb0812d0a83cccf8e27f8","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.6.3.tgz","fileCount":6,"integrity":"sha512-CaO0lcQ08HdAT2ZOais6Z+j7nezMvPxMDVofYEZfvd2KT/35sw7CK1kLSS14tQmXRiAjlRLjQUgj9seMRs/Bhg==","signatures":[{"sig":"MEQCIEG20cYp236/ZBRzdIsGJ8q9GD21YvcqdnTL4oiXsQTPAiBtAZJU/ctFgxq26jvyiXJs+1XA2ksy6eDwZSmRMCXLpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3f3c6ad854be65e7eb4f3b0aab6e1511854e62f7","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.6.3","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.6.3_1778331293671_0.5656157667138908","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agent-action-runner/mcp","version":"0.7.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.7.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"c593d21fdf3c47c2b00e18f48042d0aa0fda0b97","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.7.0.tgz","fileCount":6,"integrity":"sha512-RA+Snw/Z1ZahH3ReoOxntEth+8cXvquxakVGOKud+RMu2xPUQ2XPI1r5GwR1BqGg3vtfG7llj0dh4VUo13cQww==","signatures":[{"sig":"MEQCIBXxw0F/DEFlP3Nybur6wOTQp5LM9QXd6YuhJeAMykoGAiADSfxDYXZtzgxvZI/JOUU4CKQFdgg4oteIw1awac5h2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f1f5dcc52c7f21d1dedd8e597dfd700f804da07","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.7.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.7.0_1778336342526_0.28630794353174016","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@agent-action-runner/mcp","version":"0.7.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.7.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"a3a4f9c29bc14a3ff8ded8b3d1fe9ae3991e3ef5","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.7.1.tgz","fileCount":6,"integrity":"sha512-AjmPONrlcqup4YZkgpIsaRh1j+NpZ1fvkd4N32cENx8yKspXH5XVJ6H+NZO73CddNdUb1Z3OA/vtMryZPJqVLg==","signatures":[{"sig":"MEQCIHqnI7QVn8q1Trh4PU40eqfQ/yG79RgtNmECVKVJa4rkAiA45kX/bO+xnmebouMNVutLo546nOBHSlfcKWru/IcKAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c18d5415a7ae6cc17ec42a90b487da065264993a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.7.1","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.7.1_1778338689361_0.09826091137224702","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@agent-action-runner/mcp","version":"0.8.0","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.8.0","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"8c1d675436948d0943e2c94b23b6a2f0cc0cfdaa","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.8.0.tgz","fileCount":6,"integrity":"sha512-+eEfJRkdsWdeOQUr9jFUtxFcxhjjvfmdnOQS6lLa62k+qSKi+flud8vnf42EZVnwfB+5u5RnDmclDwxuzizZnQ==","signatures":[{"sig":"MEUCIQD4ZRqlG5IXWNA1GOZ/pDNLNwLs3tguaW+0PIsESJ7BhgIgeoTmbuZO0YiqZeH5qiHctyJeAMrrNf4GJGORJrGk0JI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33292},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"14ef4cec8048f5d88007e346f50f5ede46b093ab","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"file:../core","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.8.0_1778340988682_0.6645297639540038","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@agent-action-runner/mcp","version":"0.8.1","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"author":{"name":"Doompy"},"license":"Apache-2.0","_id":"@agent-action-runner/mcp@0.8.1","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"dist":{"shasum":"e20fe525b073def456f30386afc9a475b325f204","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.8.1.tgz","fileCount":6,"integrity":"sha512-8tRYtMmxgN2xE/GJWyHYASvF7FYGD7becBJuJRW5vb1bPMRcPR4OeShGTvZ5Wz0ISxcM87NChm0JS2qEByMlAA==","signatures":[{"sig":"MEUCIQDXqBIx0MNSKvIFD5mDcusYcQ0Ay8Z4XpaAi2B5r492WQIgQQr0S/1IvzXGkot3NzKp20WQj48VDVL3hwT3/zO79bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"778ad68e7a72b20643f9e80566041085c46b27c2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build --workspace @agent-action-runner/core --if-present","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"repository":{"url":"git+https://github.com/Doompy/agent-action-runner.git","type":"git","directory":"packages/mcp"},"_npmVersion":"11.11.0","description":"MCP exporter for Agent Action Runner.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vitest":"^4.0.14","@agent-action-runner/core":"^0.8.1","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"zod":"^4.0.0","@agent-action-runner/core":"^0.8.1","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.8.1_1778343919010_0.6107729036793921","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@agent-action-runner/mcp","version":"0.8.2","description":"MCP exporter for Agent Action Runner.","license":"Apache-2.0","author":{"name":"Doompy"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/Doompy/agent-action-runner.git","directory":"packages/mcp"},"homepage":"https://github.com/Doompy/agent-action-runner#readme","bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"engines":{"node":">=18.18.0"},"publishConfig":{"access":"public"},"sideEffects":false,"scripts":{"prepack":"npm run build","prebuild":"npm run build --workspace @agent-action-runner/core --if-present","build":"tsc -p tsconfig.build.json","pretest":"npm run build --workspace @agent-action-runner/core --if-present","test":"vitest run","pretypecheck":"npm run build --workspace @agent-action-runner/core --if-present","typecheck":"tsc -p tsconfig.json --noEmit"},"peerDependencies":{"@agent-action-runner/core":"^0.8.2","@modelcontextprotocol/sdk":"^1.29.0","zod":"^4.0.0"},"devDependencies":{"@agent-action-runner/core":"^0.8.2","@modelcontextprotocol/sdk":"^1.29.0","vitest":"^4.0.14","zod":"^4.1.13"},"gitHead":"37be6f225af7711a54c4d0ed8e315f8c82124d8f","_id":"@agent-action-runner/mcp@0.8.2","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-fkBUgnv/3BVYxW/vn0n60UGDFHCXarL+eK6JBCJUFi8uy6ZsUWiiKUmEzji7O1Er2S1NKPcex+nwUKLzOF6b7w==","shasum":"3829d25f5b807926547b77685d91e218e0764620","tarball":"https://registry.npmjs.org/@agent-action-runner/mcp/-/mcp-0.8.2.tgz","fileCount":6,"unpackedSize":33286,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-action-runner%2fmcp@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqtiBvNHUYJk7aO+rYv3ReunyKaJ71DIU+YrX1EUPnpAIhAKrNHfuv0GBz4vP50yn2yCwHwnOi2z2dCpN0ypYB5iUa"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ace9e8d-8ef8-4bee-89c4-2ff4fb0ee6d9"}},"directories":{},"maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.8.2_1778383423310_0.6008790096521146"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T11:53:10.810Z","modified":"2026-05-10T03:23:43.800Z","0.3.0":"2026-05-06T11:53:11.066Z","0.4.0":"2026-05-07T01:06:41.636Z","0.4.6":"2026-05-07T02:55:11.544Z","0.5.0":"2026-05-07T04:53:42.591Z","0.6.0":"2026-05-07T13:19:48.631Z","0.6.1":"2026-05-07T14:40:00.301Z","0.6.2":"2026-05-07T15:11:17.449Z","0.6.3":"2026-05-09T12:54:53.837Z","0.7.0":"2026-05-09T14:19:02.733Z","0.7.1":"2026-05-09T14:58:09.515Z","0.8.0":"2026-05-09T15:36:28.818Z","0.8.1":"2026-05-09T16:25:19.132Z","0.8.2":"2026-05-10T03:23:43.468Z"},"bugs":{"url":"https://github.com/Doompy/agent-action-runner/issues"},"author":{"name":"Doompy"},"license":"Apache-2.0","homepage":"https://github.com/Doompy/agent-action-runner#readme","keywords":["typescript","ai-agent","llm","workflow","agent-workflow","tool-calling","mcp","approval","audit","dry-run","human-in-the-loop","zod","nestjs","express","fastify"],"repository":{"type":"git","url":"git+https://github.com/Doompy/agent-action-runner.git","directory":"packages/mcp"},"description":"MCP exporter for Agent Action Runner.","maintainers":[{"name":"doompy17","email":"brillarrz@gmail.com"}],"readme":"# @agent-action-runner/mcp\n\nMCP exporter for Agent Action Runner.\n\nUse this package to expose registered Agent Action Runner actions as MCP tools while keeping the same schema validation, mode checks, approval hooks, policy hooks, and audit hooks from `@agent-action-runner/core`.\n\nBy default, only `read`, `draft`, and `dryRun` actions are exported. `mutate` actions require explicit opt-in and approval gating.\n\nThe exporter exposes your registered API boundary as tools. It does not execute agent-generated TypeScript or arbitrary code.\n\nExperimental / pre-1.0.\n\n## Install\n\n```bash\nnpm install @agent-action-runner/core @agent-action-runner/mcp @modelcontextprotocol/sdk zod\n```\n\n`@modelcontextprotocol/sdk` is a peer dependency. This package returns an MCP SDK `McpServer`; you choose the transport.\n\nZod 4 is required for MCP JSON Schema serialization. Core actions can still use Zod 3 for execution validation, but actions exported as MCP tools should use Zod 4-compatible schemas.\n\n## Quickstart\n\n```ts\nimport { createRunner } from '@agent-action-runner/core';\nimport { createMcpExporter } from '@agent-action-runner/mcp';\nimport { z } from 'zod';\n\nconst runner = createRunner();\n\nrunner.registerAction({\n  name: 'math.double',\n  mode: 'read',\n  description: 'Double a number.',\n  tags: ['math'],\n  resourceType: 'number',\n  riskLevel: 'low',\n  inputSchema: z.object({\n    value: z.number(),\n  }),\n  outputSchema: z.object({\n    value: z.number(),\n  }),\n  handler: (input) => ({\n    value: input.value * 2,\n  }),\n});\n\nconst server = createMcpExporter(runner, {\n  getUserId: () => 'local_user',\n});\n```\n\n## Stdio Server\n\n```ts\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { createMcpExporter } from '@agent-action-runner/mcp';\n\nconst server = createMcpExporter(runner, {\n  getUserId: () => process.env.AGENT_RUNNER_USER_ID ?? 'local_user',\n});\n\nawait server.connect(new StdioServerTransport());\n```\n\nDo not write normal logs to stdout in a stdio MCP server. stdout is reserved for the MCP transport.\n\n## Export Rules\n\nDefault behavior:\n\n- exports `read`, `draft`, and `dryRun`\n- skips `mutate`\n- skips actions without an `inputSchema`\n- skips actions whose input schema cannot be represented as an object JSON Schema\n- sanitizes tool names by replacing unsupported characters with `_`\n- resolves name collisions with deterministic numeric suffixes\n- includes action metadata in tool descriptions and MCP `_meta`\n\nExample:\n\n```txt\ndelivery.searchJobs -> delivery_searchJobs\ndelivery.dryRunRetry -> delivery_dryRunRetry\n```\n\n## Mutate Actions\n\n`mutate` actions are hidden by default. To export them, you must explicitly opt in.\n\n```ts\nconst server = createMcpExporter(runner, {\n  exposeMutations: true,\n  allowedModes: ['read', 'draft', 'dryRun', 'mutate'],\n  getUserId: () => 'operator_1',\n  getApprovalToken: async (context) => readApprovalToken(context),\n  getApprovalContext: async (context) => readApprovalContext(context),\n});\n```\n\nEven when exported, mutate tools still run through the core runner. Approval hooks and policies still decide whether execution succeeds.\n\n## Server-Side Context\n\nThe exporter does not trust user identity, allowed modes, approval token, approval context, or metadata from tool arguments.\n\n```ts\ncreateMcpExporter(runner, {\n  getUserId: async (context) => {\n    return context.authInfo?.extra?.userId?.toString() ?? 'local_user';\n  },\n  allowedModes: ['read', 'draft', 'dryRun'],\n  getMetadata: async () => ({\n    source: 'mcp',\n  }),\n});\n```\n\nIf `getUserId` is omitted, the exporter tries metadata keys such as `agent-action-runner/userId` and `userId`. If no user id is available, tool execution returns an MCP tool error.\n\nFor retry-sensitive tools, derive idempotency keys on the server side. Client-supplied tool arguments are still treated as action input, not trusted execution options.\n\n`getIdempotencyKey(context, action, input)` receives raw MCP tool arguments before core input schema parsing, defaulting, coercion, or transforms. If the key depends on normalized input, derive it from a server-side approval context, session, or dry-run store, or reproduce the same normalization explicitly.\n\n```ts\ncreateMcpExporter(runner, {\n  getUserId: () => 'operator_1',\n  getApprovalContext: async (context) => {\n    return readApprovalContextFromSessionOrStore(context);\n  },\n  getIdempotencyKey: async (context, action) => {\n    if (action.name === 'delivery.executeRetry') {\n      const approvalContext = await readApprovalContextFromSessionOrStore(context);\n      return `retry:${approvalContext.resourceIds?.join(',')}:${approvalContext.dryRunHash}`;\n    }\n\n    return undefined;\n  },\n});\n```\n\n## Tool Results\n\nSuccessful tool calls return both `structuredContent` and a JSON text fallback.\n\n```json\n{\n  \"executionId\": \"exec_1\",\n  \"actionName\": \"math.double\",\n  \"mode\": \"read\",\n  \"output\": {\n    \"value\": 4\n  }\n}\n```\n\nRunner errors become MCP tool results with `isError: true`. They do not crash the MCP server.\n\n## Diagnostics\n\nUse `createMcpToolReport()` when an action is not visible as an MCP tool.\n\n```ts\nimport { createMcpToolReport } from '@agent-action-runner/mcp';\n\nconst report = createMcpToolReport(runner);\n```\n\nSkipped actions include one of these reasons:\n\n```txt\nmodeNotExposed\nmutationNotExposed\nschemaMissing\nschemaNotSerializable\n```\n\nUse `createMcpToolCatalog()` when you only want exported tools.\n\n```ts\nimport { createMcpToolCatalog } from '@agent-action-runner/mcp';\n\nconst catalog = createMcpToolCatalog(runner);\n```\n\n## Public API\n\n- `createMcpExporter(runner, options)`\n- `registerMcpTools(server, runner, options)`\n- `createMcpToolCatalog(runner, options)`\n- `createMcpToolReport(runner, options)`\n\nKey options:\n\n```ts\ntype McpExporterOptions = {\n  serverName?: string;\n  serverVersion?: string;\n  exposeModes?: readonly ActionMode[];\n  exposeMutations?: boolean;\n  allowedModes?: readonly ActionMode[];\n  getUserId?: (context) => string | Promise<string>;\n  getApprovalToken?: (context) => string | undefined | Promise<string | undefined>;\n  getApprovalContext?: (context) => ApprovalContextOverrides | undefined | Promise<ApprovalContextOverrides | undefined>;\n  getIdempotencyKey?: (context, action: McpIdempotencyActionContext, rawInput) => string | undefined | Promise<string | undefined>;\n  getMetadata?: (context) => Readonly<Record<string, unknown>> | undefined | Promise<Readonly<Record<string, unknown>> | undefined>;\n};\n```\n\n`McpIdempotencyActionContext` contains public action metadata only: `name`, `mode`, `tags`, `resourceType`, `riskLevel`, and `deprecated`.\n\n## Examples\n\n- `examples/mcp-stdio`\n- `examples/mcp-admin-ops`\n- `examples/cli-basic`\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}