{"_id":"@dsbissett/excel-webview2-mcp","_rev":"13-08550b025e72ed40c5ce158897bb1d6d","name":"@dsbissett/excel-webview2-mcp","dist-tags":{"latest":"0.0.13"},"versions":{"0.0.1":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.1","author":{"name":"Doug Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.1","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"87a05fb691fcdbeadab907b2a17629a920bce3f0","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.1.tgz","fileCount":283,"integrity":"sha512-IUX7RDd8I+RBnc+DBsjliGWgjkbmFAzvME1VrgKdwIO2C1SQOjh4S56fWsG3El+VNCqqX/pZ18o7qDi3wuV8zg==","signatures":[{"sig":"MEYCIQCqUL5STcBCiMXfHCKBLYrSTargltN3cvPthoHsBR6oxgIhALRvOk0Ebuyqp+YXqDTTZs/iW4aX81ad5H5sl1SHBE3j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66515181},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"e033e3063b575ac32e73b0366bf48891a8a1171a","mcpName":"excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.1_1776388505805_0.3631491408958991","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.2","author":{"name":"Doug Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.2","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"14fd1036e79c0326809bcf960aa7bdbeb98d2454","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.2.tgz","fileCount":289,"integrity":"sha512-bG2JW4E9DOUbCnx58q+05SB1a/Bx5bAOer1pl7dDVJS7GjGc8T3oapny6PtKgRohMeR2RjEvZxrjwL8JxZ0EzA==","signatures":[{"sig":"MEUCIBSlYbhK8l0fAxFGZeymhXE7eapCVJ94yN2c3Eq3IZklAiEA/gRyXNzb5Rd+NMgbG32aUEtAm3/GLA4OCpA14gP+Jbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8824769},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"8b71a3c2347f9a2b253a2aad9423c2d3bbaacbc0","mcpName":"excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.2_1776634012421_0.31859685273121774","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.3","author":{"name":"Doug Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.3","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"68c120be0792eabca770e519e4053705d6e74048","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.3.tgz","fileCount":293,"integrity":"sha512-WorG5ONGya2yv64R1VcCm1TXTYhnqOGb7t6Pc6+znvurVTHWGl7kQXLg/FKUpQ2jjCpDqfOhiG7A0oxDWnWmYw==","signatures":[{"sig":"MEYCIQCpUTNweDOUDa+dk2cibur1zb28ZIhzsdELbDprEM+tGgIhAPW5J7Ed4O/af+L+3DgBIJ/mhK7rDf4qYIqtxtB/s6tZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66628734},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"8c463efca054f81a1f84d0170c7c6d796eb3dbbd","mcpName":"excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.3_1776701920167_0.8327692322380662","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.4","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.4","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"5e86cbf1a449159a3d7e325ec257ddf85a708871","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.4.tgz","fileCount":293,"integrity":"sha512-GBBixgBZkQHHIGd9kBRiFH+gKjTiHdjMMiPAIXawcUFxElFQisNvLCFq+Ev2ZSShYVtMUF1MvLB3wmB+3ew82Q==","signatures":[{"sig":"MEQCIAS4yQkZtbRPE5EjM2EdWqi+99Tem9mFFsQ6HUDCytJKAiAmBgTPKpj+rVjpB5Qbl52xC9OWWx/YNQo/dlONbrh+hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66628814},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"2766fa09d59ff44e427864e70615d48403fdfa1d","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.4_1776822839280_0.8453940278571865","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.5","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.5","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"2c2395fd194ca6ca5e43ccc2f49b9888fb8118f3","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.5.tgz","fileCount":293,"integrity":"sha512-pYOMw5JWSb56Qvp8TyVUeyvVZhv3H96wkb7l4TFtcioJfrT0y6CSrBsj1RMe9gsE3zCFWUSMVq6WBHDHMP4hdQ==","signatures":[{"sig":"MEUCIAQhza7WNHYxsOEfdCEQpV40fVOqGTi0GDSU9MRiUaMdAiEAiOoDP4Ox0Y4Rnl+FccOvb0/HaIdGBzq2GFUFR8AGxr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66628814},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"2f96b189e15e5a37cae7c1cfd916ad8ff241ec0a","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.5_1776823194334_0.02898446745037675","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.6","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.6","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"8e78599af9241c7d1a1be114796aedda1e9b9b23","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.6.tgz","fileCount":293,"integrity":"sha512-UGHsCHSoqsI9I88QPDIKMXH4DWLBOedIteV+SCp+taQC6h74km/EzPI8tfOWmD0n69f60Qm/xt5jWQWan3NlOg==","signatures":[{"sig":"MEUCIQCDbODEreTKeK56J3YpqqwwoV4cphQZYf1y7+erASUxVAIgOOtLLApHe6pBzKEQNQPT687mYQQREi5q3DDP7TGJm04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66628814},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"9fcfc972b0b923f8f1672e631452e1a3f8d23cc3","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.6_1776823615583_0.8283435043527425","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.7","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.7","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"cf3968f63741f0198c07aa7eb7760cf00a009c15","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.7.tgz","fileCount":293,"integrity":"sha512-9hFYpAS5EvOyTFT5bZO2h7VzT9PTgZLT8fQltgf2u1L9Ro+SHzKrKJu8MEVwSmhDAaDEJpTsrIO8iL6dqpYaQQ==","signatures":[{"sig":"MEQCIEw8ni6RhBqVPMgHs3+QQK83RZVIkGzhcWbjD8p7oFDmAiBAfd+HpWQ2KaOyUQukwkI3rJ1FIpO1Ok4ROAHobG6ONQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66632384},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"f7c5a0d164f324be50c4c9c41a9939de090b5a31","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.7_1776823848002_0.9221487455353241","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.8","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.8","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"473bb579c574722aaa05f0912320c56a99b71444","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.8.tgz","fileCount":293,"integrity":"sha512-0q2AoAVUTCqc8Xu8fm5LQe73ned3HNwgWXUjqw3NqlzqeXudDqLPHgsL3dCpOdQc9zubfqPweiMDBqWLNHs/xA==","signatures":[{"sig":"MEQCIAPiMgE4EdKNzGvdTpl5CzZ4nf887JDtpfYR5FqJKI56AiBwDtsc4brXmCjfOdfwlWu3pC4w34Cm677Vvfjdhn5D6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66633052},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"911dd46b31b96b2081563f9d5faabed63f6d0e43","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.8_1776968809786_0.12182700520176226","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.9","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.9","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"4f7e02202dbf130fc2dcdcdbf8e24eacf8c0e307","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.9.tgz","fileCount":293,"integrity":"sha512-I4lFUsc8XfuLH+/APQ+NDZjgB7BcUiLHljY89txp9G3vRAe0QE8NXXhMPa9+yYwD+QmH35NepI5Uux7lny1Bsg==","signatures":[{"sig":"MEUCIQCO74pHw1Eiq/lW8ljqcT9rmtEw1z+FieG8fZ3ZMMKPVgIgWxqJCyb0xVzf4Tr28wKDPURcHbNyuMgX0kZcBm8pHf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66634326},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"34ba04e80bc6a1da61939009a923279dd9fe89d0","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.9_1776987789493_0.7871288383321458","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.10","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.10","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"aa08fbf212d731732f01ef8712e207553d6cb191","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.10.tgz","fileCount":295,"integrity":"sha512-/lxhZEfceWIedRG1irvYoCgmYhoBd8quUviaHYXvhWax59LB2D3tc8e4Jo2amxcT0BqncoTIa+6BmWu5v9SLfw==","signatures":[{"sig":"MEUCIFuSb/b0+YMPZKYN8VaJWymwIAyz9A9CN59yi3xDO7aNAiEAgOtkI34JOFJ37AO660m+CMmHVCEsAt4KlyfzToUymRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66649631},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"f62d94ad3c5b392446d3ab8117087a868c003460","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.10_1777139051498_0.6650798056229061","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.11","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.11","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"c3c2a5654447ccede7df4c25db099a6da999df8f","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.11.tgz","fileCount":295,"integrity":"sha512-ovtlPp+unFTTPXku+XXOEK0JpLo5l5bWbJcKpQOWdePBKsmH6Gfj+TFZE4xXmXJaIS24ojMVL29vMT1gujNx3g==","signatures":[{"sig":"MEQCICi/ry41X0tv9PjYg8dEeM5PlM/sdIisUvaH+PeY72uRAiBVOwu2g18om951vWPP2eAFllCL5y5EWsFUkABbGRkGeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66649631},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"cf8010cc5cc0199087da2e21f46e1db2ed9c3c41","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.11_1777139352723_0.0016587646290990854","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.12","author":{"name":"Drake Bissett"},"license":"Apache-2.0","_id":"@dsbissett/excel-webview2-mcp@0.0.12","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"bin":{"excel-webview2":"build/src/bin/excel-webview2.js","excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js"},"dist":{"shasum":"95e76254dd34431cab07fe0345d8c8eb4d2a5413","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.12.tgz","fileCount":295,"integrity":"sha512-pXegiQoyekEuDFWuNo/wa33c7IbHbM3v2f1qaqwOP3r1ovtBX9G9wOgd2EVyLu79n70HtDcNAZSaVXiBr5i8JA==","signatures":[{"sig":"MEQCIDx7+kTejah2qoc9GGiL2zsDLcO/T3tbmof2IPncDdQsAiAgksUscTtrWQSA3W1ZrECPiSKd34veooMePHmFyYqQnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66649631},"main":"./build/src/index.js","type":"module","engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"gitHead":"a9ca102a53bf8e9b0bd37be18c9109f3a734bb30","mcpName":"io.github.dsbissett/excel-webview2-mcp","scripts":{"gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","test":"npm run build && node scripts/test.mjs","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","format":"eslint --cache --fix . && prettier --write --cache .","prepare":"node --experimental-strip-types scripts/prepare.ts","test:only":"npm run build && node scripts/test.mjs --test-only","typecheck":"tsc --noEmit","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","bump-version":"node scripts/bump-version.mjs","check-format":"eslint --cache . && prettier --check --cache .;","cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","test:no-build":"node scripts/test.mjs","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts"},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"repository":{"url":"git+https://github.com/dsbissett/excel-webview2-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"MCP server for Excel add-ins via WebView2 CDP","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"debug":"4.4.3","sinon":"^21.0.0","yargs":"18.0.0","eslint":"^9.35.0","rollup":"4.60.1","core-js":"3.49.0","globals":"^17.0.0","prettier":"^3.6.2","tiktoken":"^1.0.22","puppeteer":"24.40.0","@eslint/js":"^9.35.0","lighthouse":"13.1.0","typescript":"^6.0.2","@types/node":"^25.0.0","@types/debug":"^4.1.12","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@google/genai":"^1.37.0","@types/filesystem":"^0.0.36","typescript-eslint":"^8.43.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.32.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","@rollup/plugin-commonjs":"^29.0.0","@stylistic/eslint-plugin":"^5.4.0","chrome-devtools-frontend":"1.0.1613625","@modelcontextprotocol/sdk":"1.29.0","@typescript-eslint/parser":"^8.43.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/excel-webview2-mcp_0.0.12_1777140059896_0.9249094019662625","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@dsbissett/excel-webview2-mcp","version":"0.0.13","description":"MCP server for Excel add-ins via WebView2 CDP","type":"module","bin":{"excel-webview2-mcp":"build/src/bin/excel-webview2-mcp.js","excel-webview2":"build/src/bin/excel-webview2.js"},"main":"./build/src/index.js","scripts":{"cli:generate":"node --experimental-strip-types scripts/generate-cli.ts","clean":"node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"","bundle":"npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts","build":"tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts","typecheck":"tsc --noEmit","format":"eslint --cache --fix . && prettier --write --cache .","check-format":"eslint --cache . && prettier --check --cache .;","gen":"npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run format","docs:generate":"node --experimental-strip-types scripts/generate-docs.ts","start":"npm run build && node build/src/bin/excel-webview2-mcp.js","start-debug":"DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/excel-webview2-mcp.js","test":"npm run build && node scripts/test.mjs","test:no-build":"node scripts/test.mjs","test:only":"npm run build && node scripts/test.mjs --test-only","test:update-snapshots":"npm run build && node scripts/test.mjs --test-update-snapshots","prepare":"node --experimental-strip-types scripts/prepare.ts","verify-server-json-version":"node --experimental-strip-types scripts/verify-server-json-version.ts","update-lighthouse":"node --experimental-strip-types scripts/update-lighthouse.ts","update-tool-call-metrics":"node --experimental-strip-types scripts/update_tool_call_metrics.ts","verify-npm-package":"node scripts/verify-npm-package.mjs","eval":"npm run build && node --experimental-strip-types scripts/eval_gemini.ts","count-tokens":"node --experimental-strip-types scripts/count_tokens.ts","bump-version":"node scripts/bump-version.mjs"},"repository":{"type":"git","url":"git+https://github.com/dsbissett/excel-webview2-mcp.git"},"author":{"name":"Drake Bissett"},"license":"Apache-2.0","bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","mcpName":"io.github.dsbissett/excel-webview2-mcp","devDependencies":{"@eslint/js":"^9.35.0","@google/genai":"^1.37.0","@modelcontextprotocol/sdk":"1.29.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.3","@stylistic/eslint-plugin":"^5.4.0","@types/debug":"^4.1.12","@types/filesystem":"^0.0.36","@types/node":"^25.0.0","@types/sinon":"^21.0.0","@types/yargs":"^17.0.33","@typescript-eslint/eslint-plugin":"^8.43.0","@typescript-eslint/parser":"^8.43.0","chrome-devtools-frontend":"1.0.1613625","core-js":"3.49.0","debug":"4.4.3","eslint":"^9.35.0","eslint-import-resolver-typescript":"^4.4.4","eslint-plugin-import":"^2.32.0","globals":"^17.0.0","lighthouse":"13.1.0","prettier":"^3.6.2","puppeteer":"24.40.0","rollup":"4.60.1","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-license":"^3.6.0","sinon":"^21.0.0","tiktoken":"^1.0.22","typescript":"^6.0.2","typescript-eslint":"^8.43.0","yargs":"18.0.0"},"engines":{"node":"^20.19.0 || ^22.12.0 || >=23"},"_id":"@dsbissett/excel-webview2-mcp@0.0.13","gitHead":"3e1b93edebf2d3d6f7d235683e1e474dabf5bf09","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-ws7vSyRjuFGuQA/tZeMrjW1jiNZwcwBX6/G14Pv7VPercQdvchQT8vFrzUCuTmH/Q6bEaJxFE2kUv/VemYeZIw==","shasum":"732694a038a9cddee25b0648a526a4e21f5c29d2","tarball":"https://registry.npmjs.org/@dsbissett/excel-webview2-mcp/-/excel-webview2-mcp-0.0.13.tgz","fileCount":295,"unpackedSize":66649631,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFp0C2VAi+pLY23NTSBs/SD2cu960XqPM6OxjYXDeOv0AiEAy/I7ssru7/k1sniwBVCrgzhNn5zvx4izalSgQ4yqv00="}]},"_npmUser":{"name":"drakebissett","email":"dsbissett@gmail.com"},"directories":{},"maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/excel-webview2-mcp_0.0.13_1777140392669_0.2273191641175898"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T01:15:05.724Z","modified":"2026-04-25T18:06:33.130Z","0.0.1":"2026-04-17T01:15:06.185Z","0.0.2":"2026-04-19T21:26:52.670Z","0.0.3":"2026-04-20T16:18:40.563Z","0.0.4":"2026-04-22T01:53:59.669Z","0.0.5":"2026-04-22T01:59:54.669Z","0.0.6":"2026-04-22T02:06:56.264Z","0.0.7":"2026-04-22T02:10:48.377Z","0.0.8":"2026-04-23T18:26:50.201Z","0.0.9":"2026-04-23T23:43:09.820Z","0.0.10":"2026-04-25T17:44:11.982Z","0.0.11":"2026-04-25T17:49:13.034Z","0.0.12":"2026-04-25T18:01:00.264Z","0.0.13":"2026-04-25T18:06:32.984Z"},"bugs":{"url":"https://github.com/dsbissett/excel-webview2-mcp/issues"},"author":{"name":"Drake Bissett"},"license":"Apache-2.0","homepage":"https://github.com/dsbissett/excel-webview2-mcp#readme","repository":{"type":"git","url":"git+https://github.com/dsbissett/excel-webview2-mcp.git"},"description":"MCP server for Excel add-ins via WebView2 CDP","maintainers":[{"name":"drakebissett","email":"dsbissett@gmail.com"}],"readme":"# Excel WebView2 MCP\n\nProfessional MCP connectivity for Microsoft Excel add-ins running inside WebView2.\n\n| Item              | Value                                        |\n| ----------------- | -------------------------------------------- |\n| Package           | `@dsbissett/excel-webview2-mcp`              |\n| Upstream          | Fork of `ChromeDevTools/chrome-devtools-mcp` |\n| Target runtime    | Excel add-ins hosted in WebView2             |\n| Debug endpoint    | `http://127.0.0.1:9222`                      |\n| Recommended setup | Claude Code plugin marketplace               |\n\n> [!IMPORTANT]\n> As of **v0.0.2**, this server can launch Excel and sideload your add-in for you. You no longer need to start the dev server or attach a debugger before using it — `excel_launch_addin` will start your local dev server (if configured) and launch Excel with WebView2 remote debugging enabled on port `9222`.\n> Manual pre-launch is still supported: if an Excel add-in is already running with remote debugging on `9222`, the server will attach to it.\n\n## What's New in v0.0.2\n\n- **Add-in lifecycle management** — new tools launch and stop Excel add-ins directly from Claude Code:\n  - [excel_detect_addin](src/tools/lifecycle.ts) — discover manifest and dev server configuration for the current project.\n  - [excel_launch_addin](src/tools/lifecycle.ts) — start the dev server (if needed) and launch Excel with the add-in sideloaded and CDP port `9222` enabled.\n  - [excel_stop_addin](src/tools/lifecycle.ts) — tear down the launched Excel session and dev server process tree.\n- **Read-only Excel inspection tools** — a broad set of read operations for inspecting workbooks, worksheets, ranges, tables, pivots, charts, and more. None of these mutate workbook state:\n  - Context & structure: `excel_context_info`, `excel_workbook_info`, `excel_list_worksheets`, `excel_worksheet_info`, `excel_active_range`, `excel_used_range`.\n  - Range reads: `excel_read_range`, `excel_range_properties`, `excel_range_formulas`, `excel_range_special_cells`, `excel_find_in_range`.\n  - Formatting & validation: `excel_list_conditional_formats`, `excel_list_data_validations`.\n  - Tables & names: `excel_list_tables`, `excel_table_info`, `excel_table_rows`, `excel_table_filters`, `excel_list_named_items`.\n  - Comments & shapes: `excel_list_comments`, `excel_list_shapes`.\n  - Calculation & pivots: `excel_calculation_state`, `excel_list_pivot_tables`, `excel_pivot_table_info`, `excel_pivot_table_values`.\n  - Charts: `excel_list_charts`, `excel_chart_info`, `excel_chart_image`.\n  - Misc: `excel_custom_xml_parts`, `excel_settings_get`.\n- **Socket-based port detection** replaces HTTP polling for more reliable dev-server and CDP readiness checks on Node 24.\n- **Robust cleanup on Windows** — `excel_stop_addin` now force-kills the dev server process tree via `taskkill`.\n\n## Fork Notice\n\nThis repository is a fork of the Chrome DevTools MCP repository, [`ChromeDevTools/chrome-devtools-mcp`](https://github.com/ChromeDevTools/chrome-devtools-mcp). It preserves the upstream DevTools and MCP foundation, while adapting the connection model for Microsoft Excel add-ins hosted in WebView2.\n\n## What This Project Does\n\n- Connects Claude Code to a locally running Excel add-in through the Chrome DevTools Protocol (CDP).\n- Exposes MCP tools for inspection, automation, screenshots, console access, network inspection, and performance analysis.\n- Targets the embedded WebView2 runtime used by Excel add-ins instead of a standalone Chrome session.\n\n## Connection Model\n\n```text\nClaude Code\n    |\n    v\nexcel-webview2-mcp\n    |\n    v\nWebView2 remote debugging endpoint (localhost:9222)\n    |\n    v\nLocally running Excel add-in\n```\n\nThat separation matters: `excel-webview2-mcp` is a bridge to an existing debug session. It is not the thing that launches or hosts the add-in.\n\n## Prerequisites\n\nYou have two supported workflows:\n\n### Auto-launch (recommended, v0.0.2+)\n\n1. Your Office add-in project (with a `manifest.xml` and a dev server script) lives on disk.\n2. Excel desktop is installed on Windows.\n3. Node.js is installed and `npx @dsbissett/excel-webview2-mcp@latest` is runnable.\n\nCall `excel_detect_addin` first to confirm the project is discovered, then `excel_launch_addin` to start the dev server and sideload the add-in into Excel with CDP port `9222` enabled. Use `excel_stop_addin` to tear everything down.\n\n### Manual / pre-attached\n\n1. Your Excel add-in is already loaded and running in the local Excel desktop client.\n2. WebView2 remote debugging is enabled and bound to port `9222` (see [Launching Excel with the debug port](#launching-excel-with-the-debug-port)).\n3. The debugging endpoint is reachable at `http://127.0.0.1:9222`.\n\nVerify with:\n\n```sh\ncurl http://127.0.0.1:9222/json\n```\n\n## Launching Excel with the debug port\n\nThis section applies to **Excel desktop on Windows**. Per Microsoft's WebView2 and Office add-in documentation, the supported way to pass Chromium flags into the WebView2 runtime is `WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS`. The WebView2 team also documents a registry-based fallback for persistent configuration.\n\nIf you are using **Excel for Mac**, this MCP server does not apply. Microsoft documents Excel for Mac debugging through Safari Web Inspector instead of a WebView2 CDP port.\n\nSources:\n\n- WebView2 debug arguments and registry policy: <https://learn.microsoft.com/en-us/microsoft-edge/webview2/how-to/debug-visual-studio-code>\n- Office add-ins debugging with Edge DevTools: <https://learn.microsoft.com/en-us/office/dev/add-ins/testing/debug-add-ins-using-devtools-edge-chromium>\n- Office add-ins debugging overview, including Mac: <https://learn.microsoft.com/en-us/office/dev/add-ins/testing/debug-add-ins-overview>\n\n### Windows: preferred local-dev setup\n\nSet the environment variable before launching Excel so the Excel process inherits it:\n\n```powershell\n$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=\"--remote-debugging-port=9222\"\n```\n\nThen:\n\n1. Launch Excel from that same shell or from a parent process that inherited the variable.\n2. Start your add-in locally.\n3. Confirm the debug endpoint is live.\n\nWorked example:\n\n```powershell\n$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=\"--remote-debugging-port=9222\"\nstart excel.exe\n```\n\nThe Office add-ins team documents this environment-variable mechanism generically for WebView2-hosted add-ins, and the WebView2 team documents `--remote-debugging-port=9222` as a valid browser argument.\n\n### Windows: persistent registry fallback\n\nIf you need a persistent machine-local setting, the WebView2 team documents this registry policy path:\n\n```text\nHKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Edge\\WebView2\\AdditionalBrowserArguments\n```\n\nUse:\n\n- Value name: `EXCEL.EXE`\n- Value data: `--remote-debugging-port=9222`\n\nUse the environment variable first for local development. It is easier to turn on and off and avoids leaving a persistent machine-wide setting behind.\n\n### Verify the endpoint\n\nRun:\n\n```sh\ncurl http://127.0.0.1:9222/json/version\n```\n\nA healthy response is JSON and includes fields such as:\n\n```json\n{\n  \"Browser\": \"...\",\n  \"Protocol-Version\": \"...\",\n  \"webSocketDebuggerUrl\": \"ws://127.0.0.1:9222/devtools/browser/...\"\n}\n```\n\nIf that `curl` command fails, Excel is not exposing the WebView2 debug port yet, and `excel-webview2-mcp` will not be able to attach.\n\n## Installation\n\nThe server ships as the npm package `@dsbissett/excel-webview2-mcp` and is invoked via `npx`. The configuration below is the same across every host — only the location of the config file changes.\n\nCanonical MCP entry:\n\n```json\n{\n  \"mcpServers\": {\n    \"excel-webview2\": {\n      \"command\": \"npx\",\n      \"args\": [\"@dsbissett/excel-webview2-mcp@latest\"]\n    }\n  }\n}\n```\n\n<details>\n<summary><strong>Claude Code (CLI)</strong></summary>\n\nOne-liner:\n\n```sh\nclaude mcp add excel-webview2 -- npx @dsbissett/excel-webview2-mcp@latest\n```\n\nUse `claude mcp add --scope user ...` to make the server available in every project, or `--scope project` to check the config into `.mcp.json` for teammates.\n\nAlternatively, install the bundled plugin:\n\n1. Add the marketplace from [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json) with `/plugin marketplace add dsbissett/excel-webview2-mcp`.\n2. Install with `/plugin install excel-webview2-mcp`.\n\n</details>\n\n<details>\n<summary><strong>Claude Code (VS Code extension)</strong></summary>\n\n1. Open the Claude Code side panel in VS Code.\n2. Open the command palette and run **Claude Code: Manage MCP Servers** (or click the MCP icon in the Claude panel).\n3. Choose **Add Server** and paste the canonical MCP entry above, or run the `claude mcp add` command in the VS Code integrated terminal — the extension reads the same config.\n\n</details>\n\n<details>\n<summary><strong>Cursor</strong></summary>\n\nEdit `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` in the project root and add the canonical MCP entry above. Restart Cursor, then open **Settings → MCP** to confirm `excel-webview2` shows as connected.\n\n</details>\n\n<details>\n<summary><strong>Codex (OpenAI Codex CLI)</strong></summary>\n\nCodex reads MCP servers from `~/.codex/config.toml`. Add:\n\n```toml\n[mcp_servers.excel-webview2]\ncommand = \"npx\"\nargs = [\"@dsbissett/excel-webview2-mcp@latest\"]\n```\n\nThen launch `codex` and confirm the server appears in `/mcp`.\n\n</details>\n\n<details>\n<summary><strong>GitHub Copilot (VS Code)</strong></summary>\n\nGitHub Copilot Chat in VS Code supports MCP servers through the agent-mode configuration.\n\n1. Create or edit `.vscode/mcp.json` in your workspace (or the user-level `mcp.json` via **MCP: Open User Configuration** from the command palette).\n2. Add the server entry:\n\n   ```json\n   {\n     \"servers\": {\n       \"excel-webview2\": {\n         \"command\": \"npx\",\n         \"args\": [\"@dsbissett/excel-webview2-mcp@latest\"]\n       }\n     }\n   }\n   ```\n\n3. Open Copilot Chat, switch to **Agent** mode, and click the **Tools** icon to confirm the `excel-webview2` tools are available. Use **MCP: List Servers** from the command palette to inspect status or restart the server.\n\n</details>\n\n### Verifying the install\n\nAfter adding the server, ask the model to call `excel_detect_addin` from your Office add-in project directory. A successful response confirms the MCP server is wired up; from there `excel_launch_addin` will take care of starting Excel.\n\nBy default, the server connects to the local WebView2 debugging endpoint at `http://127.0.0.1:9222`.\n\n## Local Development\n\n```sh\nnpm install\nnpm run build\nnpm start\n```\n\nSupported Node.js versions are `^20.19.0`, `^22.12.0`, or `>=23`.\n","readmeFilename":"README.md"}