{"_id":"mcp-server-sfmc","_rev":"53-40344d7972dee69ad64d35106f51f45f","name":"mcp-server-sfmc","dist-tags":{"latest":"2.10.0"},"versions":{"0.1.0":{"name":"mcp-server-sfmc","version":"0.1.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"204f7280af1c3706d37407770508f62b26f195df","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.0.tgz","fileCount":6,"integrity":"sha512-SRttBCzPtAZlyKt5NIOwoJaKUTG4kaMBpaEA/SoyZkUa4q1uc5lB0h3FBTktKK0XgGXm6K6Fm+d4SHUSDV9Gng==","signatures":[{"sig":"MEUCIQCGJfD1wih4s0a8sR62ZAf9XC6t0iWJFUVO3p1MGkG97gIgQ8ndUQ3Y/61M7wXhjDet875eQGXn1R4T2zpPUBRV/6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59914},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"ccddb78375021d4b92927f111dbf364dc1c95a66","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js"},"_npmUser":{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.2.0","description":"MCP server for Salesforce Marketing Cloud — exposes SFMC language intelligence (AMPscript, SSJS, GTL) as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"sfmc-language-lsp":"file:../sfmc-language-lsp","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.0_1775470343055_0.9807752529401861","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"mcp-server-sfmc","version":"0.1.4","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.4","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"a5ae6258d3cf26ffbf4959a661fd4dce6cb22298","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.4.tgz","fileCount":6,"integrity":"sha512-cwhIamxoHN7nnM0OJEbumkYm7TzVYp84vrjRQeuUqhM6k8O7A0UOvM3rNrCaz8/vwhAaSl9Eab0vgnqfoz5anA==","signatures":[{"sig":"MEUCIQDLmbvNQAxNnHN5qdmaVjyH/fW3HQ3elU8i8+YKMwsStwIgBHccboXKcesnncAPWOsYNU3kcv9u4OaCzyynjJTjw8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"0f02da300e36df56f1c4c911ff591ba2436915e3","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for Salesforce Marketing Cloud — exposes SFMC language intelligence (AMPscript, SSJS, GTL) as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.4_1775478566918_0.29157620697984266","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"mcp-server-sfmc","version":"0.1.5","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.5","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"f31859c3d1e2558f7728cbf5803ec168dd831ed5","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.5.tgz","fileCount":6,"integrity":"sha512-Y132i2hVkcR1Ix8OS9Hqhva+xFC1mhpmd9TblPb+sOaJ4FpjJTsCch+phETF0ZJcI9H8bzlBZZbYy2GFZwhe5g==","signatures":[{"sig":"MEUCICwW70xxdi9YBLn1wf5Sbvg5IuYF5NTvF2TKEdV0b919AiEAntHFAkYVrRNXd6JWG+gC+OgEOZRmiQl7ZYSa0ZMX2MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61564},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"b05c2a4406a8dbe08405b89157164d4ea7b978b2","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for Salesforce Marketing Cloud — exposes SFMC language intelligence (AMPscript, SSJS, GTL) as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.5_1775482545115_0.5662246100656301","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"mcp-server-sfmc","version":"0.1.6","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.6","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"8cdad66005e6b673156a8c38c4f7cc786143a08d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.6.tgz","fileCount":6,"integrity":"sha512-bJMvBoKE2yXF6tHW8aZNHpPexnhIWNkpUHyhuWBrDnXTFCHt6q0ppWI5eKObZHHHm+vE5HkGYoF93PdLcGMa1A==","signatures":[{"sig":"MEQCIBpSgO8lcTS4Rn3MXYAJV/NWpMwZGNPMRu+GODUoE3iMAiBj6M5ahBR7KhG/pGMIZo03BWgUgNXSlyGOrNpzp60B7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62819},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"c8e9ee4eddd651d4a6f4e7c947537dbfcc5f720f","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"MCP server for Salesforce Marketing Cloud — exposes SFMC language intelligence (AMPscript, SSJS, GTL) as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.6_1775485591798_0.852949944836513","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"mcp-server-sfmc","version":"0.1.7","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.7","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"e6e5fb715e389aa4faed18ddfdcb451b057be88f","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.7.tgz","fileCount":6,"integrity":"sha512-2BgQhcZ14BnorEqQjWSBmAW2khXXwmEX0NCQJsORgESg3KAsuGWEFEU4qlCpJI0KogQ/J+IBjRvNJeXUFWivPQ==","signatures":[{"sig":"MEQCHyV7A8W1spbV7XzotClvAjT2GIUSQQXQ1/o9aao0OuoCIQChHsumwNYFYRTM87Xcp/zJ1mrwusy5Rj2Zgo5GYiLR1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62690},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6fef771aec6611a24e74f243d1b85babdaac28c6","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript, SSJS, GTL: validation, lookup, review, and prompts via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.7_1775485782244_0.8249837367413246","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"mcp-server-sfmc","version":"0.1.8","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.8","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"97e369a91b8c5eac47ff321bbfcfa774ab7559c2","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.8.tgz","fileCount":11,"integrity":"sha512-NCdcXCUdu2aKeot0dFtcX6SYT7nzL0qUfuNnH1H1k40dMAB2i0NViNMOL9tV2OPc+QrhjD0em3VuLVWUif71dQ==","signatures":[{"sig":"MEUCIQCWQiAGkp6uKWT15Qpnv536aq46csiTPwyhtunksUqlFgIgQsxQ4eLgR9I/hwyroOLmzrPbO2QDCihe+YHR2JHH5OU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":465933},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"0d3eacf9d057cd208ac7fdd8f1face4517dd7c36","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","pretest":"npm run build","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.8_1775497101944_0.7690204876236679","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"mcp-server-sfmc","version":"0.1.9","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.1.9","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"d37e9aa39d00814875ce3a15d681c32c4472dfa7","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.1.9.tgz","fileCount":11,"integrity":"sha512-Zo39Yk80Jq3LzxEqFd0bQsvnIPhD/26fdfH8Z0EFvo0wOsdoNx/vGeMB1dqowGFuyGXb9ZFooca8BmzwfOYKWg==","signatures":[{"sig":"MEUCIQDiXz34/RfOzWxuw3bN7/mL+GRNXD5aJfV2k/XL0e1j+QIgMdJUvQF1hcjkvmocf5KQhMLQwn14yrv4gsLkGTU5tWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470366},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"f9d42f8579fcf792c37fd56084385c2c56443ea5","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","pretest":"npm run build","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.1.9_1775587683021_0.6526936049257708","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"mcp-server-sfmc","version":"0.2.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.2.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"7c5c422a847ff2bdc7156bb229944ef0a0216041","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.2.0.tgz","fileCount":11,"integrity":"sha512-3O1gY1odC0MTs2UMIyZ/TyLfyk6Ce3kJr9g47TXeOO2naHwvZc4Aj2y5mzodGx6BxK6yGLCf0QDU7EgXLsiFbw==","signatures":[{"sig":"MEYCIQDb4KPm3v+aQxLdneH8e0ti9CSmr5Et3l0MfW+k6udBrAIhAKi6cC3XpkwO0cT3Hq7xrpcQrBeL8cEClCIWq84TDAFf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2652424},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"f10c3a86984b2b9b013cba94e024e577e248bf0a","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","pretest":"npm run build","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.2.0_1775587998428_0.6704181698943914","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"mcp-server-sfmc","version":"0.2.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.2.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js"},"dist":{"shasum":"983dc08dc8437d6dacdf48a131b8dd988accd8f5","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.2.1.tgz","fileCount":11,"integrity":"sha512-qicJKgZD4dRLSejyZNgaLcu+sl6InYq5+8MhUoyL+zNlIppLErnbY9bfq+ZUauV1cSCWKLbBmXcAUoDMciePNg==","signatures":[{"sig":"MEYCIQC6UW1uv9gFhh85NjGaLNysg+50gTsb6c+7ofbm1zMtCQIhAK0OUIKIbuYeZmklB6SXubsX/R3iMdY6NTHyigbEc9cd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2652487},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"ac5a9e221509071f20b2e9c167aaf06ba35c6b64","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","pretest":"npm run build","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.2.1_1775602415351_0.9330059133740249","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"mcp-server-sfmc","version":"0.3.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.3.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"dd1d0f553bb72649d12017e59c862502fa2276a0","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.3.0.tgz","fileCount":24,"integrity":"sha512-4pEgsbeBML5uAmSXn2WT727yAA5u8iSWm8f7WLjjTrDfWdnucDl6BvI0MiOM+JbNBxQUNJZ4lmdf5y6qfkU8QQ==","signatures":[{"sig":"MEQCIHLfbde8jxZ9WQCmpjqeGIYTd3NNVC2/+0qyA2CP0EypAiAK4kPttcWpY5YHmNO+b94zoHNC0dias8GFDww9NVKGvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2686540},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"e080f576465d42c845181b5e8169045ec3b3e78f","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","pretest":"npm run build","review-diff":"node dist/cli/reviewDiff.js","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.11.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"sfmc-language-lsp":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.3.0_1775647678850_0.14738734859640057","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"mcp-server-sfmc","version":"0.4.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.4.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"29d29d7338d29dde65cce217b492c9e9a07f289a","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.4.0.tgz","fileCount":24,"integrity":"sha512-a0ybZT4EE3OXnn1hWx3xFVwQhg5/s0maWZprkcGN9De+TGc1wzfxUOl03kau42sKOUj1X43eetNJ6l9A+K145A==","signatures":[{"sig":"MEYCIQCayRbmLopa5E8tquf34SCQYr98IpKgpiuC2EOpxqjw1AIhAMfXsB5TWyCXF3f6VMs152tjdQzmC0P1aDlXyQ35IA2S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2689662},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"56b365fcc624eab1c8d153321a9e5100c74c39a2","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.12.1","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"sfmc-language-lsp":"^0.2.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.4.0_1779285739017_0.3339911339919299","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"mcp-server-sfmc","version":"0.4.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.4.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"0bc4071ef40d29a404ba45f2d78ca2688407bb2f","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.4.1.tgz","fileCount":24,"integrity":"sha512-gMEQGBLULhqDL16XYs9fsf3XKxIheq9+xWXL+XdvQsrjZM4aS1RrzsbeYykI++yA+dZSy0ETj0WX0pn+g7rhVw==","signatures":[{"sig":"MEQCIFAXDUFIwf1fI+cs8mKJJ1gtscrUdJxcc4RLzEDJ+y6sAiAkeWAnGzKBd34/gydrZMiI9rf3Nf3d8qiVHQySFkN/VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2689662},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"dfdeca4ff31405da349211d23c1cecb56aecc952","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.12.1","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"sfmc-language-lsp":"^0.2.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.4.1_1779473609589_0.6149316097852555","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"mcp-server-sfmc","version":"0.4.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.4.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"c08215796c89fe567621486d29682cb94633707d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.4.2.tgz","fileCount":24,"integrity":"sha512-PbsRphkBiA6Ifw1N1ccusCnp6B6Ux00SJRRpIhQQdKawtKEoKIpM0SU3vTEYpals1FWB7woD19/kiQFv0sfZvg==","signatures":[{"sig":"MEUCIFFAEsRWA93hOii13+FGUjpvDPTlO2ppOPtEex4JQY9bAiEA1isUr2Cy4UWfMbQq7ir7NNrLpNIYRWZiNsWjdWampkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2689662},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"fd1e7d38944a09d905898f4a41a656fb2f5a0ded","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.12.1","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"sfmc-language-lsp":"^0.2.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.4.2_1779480903205_0.02921152870624999","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"mcp-server-sfmc","version":"0.4.3","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.4.3","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"b2755c9c6e025c44089616f8c54aabc14ff730f3","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.4.3.tgz","fileCount":24,"integrity":"sha512-DwG2lTY3NIpXWpagGsPBtGy7ej6G0Sw1MiH9doqOJPOXs7pUaBy+CwkmT7PlPUFFI8szMX4JYFaibe2+rWUyCA==","signatures":[{"sig":"MEQCIHfansGhEoxaYnjokQ9sKUywDxbE4Ot3OXiWU7MjQadnAiBfekd57ci4KAHu156/yUvxRC2/mgHLaUkGcW3+HybAhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2690067},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"ff22deb0d5f05afb421070c7ebb8c77e9aa63e39","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.12.1","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.15.0","dependencies":{"sfmc-language-lsp":"^0.2.7","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.4.3_1779667272205_0.12988190707157665","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"mcp-server-sfmc","version":"0.5.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@0.5.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"205e05135c454ddacdd9e0bc10b11af0a5109657","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-0.5.0.tgz","fileCount":24,"integrity":"sha512-tejlrTDsMqn1c3M+u7qZuejPwReYz9Yr0TJFGIGi4jSMrBfNHGUtkStAaRkh1TOTWTqzGbBm2dfdK9Paw10qFQ==","signatures":[{"sig":"MEYCIQCkiCH22z/dnLM4hFYEITE9Jx/Lm0urDZAgqAYFTUfaiQIhAP8qZqWA0iyXLS0gk+L1UNKb/1FakZld/7LiZtEykxar","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2690091},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"bbd2bce117a4c09caa228718eeea63fc865a2cd7","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools and searchable Marketing Cloud Engagement help (MCE vs Next scoped) via MCP.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"sfmc-language-lsp":"^0.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_0.5.0_1780424733016_0.6159799274729454","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"mcp-server-sfmc","version":"1.0.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.0.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"6f1f0e0f261b71c8b4d52079b495ae3358a1ea04","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.0.0.tgz","fileCount":33,"integrity":"sha512-VKSe2C1IDeoM3xq31bi3Q6egEjw7C9sZD5Sozun8ubknqk/RyzCWwUKRsbBxBkH6IIEF4kG/uJ8u5lCz1A2CWw==","signatures":[{"sig":"MEUCIQCoByF5FI8ouIRqKRUXQAQbYiLFk4HSvOY6ehyV55vDKgIgG8QWNjqYINZ+4kjzuiU+zX/og/wOAkyzwAdiS7TNxUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2926508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"d2a231ffe985b8c20b559636b64d8481feaba1e8","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"sfmc-language-lsp":"^1.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.0.0_1780725550291_0.28629476836035805","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"mcp-server-sfmc","version":"1.0.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.0.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"93d2edc1f169c8137e0944a42295a06eaa2ca852","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.0.1.tgz","fileCount":33,"integrity":"sha512-muWaiwKMiTjBdQPGjSucH+zMTRFcdvKtq58z62OXS/kydJGSAjrT9+r851DXd0krmZq3ZBA3AsU+LKwEva2bnA==","signatures":[{"sig":"MEUCIAzreOtVE3ukx5jEU12K0DFlVmx3cLbNuB29QfPQ0P0QAiEAz1QhnQIE/I6U1eDQfyobPgbTBbaQiRjXqemJ3K+iJ8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2926508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6dc11df80bcc022b979efa396dc57a593fdcca4c","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"sfmc-language-lsp":"^1.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.0.1_1780767918999_0.6100440045609568","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"mcp-server-sfmc","version":"1.0.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.0.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"4842c586dab96a9ef252187d49ee2197d6ff7cb6","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.0.2.tgz","fileCount":33,"integrity":"sha512-7Tj11jCaWj+ed0CTlvJ4b4jxSzeo+OD0HoZGsZtegT5uQEwuVtpbl95s3m6Nv+o7j2RNRsIGqH9mOS3HAmNBZA==","signatures":[{"sig":"MEUCIQD77pWUI4+TWHI22idsu/buKmSdbvT+kKns3bxGvXiKPwIgbPx3nhg9lJ8ziyR3buGts4O9pw9jj6hX0+sxsdKP4zo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2926508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"407a4f8ed2b9e35c804de0d98bcea8482a0d7698","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"sfmc-language-lsp":"^1.0.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.0.2_1780772966026_0.5578803862484845","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"mcp-server-sfmc","version":"1.1.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.1.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"365c290dd99134670656c45ece180f6501ca1f4d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.1.0.tgz","fileCount":33,"integrity":"sha512-6Gomp08bBqmGU27+uNDJQrrdO67e8w+COiDLgIK1qYNOZ5fvRYLF2OdQpDqOzmBIoqb+yK569Yhps+ye4lXI2g==","signatures":[{"sig":"MEYCIQDVxthemG/F1vUxTT3p/jLX8nNF1OqE2hbMS9zE5QsNMgIhALqZV0tM+oTTh+jKf1al25zdNsN05DIdDeFA+gHxcSTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2937867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"721313a92a552df67f3bfaf62cdd30da002e6a79","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.1.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.1.0_1781452895882_0.6624202269992956","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"mcp-server-sfmc","version":"1.2.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.2.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"ae5277f6cbf92eddd505bea990c6f3582b079022","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.2.0.tgz","fileCount":33,"integrity":"sha512-5/y5RZkhjUdVstnKK4+1q1zrgH6n8p9773qAydeRyVQLAdynwjwxcq++CcRWhDSxcDB/jh+GvGcFYuFgexrJQg==","signatures":[{"sig":"MEQCIDQM5yYyTRi5izx5QDhQHFJSeOuw31FZVOf6GNHFUAV6AiBhWVlloO+7BkNXW7yaGD4iduM1/EDlhheobYFRi2pHUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2937867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"fde57b3bca62ea62bcc7d7b4b857dc6aa4dbe4c1","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.2.0_1781516086552_0.7669388060769209","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"mcp-server-sfmc","version":"1.3.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.3.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"97bae492f069ae6141ec19c4d3cf7d6aa83a57b7","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.3.0.tgz","fileCount":33,"integrity":"sha512-GwJQBMcVJU9DkPx8fkFp8S4qr5WKy/1jlWD7MQoSUHUlGB8rOx/wXPmNodEGgjScYttewtX8I5kK2jt5wGbx4w==","signatures":[{"sig":"MEYCIQDNPpWVqBkgfqBm4V6M/G9ULxQNFChigBcNGHDNbQud3wIhANz+Wm+vYHvMiKDBLZuTfFjgUVnrnMQDz2iT9dLoN6Ch","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2937867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"93a96073c353e20a395a4525ca7d9c60e6c6e4a0","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.3.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.3.0_1781560251255_0.5204339387639021","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"mcp-server-sfmc","version":"1.4.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.4.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"79924298841603a91fbf3e18641cc1e755e044ab","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.4.0.tgz","fileCount":33,"integrity":"sha512-GPF4x8nMi3Dba6zxdXAY/LsmshjK9Mk8HLUVuUu4ctG5QIz3zCzCaQGp6akMIcJRZWrR3RaVKi4K6peYYJmzFw==","signatures":[{"sig":"MEQCICL/wUD1m3z2puDa5Pj3750wazrWPJdiSAWL1Qi/ovreAiANSvU6QXk9Wjzk1ZpF+RWqKZcHsD3IF5eBzZjXuHYSjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2937867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"285689e55061b4c36bc1afdd7e42f6310d4a1954","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.4.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.4.0_1781590090518_0.8080144177967374","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"mcp-server-sfmc","version":"1.5.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.5.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"48e72968614f5cd514f48dab0256037ba65b9015","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.5.0.tgz","fileCount":33,"integrity":"sha512-7flvgCMgu6Co/5yftSjp3TdcZBRtYX0433dfcKdYTFLj+xFgbSAyFFmPJwC/Sw+wKQcF8mfARF4E4zgJq0kEVw==","signatures":[{"sig":"MEUCIQCapNk8LdOHm/KYExI8NwNA96zJo/oU3A3C+GaXyqNpagIgfLwfri6P3bnJ0+7jj71rxPAMoN7rchVzh2Pg8lN3L68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2938150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"0fbca70aa991f7d0293925827ea4b93589b624f6","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.5.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.5.0_1781621527157_0.4205436017545452","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"mcp-server-sfmc","version":"1.5.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.5.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"3f1b163fee8f3e0b94f9842035a3738a0be8b342","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.5.1.tgz","fileCount":34,"integrity":"sha512-1NQRFGArjvSxbx22x6liUWXZa1yH5WYEaSex3Ja20XFhZbZaJz0pVWNV00lhOYMv5dn3CR0CHT8yKDzwR3Rxcw==","signatures":[{"sig":"MEUCIFc6inN/MekFULO9pBykafF4fylcVyOO9j2SXNQqvg6XAiEA9+KSQ2h8NUx7ECS8LG23S3FI4RojNuMCHSj1e3+LIQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2959026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"1e4169994a5cab4f2d22fc62cbcd75323e5b4cf4","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.5.0","sfmc-language-lsp":"^1.5.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.5.1_1781718436768_0.9362467546453279","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"mcp-server-sfmc","version":"1.6.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.6.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"e25c3c3ccc0418f91829a0a3496823f4e007abfa","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.6.0.tgz","fileCount":34,"integrity":"sha512-SxO2JwBCEQ1kJSE9xkLXvcQbCcoZbzKamXFDe+LVG8XYHdPdYFvdupn/QJRtMjuJRLx/LIXJegYV4NRLxV9A4w==","signatures":[{"sig":"MEQCIDjc4VNjML4JzLl7uPb5y8ulKP8rfFcJnQ5jrKlYbCTXAiAipLHAMObEMT7JTT/dTP7uWPaRYdWGff6y+eCA0T1FCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2959026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"705609bb7578cff52fb8ad38183b1bb6deaffee9","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.6.0","sfmc-language-lsp":"^1.6.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.6.0_1781787112020_0.0341761122823403","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"mcp-server-sfmc","version":"1.7.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.7.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"e72a9f7d7cee6fd4aae42dd007e0497be9cb2dad","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.7.0.tgz","fileCount":34,"integrity":"sha512-iE377qZ8kjN8wtbBHF4PHp0mJBZmBfeAVFfuO8oJMsMNBoucWnhhzNpuxHuC+/r4pbxXVvoz8glkTKwrPvrOJw==","signatures":[{"sig":"MEUCIArRZ6XIlsJoezDk9O4nHt1G8hANk5wpfjsOzhWXZGnkAiEAtYB2KlX327WT1VbwUHwJPX9s/qAi1fRBtR/BLXScHpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2959026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"c9d0d5b074e437492a5705d180e55a09ab323f37","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.8.0","sfmc-language-lsp":"^1.7.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.7.0_1781824758682_0.8421664340886292","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"mcp-server-sfmc","version":"1.7.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.7.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"f8a68877b9e98d6e32bc1d3eb561030026541d14","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.7.1.tgz","fileCount":34,"integrity":"sha512-6gU80ut3fsHLv5LLl0vlYBloek0BD/Ub59Xfbrw924Mwtq2HVoVwmJ0LOqAnlpovBvCGuKT72k7o+yJhEEX1Vg==","signatures":[{"sig":"MEUCIQCIWAXtaDqt+oIC/i+tkvCXNj/+dy4hHYLoV6taSRclTgIgUY9bCn4UQIhgkO9ooLXRbtUvPKeQ42m+Gr14mtBeaVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2959026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"7ab0744b7cf13c81751e2f869f46bdc62e146a85","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.9.0","sfmc-language-lsp":"^1.7.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.7.1_1782022924944_0.681898083152888","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"mcp-server-sfmc","version":"1.8.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.8.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"5e1120cdf8806c93e8a195e0cd4644eaddd8faf9","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.8.0.tgz","fileCount":34,"integrity":"sha512-jSlNeQ3EJrl8j4cz5BTrKW2KjwDqcyuElCvpO67cWHaNiDacyGo2xdsNN3qsHG+pkBvYup7p2LsUBQOIA+F7sw==","signatures":[{"sig":"MEQCIE+SdQSPxFgJ4sXBvXFMliAvE/b3WUfUAKzjF+kNjKtdAiB1aXTpPgx4rY/smZyf2gV9pL4oHuprHUqj8y6X3c1MOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2959027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"aa8f9b72fb2181131669acd0c353969ae9476cd7","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.10.0","sfmc-language-lsp":"^1.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.8.0_1782202700340_0.29757956263068674","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"mcp-server-sfmc","version":"1.9.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.9.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"afd78be132187a975de15650810a521004d7c3ab","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.9.0.tgz","fileCount":34,"integrity":"sha512-D8TS74vP68ABT+xhbSjLD8EmEouLH7cddpu9k5ouNRwoNpHBFC9JbSUOuMPIT/lnbWjl4eRwhUO1GhVeXF9XWQ==","signatures":[{"sig":"MEYCIQCpl29eIRgDGZlxun9q7+1+Q0jow0Vs3S2/sHhK7EwaZwIhANqSXV+UJndbhMl5fzTddNJRo+jT4FcGnPghlhYGKfYa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2973598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"bccd90a195ffdc9ec25920017f20a6d8e5c34bee","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.10.1","sfmc-language-lsp":"^1.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.9.0_1782210920749_0.4504856576891505","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"mcp-server-sfmc","version":"1.9.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.9.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"724a21622efab38075016eec5f00e24bc53a96b9","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.9.1.tgz","fileCount":34,"integrity":"sha512-YxTn6fj/EUulsn3CgviDN18YLFBrd7ADwveQQACx5o63vvZZeR0vysPMndW403sLG/nQ+OvNXmdJ8PKCKVo5Mg==","signatures":[{"sig":"MEUCIQCb5YWNClv8+T/Pcew4rPG/67tMY4j6FEf2JUOvqKYDdgIgS+xVS1FGaV8IQ8s7RUAguxKr0OFwSYT8pi1bUpRNHb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2973598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"ebc276a69767e59aa5eb6bbd0eace505e2dedbd5","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.11.0","sfmc-language-lsp":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.9.1_1782230984871_0.707597623947505","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"mcp-server-sfmc","version":"1.9.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@1.9.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"b09b8177ebb5e75716300ab3ba45cbf24ca1bff7","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-1.9.2.tgz","fileCount":34,"integrity":"sha512-XSO0A7Z5SoCdbSKlHK29nSFMX5Gta1fS3H6rdH5RIgwllN1Al/vJ0C6ZxovlfYyG+BZuCXvGUpLQGVdfpeca+g==","signatures":[{"sig":"MEUCIQCxeKADAypEZTGuEXW9HCz38EAzeBdYxZnY78y2Gv5/fgIgbiWgeQ+fPEWuWYEwMT7NhHFDNf5D3BtWbJGZWciIl2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@1.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2973598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"2668448e7c01f107f15fe1392033d529947cd51c","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"ssjs-data":"^0.11.1","sfmc-language-lsp":"^1.9.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_1.9.2_1782252940450_0.0027533084895696724","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"mcp-server-sfmc","version":"2.0.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","sfmc","salesforce","marketing-cloud","ai","copilot","code-review"],"author":{"name":"JÃƒÂ¶rn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.0.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"496804939db6f6c489b1b54c2b8e0a63ad1f4a35","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.0.0.tgz","fileCount":34,"integrity":"sha512-VkI9flNchd3gm9AMvL6qJ2U0IUHFrKgoa1vtkYTWC+wEor5vZAD3Ho35BDY29IcoedF23TPZrRwvfCpKsPiNCA==","signatures":[{"sig":"MEYCIQCHMCxcuwcRqgpVp0ZOb9xcpR+4hXvCWxPyvzpj6ErBdQIhAJC7UjDYvQPSj4dRNiL854yEJlU8D+N5OfU2iHnw0+2Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3056859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"1407a56b9f3e9bcecf6c4be49234e2c8a5c8a5fa","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.13.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.17.0","dependencies":{"ssjs-data":"^0.13.0","ampscript-data":"^2.1.0","handlebars-data":"^0.1.0","sfmc-language-lsp":"^2.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.57.2","eslint-plugin-jsdoc":"^62.0.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.0.0_1782755507110_0.8880593635586154","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"mcp-server-sfmc","version":"2.1.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.1.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"2c576c7ee4b5fece1eb26d8103d227c9b4d23416","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.1.0.tgz","fileCount":38,"integrity":"sha512-teja7pLzT/61LDW8Qa3kafzorD6J0YxnP7nkHM8ejD9bkNStmPkORYlF2shRvljoASJ7r2MgC7/s+tIMVHGQAQ==","signatures":[{"sig":"MEUCIF32izk4fl8QcCBfghv5e3TvM13c4dyesg5ileJKuXuhAiEArZdLzTmPOHMojDVA5idlDEHjT3N+chooE1va61XmjTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061582},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"b9ffca17c13eb59da1cd8c619209705b281a2c06","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^0.19.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.4.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.1.0_1784034231733_0.10620943351762979","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"mcp-server-sfmc","version":"2.1.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.1.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"c2e715ed19aa5857d4c34f7f5ce8a82e8d347194","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.1.1.tgz","fileCount":38,"integrity":"sha512-kzhWO5V21DiCr0L1dYOnENmaiJqR2kV/0ZZWqi5vNz5AOzpYwEK1Nm0VahZ0ZEXW7dg5AWtcwtya8NLuno9+kg==","signatures":[{"sig":"MEYCIQCfaQtDaVIA2Pw0/YMC6dzKJDElu0MMx8FcLiJl8gY+3AIhAPqtdKZ63vbj7INTbd+pcs3i/HL973qD2CbQ868ySmx8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061582},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"402c5dd985d1ee6ef6d55dddc52fbb525c07f5ce","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^0.20.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.4.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.1.1_1784305246839_0.6662959081021949","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"mcp-server-sfmc","version":"2.2.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.2.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"38fe726a94a5c920e0beba1b6d35e0c25cb688d4","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.2.0.tgz","fileCount":38,"integrity":"sha512-YnI1SIS1Pjs7M1fI1K4MCotuZIRjnlxDNouJRg1aI5P1NJzcdxraeq0GDCaXGVp9ADuUUnFzMb+dygMKnr1iAw==","signatures":[{"sig":"MEQCIC/bggKfDDh6BV9jkvTMcFEmslKQCpV4skk/+v9szYdZAiAvx02mSuB68jwRsoeZSiImQvqunHDrINFaEe0sQXKULw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061582},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6eb229379c7ef0caf301e5e5a3a826eb4c89f045","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^0.21.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.4.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.2.0_1784674464964_0.27049806482319694","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"mcp-server-sfmc","version":"2.3.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.3.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"c1dd67f6712cfcfaab4326484a594d6e69500851","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.3.0.tgz","fileCount":38,"integrity":"sha512-DwGwvUpLZiH1nrVQ1UETh5wkB+HAiSy5yag6WOmtUThK5CZuWfPdt4QN4y/FzS54xtq4/RJMaz8X+n48mFJZrw==","signatures":[{"sig":"MEQCIBKOYeTeQMeVY9KbUbprOZIYR/rHnbBuoWj6OZ//N0ZIAiAPk2GumlvANSq9H22mSOb32F0HQcfLqMoHeM+/AaRuBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061582},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"fa2106845ecaee0ff8cab355b7867800a5dd0248","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^0.22.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.6.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.3.0_1784821635322_0.2682389303081214","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"mcp-server-sfmc","version":"2.3.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.3.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"59645ab30550e28f2c3f410367a85445299ef62f","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.3.1.tgz","fileCount":38,"integrity":"sha512-bYppaY/aPEUPrAHFC+ASIkd+ri8zM0jIXXaw6jY89z9+qsR35pxEYDGzEoMIqC04gByaTZwmCIrflQtc0PYb2w==","signatures":[{"sig":"MEUCIQCOVNyT5gNfYwMBzhkdSS5N2YLPdKBrwoEY6oWbIKl6sgIgR/KCIgNlZ22yg50uAIvie/xBlb9x7WWXMJHnx1lpNVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"c8598590eba6e7760f2da0488e7a06aa192c9d4f","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.0.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.7.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.3.1_1784979208706_0.13347850364307434","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"mcp-server-sfmc","version":"2.4.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"e40481feed4e77e4978c60680a669840e83b9a9e","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.0.tgz","fileCount":38,"integrity":"sha512-7pWmSrrYMll7B0omobuLZ+z5USYBsHNzYwelbJsswbmwhPWUmc3GNNS3xfQ0h2vwPwOZQ956nMcpqFIhuA14Yg==","signatures":[{"sig":"MEYCIQDW6xoFVKVBbWzw88ncCKWkFOjyfQ2mUZAWXthIie0mpAIhAKwlWx0wrAYO6ukyCKRaasWcJ/l3ESEvchf0e1zhqnOf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"d3c44a9a81aeb786837d12002eb3acc2425b1c26","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.1.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.0_1785058871360_0.059421540019481967","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"mcp-server-sfmc","version":"2.4.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"da7d91ae07b1ffb5bfedb7921ae50787c12f9dd0","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.1.tgz","fileCount":38,"integrity":"sha512-mH4/Z+yXf9FJ4pjZcNRlx5m0geu4kqawqM5w0Oqe+MKJTQTobr9k/JUgMZprHCC5IseDNk0aUJ2EuIlaIzHQ5A==","signatures":[{"sig":"MEYCIQCEMVvVKwcT2QPalUtEPxkJ6VWyVvSawBqfOw2exfAN5AIhAMiuuboUZNX+b1afP0KkwNTkfHTEWauXzrMmik7y6m3r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"9147a4db308a79e1add8b3ced6e7fb2c4608bdb0","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.1.1","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.1_1785070543885_0.07242047006211116","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"mcp-server-sfmc","version":"2.4.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"6450925cc01ed8f2c00a8a505b1b58d2c890b782","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.2.tgz","fileCount":38,"integrity":"sha512-lGhgeuA3/jT0ecd31taieZ1MzVdYa/Kwi9FrCthIi6anOHueqLfs+gDa9ifUz9cNnMNAeYHe5gTQRvH07UT0kg==","signatures":[{"sig":"MEUCIAenJRNHuDfO2j/+qxEczjTkJr7KuiQTFRBBEzenK6igAiEAyoDaJzDoiy7NbdhWQeJAmGypJ+mTmhvhy0nPzOQfcvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"5acfe7a1ac7153927b36134b267710db95d03d00","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.1.2","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.2_1785076817395_0.3697970756624198","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"mcp-server-sfmc","version":"2.4.3","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.3","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"368c6ace5d34aacce1539ce38547db2906b410cc","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.3.tgz","fileCount":38,"integrity":"sha512-ufvOrS0TAO2kUb2vbuMbSS0YNR4LNYgQ1SN2cNwDiicvO0la2tXYUmG7QefSgJk+PEieYykffwOKfSqB+5u8DA==","signatures":[{"sig":"MEQCIBeiliC84MWm/YYCQUwNZh3kRqkSx6YmEOYOhCFjeioYAiBpWSE4ErdFq4n95lrSvcC/LXP7faWpZsqeoV1TY8qJaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"af90a0a040acf49e2f925f4c2b62cdfa68dfd61b","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.1.3","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.3_1785081160685_0.7307458319838183","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"mcp-server-sfmc","version":"2.4.4","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.4","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"13c4c7e0ee42c1a1d8d94853bf6b85539b2c1c67","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.4.tgz","fileCount":38,"integrity":"sha512-ksAR4EfkaaLsUFoquKOtRs/v/hLd2hjauWr5zPRz+/OQb2OuIcTqpNNcd6GeL3Ba3BEjYyPviqLAj4G7IoGzAA==","signatures":[{"sig":"MEYCIQCx4MXbD+QTF1SytlQ3vdl4ASFawErjckovnbt32AVs6QIhANGCMqIWSO2UNmettfltq2jbSjSM5yFGGQ/yk6y//0Lk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6ad925e5f1b72ac43b823fdb74b85f0f02fbd62a","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.1.3","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.4_1785100775580_0.9383846288374473","host":"s3://npm-registry-packages-npm-production"}},"2.4.5":{"name":"mcp-server-sfmc","version":"2.4.5","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.4.5","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"8a2a8c996209284471b4e3c84bc186e12ef8f87d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.4.5.tgz","fileCount":38,"integrity":"sha512-nVnnkIypV0ywqk9TlWFGC7v7AtJ3dabZix0PVoP4BwHaUxrF2EMawLo4gRXinvIxzFmUEcJYnTrVYJ0zFdXZjw==","signatures":[{"sig":"MEUCIQCxiMxtWdqG4oaFFrTj7jRyRU7+vpzAJaxjxSXE1gn09gIgeRwa0hexVV+djA5ppAnIFZm7HMbJjV9lalIwoqgcCdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061581},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"ef025b0aeab21dd4992d3f0179d068cd4e3b72e4","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.2.0","ampscript-data":"^3.0.0","handlebars-data":"^0.3.0","sfmc-language-lsp":"^3.8.3","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.1.0","globals":"^17.4.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.19.17","lint-staged":"^17.0.5","typescript-eslint":"^8.62.1","eslint-plugin-jsdoc":"^63.0.10","eslint-plugin-unicorn":"^70.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.0","@modelcontextprotocol/inspector":"^0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.4.5_1785413532420_0.3432914822680564","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"mcp-server-sfmc","version":"2.5.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.5.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"29f1efffb85b8dd4b0a4d758aa334e3e2c5a2976","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.5.0.tgz","fileCount":38,"integrity":"sha512-nE6mxtOlqcsHfvSfwCatwsqpqBRD/C/+daMN6CWmD05/neRAlt8tF7jsgHGsWMyvCqqT1tfW9Ecp94YjXlP4Pw==","signatures":[{"sig":"MEUCIBX9hMXStVWKAaavAKk17B7Eyw5IohXqbo4oSfsUSe+BAiEA2ClNWmEHwt8PdvZLofO5bfbPnWNFr092yMI5t0Ng7+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061631},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"1c6201465f968cc37616cffd7fb568fceea11540","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.4.0","ampscript-data":"^3.1.1","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.10.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.5.0_1786017343075_0.41458491449528223","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"mcp-server-sfmc","version":"2.6.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.6.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"6cab860eba54e5744e9a6a28b63df9aad8c8ff1d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.6.0.tgz","fileCount":38,"integrity":"sha512-jQ5LVXEIKxjQBIIYyKLGP9fHDGHRSgpCmBawv0jimM3NerhmPa0Mu2F7rjyzbyvR5YgtoG9X5RDiP7uaxp/mpw==","signatures":[{"sig":"MEQCIBRNcFDpNGvr8NH+te3GzdW+f9ctMGSZKVwV6xqKaEYTAiBrQbLGl56k9Qov7zRRzNTNRHTMwsRl95HMueINS9i1AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061631},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"7f578331d5fb86fbfa0626ffe72a204780825a89","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.5.0","ampscript-data":"^3.1.1","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.11.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.6.0_1786090546829_0.6248630514249689","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"mcp-server-sfmc","version":"2.7.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.7.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"dd3819a8d1400b0194a24d6865c9469b2a677ef9","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.7.0.tgz","fileCount":38,"integrity":"sha512-8Zons3Re2jq270lKxbz/WeYvWSBD/ifZXdZJGWaiaTxO2zd1PWa3/eyXWfhl/ltLZwObFOPLsTclZcAQmWgfwg==","signatures":[{"sig":"MEUCIBwAxXjyDYjyiuoco+ZAzIvho+nIctz2UFN6HlufY06uAiEAshAKzdlNVitaQiBmeDC/LaQIY+DPByvI3/9i5E0YCHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"e5e2cf994b804d088266ffecab0e5d6303915b67","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.6.0","ampscript-data":"^3.3.0","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.13.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.7.0_1786372571748_0.44905452463343054","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"mcp-server-sfmc","version":"2.8.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.8.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"0b94766e0f9204602de9a6dd423e9db6c0cd7189","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.8.0.tgz","fileCount":38,"integrity":"sha512-GQPXIQClQ3mqiKHysbL6Lxm2pJTIBnJ5zABXBfMbHU0B196NyxyQuSH+WC8uCYKCI+TYIbXzoGmvYHP4nPWc9A==","signatures":[{"sig":"MEYCIQDyJ1jtyuwwdSeewlOoXEpe4NarNYkkkw51sqRLUiNsegIhAPuA5HokIRmEBY55VeT3Rz89Sh/OfsEeahOgfv7Jc7us","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"a2741b8485d9865c019d8869b42653133ae5285d","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.17.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.19.0","dependencies":{"ssjs-data":"^1.6.0","ampscript-data":"^3.4.0","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.14.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.8.0_1786524528134_0.016874739703184094","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"mcp-server-sfmc","version":"2.8.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.8.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"c696e3e003846918b6bedfef6cc79755be9f9714","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.8.1.tgz","fileCount":38,"integrity":"sha512-ukvjcHePprVrNVNzNf5MioG3FknAziQOAQoiEofX6phQRxkMbTo0ebKOdS2NAzm2ZXLhmqXHBMjDohQxJAM9eg==","signatures":[{"sig":"MEQCICqAQrkqee5cEYEyNzUpXxeffX7H/C4+dgUYoKXycLFRAiA803DjVugVAMQ3HkFmvbpW25TjTVqaEkOIqun/SmFnNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"83efac541b368dd953ec9f654f7ecd843afc3178","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.6.0","ampscript-data":"^3.5.0","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.15.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.8.1_1786541752820_0.29745414477857857","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"mcp-server-sfmc","version":"2.8.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.8.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"c62bed1cdcac4b002c99a3fae9071301cd0a28c1","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.8.2.tgz","fileCount":38,"integrity":"sha512-6+1lxarUHKlOO26rFL2m8db2ACf7cL/VrbKzxLBKl8wI6XYls7+PXRSCSUZcNhjFCMHKNvN46CAXZOX8wNHGNw==","signatures":[{"sig":"MEUCIFMRSTXdEOizPxiz0OHG41Ak+gLNPTmC3enkATkkbih9AiEA7cKLtWajsLwc3AD3pOijDWLiUBzVyTDaKgg55rO7yRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"0ec21df7deb3e24fecb3010bcb0a44eb28de9c68","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.16.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"ssjs-data":"^1.7.0","ampscript-data":"^3.5.0","handlebars-data":"^0.3.1","sfmc-language-lsp":"^3.16.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.8.2_1786626960976_0.5754808722751972","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"mcp-server-sfmc","version":"2.9.0","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.9.0","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"6efedec802a017c78b7ec338be4efeaa5421cba7","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.9.0.tgz","fileCount":38,"integrity":"sha512-bJD1H03URISFWpE+EubrlQ+T0/allW9txohUZl2/osAzA2kdWNgGLN0DHax7/EWxqBiFmiDUII8MHB0oNp6cSg==","signatures":[{"sig":"MEUCIGPTv/sMHYRPWJuCf8rnwUIUl3fAtHlsLzj8ghZAE5ueAiEA7lvn597wOgKByautbegRevN+Gh/LvTXF3q8AkCS5ul8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"764bda4b264be781c3aaa9cb1184ba4625f33c93","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.17.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.19.0","dependencies":{"ssjs-data":"^2.0.0","ampscript-data":"^4.0.0","handlebars-data":"^0.4.0","sfmc-language-lsp":"^3.17.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.9.0_1787046652739_0.6461776585287424","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"mcp-server-sfmc","version":"2.9.1","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.9.1","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"d00b721825f3ff90bdd3f3d86e77228ddad9301d","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.9.1.tgz","fileCount":38,"integrity":"sha512-JuMCfadu0Xx8LNHDK5L58OyWVmTrnr/tyFCYhGLf3m/IebPTxKcKdTHDZO744GXLctFYoIcFkHuUKqWSuRvU7g==","signatures":[{"sig":"MEUCIAyLrjtEl8GcePjdCiC0G+0M3Q/0PyJVqTiaXPICfMFGAiEArORl/PsvTX5qM5TrC03mVR8MVw1uYaptaDNgh7O+v98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3061548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"e1a433d274a0952cf04285c7df46f71033fc420e","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.19.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.20.0","dependencies":{"ssjs-data":"^2.0.0","ampscript-data":"^4.0.0","handlebars-data":"^0.4.0","sfmc-language-lsp":"^3.17.1","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.9.1_1788520251538_0.10805766640557946","host":"s3://npm-registry-packages-npm-production"}},"2.9.2":{"name":"mcp-server-sfmc","version":"2.9.2","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"author":{"name":"Jörn Berkefeld"},"license":"MIT","_id":"mcp-server-sfmc@2.9.2","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"dist":{"shasum":"a3d88584eaa180f82dd0938b0e1cff1921c35c08","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.9.2.tgz","fileCount":38,"integrity":"sha512-S+ypxJ3M7Q0vFT0FwuTK6RpwVeCK6Cae9vL6YY2YRPzkj3d2TBhLb6zuVT7GEUYkKcsphwQ5st8Xa5poXmy+Wg==","signatures":[{"sig":"MEUCIH6Z3ZGi/J80sEuOaNSyfohUYdbVIBR+bN4CLCVtPNJeAiEAxtNlUS7Ko6N0lbnqFsICcyuqwMUgISDbScKjXd5IK4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3062654},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"a672df626a236b0d264555d0840cabfe277e7376","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.19.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"_nodeVersion":"24.20.0","dependencies":{"ssjs-data":"^2.1.0","ampscript-data":"^4.0.0","handlebars-data":"^0.4.0","sfmc-language-lsp":"^4.0.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-sfmc_2.9.2_1788961015977_0.5150430468495883","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"_id":"mcp-server-sfmc@2.10.0","bin":{"mcp-server-sfmc":"dist/index.js","sfmc-review-diff":"dist/cli/reviewDiff.js"},"bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"dist":{"shasum":"69ee69b9ac43d3206e10fe6477fc07a2e6a82fce","tarball":"https://registry.npmjs.org/mcp-server-sfmc/-/mcp-server-sfmc-2.10.0.tgz","fileCount":38,"integrity":"sha512-hEqkzEBfYDzI/EfpJJNjW6vBGLwggFPseIAaVlbYpDNk9ofFCYn6FDqtbhSE13rf7BX9Zmasy6e5nwGRvHZneQ==","signatures":[{"sig":"MEUCIQCZfx4Z7HF7cWYe02obVSDeL06OUxv+SWx4NJwBAt8oLQIgGPffED9287wArM4V1y+LhxUDh4DR0M4oZnL9qMbZ4SE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB3x8n4Zhc8c5C2FFn9qvk3mgp5IesEDXXF2By5PJi8jAiB/JbTRM9peL8pm6WJ6ZDg17+rwxgcW1sMxJO0BBvtTnA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mcp-server-sfmc@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3062576},"main":"./dist/index.js","name":"mcp-server-sfmc","type":"module","types":"./dist/index.d.ts","author":{"name":"Jörn Berkefeld"},"engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"3c8d55d06bbf8c5127618cffc02a645fd9c955eb","license":"MIT","mcpName":"io.github.JoernBerkefeld/mcp-server-sfmc","scripts":{"dev":"tsc -p tsconfig.json --watch","lint":"eslint .","test":"node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","start":"node dist/index.js","format":"prettier --write .","prepare":"husky || true","pretest":"npm run build","version":"node -e \"const fs=require('fs'),p=require('./package.json'),s=JSON.parse(fs.readFileSync('server.json','utf8'));s.version=p.version;s.packages[0].version=p.version;fs.writeFileSync('server.json',JSON.stringify(s,null,4)+'\\n','utf8');\" && git add server.json","lint:fix":"eslint --fix .","bundle-all":"npm run bundle-mce-help; npm run bundle-mcn-help","review-diff":"node dist/cli/reviewDiff.js","format:check":"prettier --check .","prepublishOnly":"npm run build","bundle-mce-help":"node scripts/bundle-mce-help.mjs","bundle-mcn-help":"node scripts/bundle-mcn-help.mjs"},"version":"2.10.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed59821b-de05-40bb-b474-d031107b781d"}},"homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"_npmVersion":"11.19.0","description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","directories":{},"lint-staged":{"*.{js,mjs,cjs,ts}":["eslint --fix"]},"maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ssjs-data":"^2.1.0","ampscript-data":"^4.2.0","handlebars-data":"^0.4.0","sfmc-language-lsp":"^4.2.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.20.1","lint-staged":"^17.3.0","typescript-eslint":"^8.66.0","eslint-plugin-jsdoc":"^63.3.3","eslint-plugin-unicorn":"^73.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@modelcontextprotocol/inspector":"^2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-sfmc_2.10.0_1790341587660_0.7253074578867824"}}},"time":{"created":"2026-04-06T10:12:23.054Z","modified":"2026-09-25T13:06:28.267Z","0.1.0":"2026-04-06T10:12:23.207Z","0.1.4":"2026-04-06T12:29:27.063Z","0.1.5":"2026-04-06T13:35:45.258Z","0.1.6":"2026-04-06T14:26:31.966Z","0.1.7":"2026-04-06T14:29:42.385Z","0.1.8":"2026-04-06T17:38:22.156Z","0.1.9":"2026-04-07T18:48:03.232Z","0.2.0":"2026-04-07T18:53:18.683Z","0.2.1":"2026-04-07T22:53:35.631Z","0.3.0":"2026-04-08T11:27:59.044Z","0.4.0":"2026-05-20T14:02:19.251Z","0.4.1":"2026-05-22T18:13:29.750Z","0.4.2":"2026-05-22T20:15:03.393Z","0.4.3":"2026-05-25T00:01:12.376Z","0.5.0":"2026-06-02T18:25:33.221Z","1.0.0":"2026-06-06T05:59:10.479Z","1.0.1":"2026-06-06T17:45:19.232Z","1.0.2":"2026-06-06T19:09:26.236Z","1.1.0":"2026-06-14T16:01:36.050Z","1.2.0":"2026-06-15T09:34:46.713Z","1.3.0":"2026-06-15T21:50:51.396Z","1.4.0":"2026-06-16T06:08:10.701Z","1.5.0":"2026-06-16T14:52:07.359Z","1.5.1":"2026-06-17T17:47:16.989Z","1.6.0":"2026-06-18T12:51:52.251Z","1.7.0":"2026-06-18T23:19:18.906Z","1.7.1":"2026-06-21T06:22:05.114Z","1.8.0":"2026-06-23T08:18:20.484Z","1.9.0":"2026-06-23T10:35:20.950Z","1.9.1":"2026-06-23T16:09:45.071Z","1.9.2":"2026-06-23T22:15:40.662Z","2.0.0":"2026-06-29T17:51:47.293Z","2.1.0":"2026-07-14T13:03:52.040Z","2.1.1":"2026-07-17T16:20:47.032Z","2.2.0":"2026-07-21T22:54:25.213Z","2.3.0":"2026-07-23T15:47:15.504Z","2.3.1":"2026-07-25T11:33:28.868Z","2.4.0":"2026-07-26T09:41:11.541Z","2.4.1":"2026-07-26T12:55:44.059Z","2.4.2":"2026-07-26T14:40:17.577Z","2.4.3":"2026-07-26T15:52:40.880Z","2.4.4":"2026-07-26T21:19:35.766Z","2.4.5":"2026-07-30T12:12:12.595Z","2.5.0":"2026-08-06T11:55:43.255Z","2.6.0":"2026-08-07T08:15:47.025Z","2.7.0":"2026-08-10T14:36:11.980Z","2.8.0":"2026-08-12T08:48:48.359Z","2.8.1":"2026-08-12T13:35:53.052Z","2.8.2":"2026-08-13T13:16:01.191Z","2.9.0":"2026-08-18T09:50:52.901Z","2.9.1":"2026-09-04T11:10:51.771Z","2.9.2":"2026-09-09T13:36:56.143Z","2.10.0":"2026-09-25T13:06:27.786Z"},"bugs":{"url":"https://github.com/JoernBerkefeld/mcp-server-sfmc/issues"},"author":{"name":"Jörn Berkefeld"},"license":"MIT","homepage":"https://github.com/JoernBerkefeld/mcp-server-sfmc#readme","keywords":["mcp","model-context-protocol","ampscript","ssjs","handlebars","gtl","sfmc","salesforce","marketing-cloud","marketing-cloud-next","mcn","ai","copilot","code-review","code-conversion","migration","linter","validation","language-server","documentation-search"],"repository":{"url":"git+https://github.com/JoernBerkefeld/mcp-server-sfmc.git","type":"git"},"description":"SFMC AMPscript/SSJS/GTL tools + searchable MCE and MCN developer docs, with full MCN platform support.","maintainers":[{"name":"joern.berkefeld","email":"joern.berkefeld@gmail.com"}],"readme":"# mcp-server-sfmc\n\nMCP server providing Salesforce Marketing Cloud language intelligence — AMPscript, SSJS, GTL, and **Marketing Cloud Next (MCN) Handlebars** — as Model Context Protocol tools, resources, and prompts for AI-assisted development and code review. Ships two searchable doc indexes: **MCE help** (Salesforce Help for Marketing Cloud Engagement administration and setup) and **MCN developer docs** (Marketing Cloud Next REST API and developer reference). Includes full **Marketing Cloud Next (MCN) platform awareness**: auto-detects whether a project targets MCE or MCN, restricts completions and validation to MCN-supported functions, flags SSJS as unsupported in MCN, surfaces MCN behavioral differences in hover and diagnostics, validates MCN Handlebars templates, and provides a **migration toolkit** to analyze and rewrite code for MCN — including AMPscript ↔ Handlebars and SSJS → Handlebars conversion.\n\nBuilt on [sfmc-language-lsp](https://github.com/JoernBerkefeld/sfmc-language-lsp), the same engine that powers the [SFMC Language Service VS Code extension](https://marketplace.visualstudio.com/items?itemName=joernberkefeld.sfmc-language).\n\n## Shared-diagnostic migration\n\n`sfmc-language-lsp` **4.0.0** changes shared validator codes to canonical `sfmc/...` IDs and preserves quick-fix variants and original payloads in a namespaced envelope. See the [LSP migration and rule documentation](https://github.com/JoernBerkefeld/sfmc-language-lsp/blob/v4.0.0/README.md#diagnostic-identities-and-documentation). Documentation URLs are owned by the LSP version, not this MCP package.\n\nConsumer regression coverage checks the canonical SSJS diagnostics, distinct polyfill/replacement payloads, and overlap suppression. This is not a new MCP tool or a promise that every tool response exposes raw LSP diagnostics.\n\nVersion **2.10.0** adopts `ampscript-data: ^4.2.0` and `sfmc-language-lsp: ^4.2.0` from npm. This Winter ’27 (API 68) catalog update makes the current AMPscript and shared language-service metadata available to MCP clients. MCP validation and review output continues to format locations, severities, and messages rather than expose raw LSP codes or envelopes.\n\n## VS Code MCP Server Gallery (`@mcp`)\n\nThis package is registered with the [official MCP Registry](https://registry.modelcontextprotocol.io) as **`io.github.JoernBerkefeld/mcp-server-sfmc`** so it can appear in Visual Studio Code when you use the **`@mcp`** filter in the Extensions view (see the [publish quickstart](https://github.com/modelcontextprotocol/registry/blob/main/docs/modelcontextprotocol-io/quickstart.mdx)). Enable **`chat.mcp.gallery.enabled`** if the gallery does not show.\n\nThe registry only stores **metadata**; the server still runs **locally** via stdio (for example `npx -y mcp-server-sfmc@latest`). This is separate from **`@contribute:mcp`**, which lists VS Code extensions that contribute MCP definitions — use the [SFMC Language Service](https://marketplace.visualstudio.com/items?itemName=joernberkefeld.sfmc-language) for that path.\n\nAfter publishing metadata (see [Publish an MCP Server](https://github.com/modelcontextprotocol/registry/blob/main/docs/modelcontextprotocol-io/quickstart.mdx) or the release workflow), you can confirm the entry with:\n\n`curl \"https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.JoernBerkefeld/mcp-server-sfmc\"`\n\n## VS Code without manual MCP config\n\nIf you use the **SFMC Language Service** extension (**1.101+**), it registers this MCP server for discovery in VS Code — you normally do **not** need to edit `.vscode/mcp.json` or run `npm install` for that path; VS Code still launches the published package via `npx` when the server starts.\n\nFor **other editors**, or if you prefer explicit configuration, use the `npx` or install options below.\n\n## Using this package without the VS Code extension\n\nYou **do not** have to install the VS Code extension. Pick one way to run the server:\n\n| Approach                                       | When to use it                                                                                                                                                                                                               |\n| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`npx` (no install)**                         | Default in the examples below. Runs the latest published version from npm on demand; first run may download the package. **Requires Node.js and npm** (which provides `npx`).                                                |\n| **`npm install -g mcp-server-sfmc`**           | Same CLI as `npx`, but the package stays on disk so **startup is faster** and you can set `\"command\": \"mcp-server-sfmc\"` with empty `args` in your MCP config.                                                               |\n| **`npm install mcp-server-sfmc` in a project** | Keeps a **pinned version** in that folder's `node_modules` — point your MCP config at `npx mcp-server-sfmc` with `cwd` set to the project, or run `./node_modules/.bin/mcp-server-sfmc` directly.                            |\n| **`sfmc-review-diff` (bundled CLI)**           | For **CI**: spawns this MCP server, calls `review_change` on a unified diff (stdin or file), exits non-zero on `ERROR` by default. Install the package in the job, then e.g. `git diff base...HEAD \\| npx sfmc-review-diff`. |\n\nNone of these replace the VS Code extension for **editing** (syntax, LSP, snippets); they only expose the **MCP server** to tools that speak the Model Context Protocol.\n\n## CI templates and `sfmc-review-diff`\n\nReady-to-copy workflows (GitHub Actions, GitLab CI, Jenkins, Azure Pipelines, Bitbucket Pipelines) live under **[`ci-templates/`](./ci-templates/)**. They run **`eslint-plugin-sfmc`** on changed files and **`sfmc-review-diff`** on the PR/MR unified diff. See **[`ci-templates/README.md`](./ci-templates/README.md)** for what each file does and how the two checks differ.\n\n## What it gives your AI assistant\n\n| Feature                        | Details                                                                                                                                                                                        |\n| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Validation**                 | Syntax errors, unknown functions, arity mismatches, unsupported SSJS syntax; `target: 'next'` flags MCN-incompatible functions and all SSJS; `validate_handlebars` checks MCN Handlebars helper names, arity, block balance, and unsupported constructs |\n| **Lookup**                     | Full function signatures, parameters, return types, MCN compatibility badge (API version), behavioral notes, and examples                                                                      |\n| **PR review**                  | Diff-aware review tool that surfaces issues in the exact lines that changed                                                                                                                    |\n| **Fix suggestions**            | Concrete, compilable replacement code; `target: 'next'` includes MCN platform issues                                                                                                           |\n| **Completions**                | AMPscript completions (filtered to MCN-supported when `target: 'next'`); SSJS catalog (redirects to AMPscript for MCN)                                                                         |\n| **Platform detection**         | `detect_sfmc_platform` checks `.mcdevrc.json` (MCE) or `sfdx-project.json` (MCN) in the project root                                                                                           |\n| **MCN compatibility analysis** | `check_mcn_compatibility` analyzes files for MCN readiness — per-function classification (supported / needs review / not supported), SSJS block migration difficulty, and an executive summary |\n| **MCN migration**              | `rewrite_for_mcn` (tool + prompt) deterministically rewrites AMPscript and converts convertible SSJS to AMPscript for MCN, then applies AI reasoning to remaining manual-rewrite sections      |\n| **Code conversion**            | `convertSsjsToAmpscript` and `convertAmpscriptToSsjs` (tool + prompt hybrid) — rule-based conversion with AI-enhanced handling of flagged sections                                             |\n| **MCN Handlebars**             | `lookup_handlebars_helper`, `list_handlebars_helpers`, `get_handlebars_completions`, and `write_handlebars` (authoring) backed by the `handlebars-data` catalog                                |\n| **Handlebars conversion**      | `convertAmpscriptToHandlebars`, `convertHandlebarsToAmpscript`, and `convertSsjsToHandlebars` (tool + prompt hybrid) — data-driven from `ampscript-data` `handlebarsEquivalent` / `handlebarsExact` |\n| **Prompts**                    | Guided prompts for writing AMPscript/SSJS/Handlebars (with MCN constraints), reviewing code, converting between languages, and rewriting for MCN                                               |\n| **Resources**                  | Full function catalogs, keyword list, unsupported ES6+ syntax list, MCN Handlebars helper and binding catalogs                                                                                 |\n| **Help search**                | `search_help` (unified, auto-detects MCE vs MCN from project root); `search_mce_help` (MCE help, 7 product scopes); `search_mcn_help` (MCN developer API reference)                            |\n\n## Connecting AI clients\n\n### VS Code (1.99+) + GitHub Copilot — manual `mcp.json`\n\nIf you are **not** using the SFMC Language Service extension's built-in MCP registration, add a `.vscode/mcp.json` file to your project (or copy it from this repo):\n\n```json\n{\n  \"servers\": {\n    \"sfmc\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    }\n  }\n}\n```\n\nOpen the file in VS Code — a **Start** button appears at the top. Click it to launch the server. Open GitHub Copilot Chat in **Agent mode** and the SFMC tools appear automatically.\n\n### Cursor\n\nAdd to your Cursor settings (`~/.cursor/mcp.json` or project-level `.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"sfmc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    }\n  }\n}\n```\n\nRestart Cursor. The tools are available in Agent mode.\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"sfmc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop.\n\n### Windsurf\n\nAdd to your Windsurf MCP settings (`~/.codeium/windsurf/mcp_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"sfmc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    }\n  }\n}\n```\n\n### Local install (faster startup than npx)\n\n```bash\nnpm install -g mcp-server-sfmc\n```\n\nThen replace `\"command\": \"npx\", \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]` with:\n\n```json\n\"command\": \"mcp-server-sfmc\",\n\"args\": []\n```\n\n## Tools\n\n| Tool                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `validate_ampscript`        | Validate AMPscript code — unknown functions, arity, delimiter balance, comment syntax. `target: 'next'` flags MCN-incompatible functions.                                                                                                                                                                                                                                                                                                   |\n| `validate_ssjs`             | Validate SSJS — ES6+ usage, missing Platform.Load, wrong API calls. `target: 'next'` flags all SSJS as unsupported.                                                                                                                                                                                                                                                                                                                         |\n| `validate_sfmc_html`        | Validate HTML with embedded AMPscript, SSJS, and GTL blocks. `target: 'next'` enables MCN validation.                                                                                                                                                                                                                                                                                                                                       |\n| `lookup_ampscript_function` | Full signature, parameters, return type, MCN compatibility badge (API version), behavioral notes for MCN, and examples                                                                                                                                                                                                                                                                                                                      |\n| `lookup_ssjs_function`      | Full signature and description for any SSJS Platform function or method                                                                                                                                                                                                                                                                                                                                                                     |\n| `list_ampscript_functions`  | List all AMPscript functions, optionally filtered by `platform: 'next'` to return only MCN-supported functions                                                                                                                                                                                                                                                                                                                              |\n| `review_change`             | Review a unified diff — validates only added lines, maps back to diff line numbers                                                                                                                                                                                                                                                                                                                                                          |\n| `suggest_fix`               | Generate fix suggestions for each diagnostic in a code snippet. `target: 'next'` includes MCN fixes.                                                                                                                                                                                                                                                                                                                                        |\n| `get_ampscript_completions` | List valid completions at a given cursor position; MCN-unsupported functions marked `[MCE only]` when `target: 'next'`                                                                                                                                                                                                                                                                                                                      |\n| `get_ssjs_completions`      | List SSJS Platform API completions, optionally filtered by prefix; redirects to AMPscript completions when `target: 'next'`                                                                                                                                                                                                                                                                                                                 |\n| `format_sfmc_code`          | Apply basic formatting conventions (keyword casing, quote normalisation)                                                                                                                                                                                                                                                                                                                                                                    |\n| `detect_sfmc_platform`      | Detect the target platform for a project — checks `.mcdevrc.json` (→ `\"engagement\"`) or `sfdx-project.json` (→ `\"next\"`)                                                                                                                                                                                                                                                                                                                    |\n| `check_mcn_compatibility`   | Analyze one or more AMPscript/HTML files for MCN readiness. Returns per-function classification, SSJS block migration difficulty, and an executive summary with overall migration effort. Run this before `rewrite_for_mcn`.                                                                                                                                                                                                                |\n| `rewrite_for_mcn`           | Deterministic MCN rewrite engine: fixes `.NET → Java` format strings, removes `StringToDate` wrappers, converts convertible SSJS to AMPscript, marks unsupported functions, annotates the rest as `MANUAL_REWRITE_REQUIRED`. **Prefer the `rewrite_for_mcn` prompt** for interactive use — it calls this tool first, then applies AI reasoning to the flagged sections. Use the tool directly only for structured JSON output in pipelines. |\n| `convertSsjsToAmpscript`    | Rule-based SSJS → AMPscript conversion engine: `Platform.Function.*` → AMPscript equivalents, variable/request access, control flow. Flags JS-native constructs as `MANUAL_REWRITE_REQUIRED`. **Prefer the `convertSsjsToAmpscript` prompt** for interactive use.                                                                                                                                                                           |\n| `convertAmpscriptToSsjs`    | Rule-based AMPscript → SSJS conversion engine: variables, control flow, function calls. Flags AMPscript-only constructs as `MANUAL_REWRITE_REQUIRED`. **Prefer the `convertAmpscriptToSsjs` prompt** for interactive use.                                                                                                                                                                                                                   |\n| `validate_handlebars`        | Validate MCN Handlebars template code — helper names, arity, block balance, and unsupported constructs (partials, decorators, built-in helpers absent from the locked-down MCN engine).                                                                                                                                                                                                                                                     |\n| `lookup_handlebars_helper`   | Signature, parameters, description, origin, and MCN API version for a single MCN Handlebars helper (case-insensitive).                                                                                                                                                                                                                                                                                                                      |\n| `list_handlebars_helpers`    | List all MCN Handlebars helpers, optionally filtered by `category` and/or `origin` (`handlebars-builtin`, `mcn-helper`, `mcn-platform`).                                                                                                                                                                                                                                                                                                    |\n| `get_handlebars_completions` | List MCN Handlebars helper completions, optionally filtered by prefix.                                                                                                                                                                                                                                                                                                                                                                      |\n| `convertAmpscriptToHandlebars` | Rule-based AMPscript → MCN Handlebars conversion. Maps functions to helpers where an equivalent exists; flags unsupported functions and runtime gaps as `MANUAL_REWRITE_REQUIRED`. **Prefer the `convertAmpscriptToHandlebars` prompt** for interactive use.                                                                                                                                                                              |\n| `convertHandlebarsToAmpscript` | Rule-based MCN Handlebars → AMPscript conversion. Maps helpers and bindings back to AMPscript; flags block helpers as `MANUAL_REWRITE_REQUIRED`. **Prefer the `convertHandlebarsToAmpscript` prompt** for interactive use.                                                                                                                                                                                                               |\n| `convertSsjsToHandlebars`    | Transitive SSJS → AMPscript → MCN Handlebars conversion. Conservatively flags imperative SSJS for manual rewrite. **Prefer the `convertSsjsToHandlebars` prompt** for interactive use.                                                                                                                                                                                                                                                      |\n| `write_handlebars`           | Validate an MCN Handlebars-in-HTML draft against the helper catalog. **Prefer the `writeHandlebars` prompt** for authoring.                                                                                                                                                                                                                                                                                                                 |\n| `search_help`               | **Unified help search** — auto-detects the platform from `projectRoot` and routes to the right doc index. MCN projects search both the developer API reference and MCN admin docs. Pass `target` to override detection.                                                                                                                                                                                                                     |\n| `search_mce_help`           | Search bundled Marketing Cloud Engagement setup/ops help; use `product_focus` to target Engagement vs Next                                                                                                                                                                                                                                                                                                                                  |\n| `search_mcn_help`           | Search bundled Marketing Cloud Next developer API documentation (objects, flows, segments, REST/SOAP APIs, AMPscript behavior in MCN)                                                                                                                                                                                                                                                                                                       |\n\n## Resources\n\n| URI                              | Description                                                                                  |\n| -------------------------------- | -------------------------------------------------------------------------------------------- |\n| `sfmc://ampscript/functions`     | Full AMPscript function catalog with signatures                                              |\n| `sfmc://ssjs/functions`          | Full SSJS function catalog                                                                   |\n| `sfmc://ampscript/keywords`      | All AMPscript keywords                                                                       |\n| `sfmc://ssjs/unsupported-syntax` | ES6+ features not supported in SFMC SSJS                                                     |\n| `sfmc://handlebars/helpers`      | Full MCN Handlebars helper catalog with signatures, origin, and MCN API version              |\n| `sfmc://handlebars/bindings`     | MCN Handlebars data bindings (context variables available in templates)                      |\n| `sfmc://mce/product-context`     | How **Marketing Cloud Engagement** differs from **Marketing Cloud Next** (when to use which) |\n| `sfmc://mce/help-index`          | List of bundled MCE help files and section counts per product scope                          |\n| `sfmc://mcn/help-index`          | List of bundled MCN developer API doc files and chunk counts                                 |\n\n## Prompts\n\nAccess via `/mcp.sfmc.writeAmpscript` etc. in VS Code, or via the prompts API:\n\n| Prompt                   | Description                                                                                                                                                                                                                                                                                                                           |\n| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `writeAmpscript`         | Generate AMPscript code for a described task. `target: 'next'` enforces MCN constraints (MCN-supported functions only, Java `SimpleDateFormat` patterns, no SSJS).                                                                                                                                                                    |\n| `writeSsjs`              | Generate SSJS code for a described task. `target: 'next'` redirects to AMPscript instead (SSJS is not available in MCN).                                                                                                                                                                                                              |\n| `reviewSfmcCode`         | Review AMPscript or SSJS code for bugs and best-practice violations. `target: 'next'` adds MCN compatibility checklist.                                                                                                                                                                                                               |\n| `rewrite_for_mcn`        | **Primary interface for MCN migration.** Internally calls the `rewrite_for_mcn` tool for all deterministic rewrites, then applies AI reasoning to every `MANUAL_REWRITE_REQUIRED` section — producing a single fully migrated code block with a prose changelog. You always get both the rule-based pass and the AI pass in one step. |\n| `convertSsjsToAmpscript` | **Primary interface for SSJS → AMPscript conversion.** Internally calls the `convertSsjsToAmpscript` tool for rule-based conversion, then AI-reasons over any sections the rules could not handle.                                                                                                                                    |\n| `convertAmpscriptToSsjs` | **Primary interface for AMPscript → SSJS conversion.** Internally calls the `convertAmpscriptToSsjs` tool for rule-based conversion, then applies AI reasoning to flagged AMPscript-only constructs.                                                                                                                                  |\n| `writeHandlebars`        | Generate MCN Handlebars-in-HTML for a described task, constrained to the locked-down MCN helper catalog. Validates the draft against `handlebars-data` and reports unsupported constructs.                                                                                                                                            |\n| `convertAmpscriptToHandlebars` | **Primary interface for AMPscript → MCN Handlebars conversion.** Internally calls the `convertAmpscriptToHandlebars` tool for rule-based conversion, then AI-reasons over functions with no Handlebars equivalent (runtime gaps and unsupported functions).                                                                     |\n| `convertHandlebarsToAmpscript` | **Primary interface for MCN Handlebars → AMPscript conversion.** Internally calls the `convertHandlebarsToAmpscript` tool for rule-based conversion, then AI-reasons over block helpers and constructs the rules could not handle.                                                                                              |\n| `convertSsjsToHandlebars`      | **Primary interface for SSJS → MCN Handlebars conversion.** Transitive (SSJS → AMPscript → Handlebars); calls the `convertSsjsToHandlebars` tool, then applies AI reasoning to imperative SSJS flagged for manual rewrite.                                                                                                       |\n| `answerMceHowTo`         | Guided prompt for admin/setup questions — searches bundled help and keeps Engagement vs Next explicit                                                                                                                                                                                                                                 |\n\n## Migrating code to Marketing Cloud Next\n\nMarketing Cloud Next (MCN) supports **41 of the 155 AMPscript functions** and **does not support SSJS**. Three supported functions have behavioral differences (see below). The migration toolkit guides you from analysis through to a fully rewritten result.\n\n### Recommended workflow\n\n```\n1. detect_sfmc_platform  →  confirm the project targets MCN\n2. check_mcn_compatibility  →  understand scope: which files need work, how hard\n3. rewrite_for_mcn prompt  →  calls the rewrite_for_mcn tool internally, then applies AI\n                               reasoning to any MANUAL_REWRITE_REQUIRED sections\n4. validate_ampscript with target:'next'  →  verify the rewritten code is clean\n```\n\n### What `check_mcn_compatibility` tells you\n\nPass one or more `{ filename, content }` pairs and get back:\n\n- **Per-function classification** for every AMPscript call site:\n  - ✅ Supported — works as-is\n  - ⚠️ Needs review — supported but has behavioral differences in MCN\n  - ❌ Not supported — no MCN equivalent\n- **SSJS block analysis** — classified as \"needs conversion\" (has AMPscript equivalents) or \"not migratable\" (uses JS-native constructs such as `try/catch`, `forEach`, regex)\n- **Migration difficulty per file** — Ready / Minor changes needed / Significant rewrite / Not migratable\n- **Executive summary** across all files\n\n### What `rewrite_for_mcn` does\n\n**Use the `rewrite_for_mcn` prompt** — it is the primary interface and gives you the full result in one step. It first calls the `rewrite_for_mcn` tool internally for all deterministic rewrites, then applies AI reasoning to every section the tool could not handle mechanically. You get both the accuracy of rule-based conversion and the intelligence of an AI pass, without having to invoke them separately.\n\n**Deterministic rewrites (handled by the tool internally):**\n\n- Removes `StringToDate()` wrappers from `FormatDate()` calls (`FormatDate(StringToDate(@x), fmt)` → `FormatDate(@x, fmt)`)\n- Converts `.NET → Java SimpleDateFormat` format strings (e.g. `tt` → `a`)\n- Annotates `Lookup()` calls with an odd number of search arguments\n- Marks MCE-only AMPscript functions with `%%-- NOT SUPPORTED IN MCN %%`\n- Converts convertible SSJS blocks to AMPscript (`Platform.Function.*` → AMPscript equivalents, `Platform.Variable.GetValue/SetValue` → `@variable` references)\n- Flags JS-native SSJS constructs (`try/catch`, array methods, regex, complex logic) as `MANUAL_REWRITE_REQUIRED`\n\n**AI reasoning layer (added by the prompt):** for each `MANUAL_REWRITE_REQUIRED` section, the prompt instructs the AI to attempt a full conversion using its knowledge of AMPscript and SSJS, then produces a single final rewritten code block with a prose changelog covering every change.\n\n> **Pipelines and programmatic use:** call the `rewrite_for_mcn` **tool** directly when you need the structured JSON output (`{ rewrittenCode, changes[], nonMigratableItems[], difficulty, summary }`) without the AI layer — for example in a CI step that feeds results to another tool.\n\nThe same hybrid pattern applies to `convertSsjsToAmpscript` and `convertAmpscriptToSsjs`: always use the **prompt** for interactive use; use the **tool** when you need structured output in a pipeline.\n\n### MCN behavioral differences to watch for\n\n| Function       | Difference                                                                                                                                                                                                                                            |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `FormatDate`   | Uses **Java `SimpleDateFormat`** patterns in MCN instead of .NET. Example: `.NET \"M/d/yyyy h:mm:ss tt\"` → Java `\"M/d/yyyy h:mm:ss a\"`                                                                                                                 |\n| `Lookup`       | Search arguments must come in column/value pairs — an **odd argument count causes an error** in MCN. All filter keys must fully specify the composite primary key.                                                                                    |\n| `StringToDate` | Returns a **locale-formatted string** in MCN (G standard format, e.g. `\"5/15/2026 1:23:45 PM\"`) instead of a dateTime object. Cannot be reliably passed to `FormatDate()` in MCN — use `FormatDate()` directly with the original date string instead. |\n\n### CloudPages functions — not migratable\n\nFunctions that depend on CloudPages context (`CloudPagesURL`, `RequestParameter`, `QueryParameter`, `Redirect`, `MicrositeURL`) have no equivalent in Marketing Cloud Next. `check_mcn_compatibility` and `rewrite_for_mcn` flag these as **Not migratable** immediately.\n\n## MCN Handlebars\n\nMarketing Cloud Next embeds a **locked-down Handlebars** templating layer (Handlebars.Net) alongside AMPscript. The server exposes the full helper catalog and conversion tooling, all data-driven from [`handlebars-data`](https://www.npmjs.com/package/handlebars-data) and the `handlebarsEquivalent` / `handlebarsExact` fields in [`ampscript-data`](https://www.npmjs.com/package/ampscript-data) — nothing is hand-maintained.\n\n### Authoring & lookup\n\n```\n1. list_handlebars_helpers       →  browse the catalog (filter by category / origin)\n2. lookup_handlebars_helper      →  signature, parameters, origin, MCN API version\n3. get_handlebars_completions    →  prefix-filtered completions\n4. writeHandlebars prompt        →  generate Handlebars-in-HTML, validated against the catalog\n5. validate_handlebars           →  helper names, arity, block balance, unsupported constructs\n```\n\n`validate_handlebars` rejects constructs the MCN engine does not implement — partials (`{{> name}}`), decorators (`{{#* ...}}`), and built-in helpers absent from the locked-down runtime.\n\n### Conversion categories\n\nAMPscript → Handlebars conversion classifies every function from `ampscript-data`:\n\n| Category | Condition (in `ampscript-data`)                       | Output                                                            |\n| -------- | ----------------------------------------------------- | ----------------------------------------------------------------- |\n| **Exact**       | `handlebarsEquivalent` set AND `handlebarsExact !== false` | Mapped to the canonical MCN Handlebars helper                 |\n| **Approximate** | `handlebarsEquivalent` set AND `handlebarsExact === false` | `{{!-- MANUAL_REWRITE_REQUIRED: … (names the closest helper) --}}` |\n| **None**        | No Handlebars counterpart                             | `{{!-- MANUAL_REWRITE_REQUIRED: … no Handlebars equivalent --}}`  |\n\nThe Approximate note names the closest helper so consumers can tell a function whose call shape merely differs (e.g. `ContentBlockByKey` → `getContentBlock`) apart from one with no MCN counterpart at all. `convertSsjsToHandlebars` is transitive (SSJS → AMPscript → Handlebars) and conservatively flags imperative SSJS for manual rewrite.\n\n## Writing effective prompts\n\n### Automatic tool use\n\nClients that honour the MCP `instructions` field (Cursor, Claude Desktop, GitHub Copilot Agent mode) will call `search_help` or `search_mce_help` automatically whenever you ask an MCE administration or setup question — no special phrasing needed. If your client does not process server instructions, or if you want explicit control, the templates below help.\n\n### Quick reference: which tool or prompt to use\n\n| Situation                                    | What to do                                                                                                                                                                                                                                 |\n| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| MCE admin question (classic Engagement)      | Ask naturally; the server calls `search_help` (or `search_mce_help` directly). Or use the `answerMceHowTo` prompt with `assumeProduct: engagement`.                                                                                        |\n| Marketing Cloud Next developer API question  | The server calls `search_help` or `search_mcn_help` automatically. Or use `search_mcn_help` explicitly.                                                                                                                                    |\n| MCN operational / migration / setup question | Use `search_mce_help` with `product_focus: 'next'`, or ask naturally and the server routes it.                                                                                                                                             |\n| Not sure which product                       | Use `answerMceHowTo` with `assumeProduct: unsure`, or `search_help` without a `target`.                                                                                                                                                    |\n| Write or validate AMPscript                  | Use the `writeAmpscript` prompt, or ask directly (the server auto-validates). Add `target: 'next'` for MCN.                                                                                                                                |\n| Write or validate SSJS                       | Use the `writeSsjs` prompt, or ask directly. Note: SSJS is not supported in MCN.                                                                                                                                                           |\n| Check if code is MCN-ready                   | Use `check_mcn_compatibility` with your file contents.                                                                                                                                                                                     |\n| Migrate code to Marketing Cloud Next         | Use the `rewrite_for_mcn` **prompt** — it calls the tool internally for deterministic rewrites, then applies AI reasoning to any remaining manual sections. Use the tool directly only when you need structured JSON output in a pipeline. |\n| Convert SSJS ↔ AMPscript                     | Use the `convertSsjsToAmpscript` or `convertAmpscriptToSsjs` **prompt** — same hybrid pattern: tool runs first, AI handles what the rules couldn't.                                                                                        |\n| Write or validate MCN Handlebars             | Use the `writeHandlebars` prompt to author, or `validate_handlebars` to check existing template code. Look helpers up with `lookup_handlebars_helper` / `list_handlebars_helpers`.                                                          |\n| Convert AMPscript ↔ Handlebars (or SSJS → Handlebars) | Use the `convertAmpscriptToHandlebars`, `convertHandlebarsToAmpscript`, or `convertSsjsToHandlebars` **prompt** — same hybrid pattern: tool runs first, AI handles what the rules couldn't.                                       |\n| Review a code diff                           | Use the `reviewSfmcCode` prompt or mention \"review the following diff\".                                                                                                                                                                    |\n\n### Copy-paste prompt templates\n\n#### Classic Engagement admin (most common)\n\n```\nSearch the Marketing Cloud Engagement help (product_focus: engagement) and tell me:\n<your question here>\n\nCite which product version your steps apply to and note if the bundled docs are incomplete.\n```\n\n#### Marketing Cloud Next — developer API\n\n```\nSearch the Marketing Cloud Next developer docs and tell me:\n<your question here>\n\nConfirm the steps apply to Marketing Cloud Next, not classic Engagement.\n```\n\n#### MCN migration analysis\n\n```\nCheck these files for Marketing Cloud Next compatibility and give me an executive summary:\n<paste file contents>\n```\n\n#### Rewrite code for MCN\n\nUse the `rewrite_for_mcn` **prompt** — it first runs the deterministic rewrite tool, then applies AI reasoning to any sections that need it. You get the full result in one step.\n\n```\nRewrite the following AMPscript/HTML for Marketing Cloud Next:\n<paste code>\n\nApply all deterministic fixes, convert convertible SSJS to AMPscript, and explain every change.\n```\n\n#### Unknown product / migration question\n\n```\nSearch both Marketing Cloud Engagement and Next help (product_focus: any) and tell me:\n<your question here>\n\nSeparate the steps for classic Engagement vs Marketing Cloud Next clearly.\n```\n\n#### Explicit use of the answerMceHowTo prompt\n\nIn clients that support MCP prompts (e.g. VS Code with the `/mcp.sfmc.answerMceHowTo` command):\n\n```\n/mcp.sfmc.answerMceHowTo\n  question: \"How do I create a child business unit and assign it a sender profile?\"\n  assumeProduct: engagement\n```\n\n#### Combining MCE admin with code\n\n```\n1. Use search_mce_help (product_focus: engagement) to find the correct Journey Builder entry event\n   configuration steps, then\n2. Write the AMPscript snippet that reads the data extension row inside the journey email.\n```\n\n### What to expect from the AI\n\n- The AI cites the product scope (Engagement or Next) in every answer.\n- If the bundled excerpts do not cover the question fully, the AI says so and suggests verifying in the live Salesforce Help.\n- Function signatures (AMPscript / SSJS) are always sourced from the language catalog, not from training data.\n\n## Refresh bundled help indexes\n\n### Marketing Cloud Engagement help\n\nThe published npm package includes `bundled/mce-help/chunks.json`, produced by `npm run bundle-mce-help`. By default the bundler uses the path in **`MCE_HELP_DOCS`** (see `scripts/bundle-mce-help.mjs`); set it to the root of your mirrored MCE Help Markdown tree when not using the maintainer default.\n\n```bash\ncd mcp-server-sfmc\nnpm run bundle-mce-help\nnpm run build\nnpm test\n```\n\nExample: `MCE_HELP_DOCS=/absolute/path/to/mce-help-mirror npm run bundle-mce-help`\n\n### Marketing Cloud Next developer docs\n\nThe published npm package includes `bundled/mcn-help/chunks.json`, produced by `npm run bundle-mcn-help`. Set **`MCN_HELP_DOCS`** to the root of your mirrored MCN developer docs tree when not using the maintainer default (see `scripts/bundle-mcn-help.mjs`).\n\n```bash\ncd mcp-server-sfmc\nnpm run bundle-mcn-help\nnpm run build\nnpm test\n```\n\nTo rebuild both indexes in one command: `npm run bundle-all`\n\n## AI code review in pull requests\n\n### Cursor Bugbot\n\n[Cursor Bugbot](https://cursor.com/bugbot) reviews pull requests (GitHub) and merge\nrequests (GitLab) automatically, leaves inline comments with fix suggestions, and publishes\na `Cursor Bugbot` check. It does not run `sfmc-review-diff` itself — you make it\nSFMC-aware in two ways:\n\n**1. Repository rules (`BUGBOT.md`) — all plans.** Copy\n[`ci-templates/BUGBOT.md`](ci-templates/BUGBOT.md) to **`.cursor/BUGBOT.md`** in your repo\nroot. It tells Bugbot how to review AMPscript, SSJS, and SFMC HTML — unknown functions,\narity, delimiter balance, ES3-only SSJS, and optional Marketing Cloud Next migration\nrules. Bugbot reads the root file plus any nested `.cursor/BUGBOT.md` files near changed\nfiles, so you can scope stricter rules to subfolders.\n\n**2. MCP tools (`mcp-server-sfmc`) — Team / Enterprise plans only.** Bugbot can call MCP\ntools during a review so its findings come from the same language catalog as the editor:\n\n1. In the [Bugbot dashboard](https://cursor.com/dashboard?tab=bugbot), enable Bugbot on\n   the repository.\n2. Open the **MCP** configuration for Bugbot and add this server:\n\n```json\n{\n  \"mcpServers\": {\n    \"sfmc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    }\n  }\n}\n```\n\n3. Add the tools to Bugbot in the dashboard. The relevant review tools are\n   `review_change`, `validate_ampscript`, `validate_ssjs`, `validate_sfmc_html`, and\n   `suggest_fix`. The `BUGBOT.md` rules above instruct Bugbot when to call them.\n\n> Branch protection: require the **`Cursor Bugbot`** check to make sure a review runs\n> before merge. Findings default to a `neutral` conclusion; enable\n> fail-on-unresolved-issues in the dashboard (where available) if you want findings to\n> produce a failing check.\n\n**Run it locally first.** In Cursor 3.7+, run `/review-bugbot` on your branch before you\npush; Bugbot reuses that review on the PR/MR with the same diff, avoiding a duplicate run.\n\n### GitHub Copilot (cloud agent)\n\nThe `.github/agents/sfmc-reviewer.agent.md` custom agent in this repository configures a GitHub Copilot cloud agent that uses `mcp-server-sfmc` for SFMC-aware PR reviews.\n\nTo enable it in your own repository:\n\n1. Copy `.github/agents/sfmc-reviewer.agent.md` to your repo.\n2. In your GitHub repo settings → **Copilot → Cloud agent → MCP configuration**, add:\n\n```json\n{\n  \"mcpServers\": {\n    \"sfmc\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"],\n      \"tools\": [\"*\"]\n    }\n  }\n}\n```\n\n3. Assign the `sfmc-reviewer` agent to a pull request by mentioning it in a comment or via the **@sfmc-reviewer** agent in GitHub Copilot Chat.\n\n### GitHub Copilot (dedicated PR review)\n\nCopy `.github/copilot-instructions.md` from this repo to your project. GitHub Copilot's dedicated PR review feature reads this file and applies the SFMC language rules when summarising your PRs.\n\n### GitLab Duo\n\n1. Copy the content of `ci-templates/gitlab-duo-review-instructions.md` to `.gitlab/duo-instructions.md` in your repository.\n2. GitLab Duo Code Review will apply these instructions on every merge request.\n\n> GitLab Duo's dedicated MR review does not support MCP directly. Use the CI lint job below for automated static analysis, and the Duo instructions for AI-assisted review comments.\n\n### CI linting (deterministic checks)\n\nFor deterministic, blocking CI validation, use the templates provided in `ci-templates/`.\nEach one runs **two checks** on every PR/MR: `eslint-plugin-sfmc` on changed files, and\n`sfmc-review-diff` (this package) on the unified diff — so a finding fails the job\nregardless of which AI reviewer (Bugbot, Copilot, Duo) is also enabled.\n\n| Platform            | File                                                                           |\n| ------------------- | ------------------------------------------------------------------------------ |\n| GitHub Actions      | [`ci-templates/github-action.yml`](ci-templates/github-action.yml)             |\n| GitLab CI           | [`ci-templates/gitlab-ci.yml`](ci-templates/gitlab-ci.yml)                     |\n| Jenkins             | [`ci-templates/Jenkinsfile`](ci-templates/Jenkinsfile)                         |\n| Azure DevOps        | [`ci-templates/azure-pipelines.yml`](ci-templates/azure-pipelines.yml)         |\n| Bitbucket Pipelines | [`ci-templates/bitbucket-pipelines.yml`](ci-templates/bitbucket-pipelines.yml) |\n\nThe ESLint job posts lint results as PR/MR comments; the `sfmc-review-diff` job exits\nnon-zero on `ERROR` diagnostics by default (`--fail-on warning|info` to be stricter).\nSee [`ci-templates/README.md`](ci-templates/README.md) for the difference between the two\nchecks.\n\n### ESLint + @eslint/mcp\n\nFor AI assistants that don't support MCP but do support tool-calling, you can combine `eslint-plugin-sfmc` with the official `@eslint/mcp` server. Add it alongside `mcp-server-sfmc`:\n\n```json\n{\n  \"servers\": {\n    \"sfmc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-server-sfmc@latest\"]\n    },\n    \"eslint\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@eslint/mcp@latest\"]\n    }\n  }\n}\n```\n\nCreate an `eslint.config.mjs` in your project root:\n\n```js\nimport sfmc from 'eslint-plugin-sfmc';\nexport default [...sfmc.configs.recommended];\n```\n\nThe `@eslint/mcp` server exposes an `eslint_lint` tool that your AI can call to run the full ESLint rule set (including all AMPscript and SSJS rules from `eslint-plugin-sfmc`) on any file.\n\n## Architecture\n\n```\nmcp-server-sfmc\n    ├── sfmc-language-lsp   (language intelligence core)\n    │       ├── ampscript-data   (AMPscript function catalog)\n    │       ├── ssjs-data        (SSJS function catalog)\n    │       └── handlebars-data  (MCN Handlebars helper catalog)\n    ├── ampscript-data     (direct — conversion maps, mcnSince, handlebarsEquivalent)\n    ├── ssjs-data          (direct — Platform.Function ↔ AMPscript mapping)\n    └── handlebars-data    (direct — AMPscript ↔ Handlebars conversion)\n\nvscode-sfmc-language (VS Code extension)\n    └── sfmc-language-lsp   (same core, bundled via esbuild)\n```\n\nBoth the VS Code extension and the MCP server share exactly the same validation, completion, hover, and lookup logic through `sfmc-language-lsp`. This means the AI assistant sees the same errors and suggestions that the editor shows.\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/JoernBerkefeld/mcp-server-sfmc/blob/main/CONTRIBUTING.md).\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}