{"_id":"@flowdot.ai/mcp-server","_rev":"28-3b3b60cd3658217a8217faafffc33532","name":"@flowdot.ai/mcp-server","dist-tags":{"latest":"1.3.24"},"versions":{"1.0.0":{"name":"@flowdot.ai/mcp-server","version":"1.0.0","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"MIT","_id":"@flowdot.ai/mcp-server@1.0.0","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"45decff9e2b2703ea16d8ac9527959443d129984","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":315,"integrity":"sha512-fXZH1Up2Q6lxHr5BKQNfB4fCYon0sjQwMOWFBj6DBUWfisTxuB5aPfCWPVJRSNnaPFDMYQdwOe5O5W8/wU+PHw==","signatures":[{"sig":"MEUCIQDxGgLIS9czA/iybDqCK4hdMmuAGZSwp1+HgWi6B91GNgIgMJdR58H0EckXyC2PWiELYYVjBIkoONwbpd4xd9vSDLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599699},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8f39bbf1d4df809e44e441cf7ffc10ca46db7667","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","build:mcpb":"node scripts/build-mcpb.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"_nodeVersion":"22.20.0","dependencies":{"acorn":"^8.15.0","@types/acorn":"^4.0.6","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.0_1767302354240_0.7929878210788761","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@flowdot.ai/mcp-server","version":"1.0.1","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"MIT","_id":"@flowdot.ai/mcp-server@1.0.1","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"f4a3a92f9726f033c73ac543b9f78e42bb7c4a4d","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.1.tgz","fileCount":432,"integrity":"sha512-rtXeprvIcE6sKMDr7ch74Yn/lPcBjrsnkuG5H4Jg/B1SeQXwg4Vqs4ovpNV33N5P9+UoEOxm8vjnnVTC3UYf+w==","signatures":[{"sig":"MEUCIEsCQV5lbhCGfJ1twVQKW9Dtl6GQj1PymyCWB1GXg474AiEAnRgwaqBcFhvZEeFR2wOWPxGyF+gv+S6VJ57dbGCtLf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":958995},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"27260a12f688ad6f263d8aac5d6c3d2021af9c3a","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","build:mcpb":"node scripts/build-mcpb.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"acorn":"^8.15.0","@types/acorn":"^4.0.6","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.1_1769461752550_0.4283800711216301","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@flowdot.ai/mcp-server","version":"1.0.2","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"MIT","_id":"@flowdot.ai/mcp-server@1.0.2","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"66277cb0defba3e74fadb9ee4e696cd285e7f32c","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.2.tgz","fileCount":508,"integrity":"sha512-jk8urRFBpzrYmSHgjkIIYfMHVANOH254cg7UETE1Dg9KUweF7WgAuYC0dHJNbFkCTYDx8RwZKR/DELtkmLEWBw==","signatures":[{"sig":"MEQCICFNtDyI3xaiubmKUmONexwoUPObdbaPaphgj+ZqCCgXAiAQEnFA89/EA8RbCFCRubZbZxWH0dVcITK38Ppa6ohr5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":971900},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8b402131cde3178b314012b71631e979b2e561cf","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"file:../flowdot-api","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.2_1774294507126_0.7746028706245855","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@flowdot.ai/mcp-server","version":"1.0.3","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"MIT","_id":"@flowdot.ai/mcp-server@1.0.3","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"f37d91f8f8c342371dbbc7eb99fcbee8b1613e8d","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.3.tgz","fileCount":508,"integrity":"sha512-+W5VfHWt3oBG4YuMUsSeuhZbgtCBsSt0j2DhF/e73wQvBtqQbeR2dFqmtPUb0LSNpHf+Vu3cUMD8FyG9EhD8cg==","signatures":[{"sig":"MEYCIQDCpzgrndTzxo8hPHdeNpacfq6M5zgS2Vbbls+9klJiJAIhAKyTFNmQ4NCTKYojlGx0T2AWgp1wdPLLhXIZJPNW5pzd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":971887},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"09d6b1ce658530f6d788a8b25a5a3ab103775aef","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.0.2","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.3_1774623259371_0.899614951917391","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@flowdot.ai/mcp-server","version":"1.0.4","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.0.4","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"e661c9e099e887226cd9e41759f12b20650d2954","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.4.tgz","fileCount":508,"integrity":"sha512-z22oLMVBzJkfqLrAtGb8Z1m9mOal8P4kEWEGKduVEnZxlIJ0xndF+3NHZzn2AOUnayle6/SZiYzrTOwbr9AAHw==","signatures":[{"sig":"MEUCIFl4pjPbmAlSjwxyLsM9j2kqK97BPHsxGbm93k6saDUUAiEA8WzYkX2DXClVS53CiHtz467asgSrB1sn9jhJGc9QYq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":972660},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"01bdc09b8a591858186ba70828007eead1b0af3b","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","start":"node dist/index.js","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"_nodeVersion":"22.19.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.0.3","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.0.0","@types/node":"^20.0.0","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.4_1774624256060_0.7883455033669617","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@flowdot.ai/mcp-server","version":"1.0.5","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.0.5","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"c6cf075537af687047afc9a3cf6ca4d9fec59073","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.0.5.tgz","fileCount":262,"integrity":"sha512-ch8bPZMCiR/iTSv5HjusXbAQrdTyhGYLFgN0I7EghOapOTiLojlaUwEUOr/PlABy+sqgoQAC3h9VN7+2qi1usg==","signatures":[{"sig":"MEUCIQDXfjRrEDiNXaMCmrrS9j2O3yBX84D9wLLyPFzu2tpIJQIgS0xBJRWEDCKXwrVr/Q8ZY2KtsOIyNzrCLUBXpuyPRg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603409},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9fcdbb0b1d005a938bb631b5d52147fda0d12041","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.14.1","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.0.5","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.5_1775937150898_0.9517091431035407","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@flowdot.ai/mcp-server","version":"1.1.0","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.1.0","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"1f1d70d113f03768e71ee55f21d64c3c168b4d2d","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.1.0.tgz","fileCount":290,"integrity":"sha512-S0a9pASHlmj9XQgL4l5e9NCUEt7bZPtKEgecGz1nXOOhluueMqnWWF4pemmHF5DwJdzhvmw1OItI5Zkfxihj2A==","signatures":[{"sig":"MEYCIQC9KHUAruZRqYTjM+MV72/FuE3K/310I307CAOodwBZfwIhAL9q36l6VuBoL8F3ni+skOEJBtJJYodlyInGFH/opq9I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645481},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ea1e1b1126e3bd83e67a4b38708e67e5e4f1630d","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.14.1","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.0.6","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.0_1776309752542_0.7047282966611843","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@flowdot.ai/mcp-server","version":"1.2.0","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.2.0","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"fd875a741b544bc026c3d1496ffe14721f412e69","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.2.0.tgz","fileCount":324,"integrity":"sha512-+8nCTqsCmsi3Bl8qbMYHjyWS5OGHtChj1L2dZhgs1z63BGh3RmECPqyl66eSpKlllxURaFrrMxH6jhERaXeKUA==","signatures":[{"sig":"MEUCIFC7hPPKZzHmmGXrFlAd2nC+jRw+A12N/51MRfi40vJkAiEAnaBGA6o63l4jSyvXMzBbGg128Tgk6wEqtwW0QV/exBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":687975},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e70e57a38e4ce50990076961a763e99be0ee7110","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.14.1","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.1.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.2.0_1776460040711_0.4850572403883042","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@flowdot.ai/mcp-server","version":"1.3.0","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.0","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"bf442dcea711b26bd7b44fca6109a9a565a556ea","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.0.tgz","fileCount":340,"integrity":"sha512-9zRLgJUghGUygGUvfuAR/jzzg4OPFcFqtpt4nwoh/18ctu30Xo1HprEa9D7v+VCuSJm3MLD1Y4DblQyZM0UeBw==","signatures":[{"sig":"MEUCIQCmdlCu6wHksXs9n2Q8PUbUOCmhQknJJqPsXdl1+rVUKQIgVwPXN8V86lNAtkVns7wSzkqlyH7/DMxeSt+XMEHkoRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":747144},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7f989b246d179d63324f7733fc592c5138fc2e4a","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.14.1","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.0_1777484799947_0.5995581403669674","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@flowdot.ai/mcp-server","version":"1.3.1","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.1","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"84ec9d6f28c7928e2c9e57351b15b464d2f3b526","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.1.tgz","fileCount":352,"integrity":"sha512-XCAha4kDMvYpLNUCOqG/GMhtL0GNFMW5PaXCxPmHR4WwpGGxD25gPr2qdKDeqAHaSIJqX/RlIHgjqkIU2bXiBQ==","signatures":[{"sig":"MEUCIQDtR5mfX+JzkkS4ynryONL0QPxAEZKNvWs2aB8ar0ywfwIgIEyt48JyoubwfrjZxkeepWqFtImh4HwMUc3H7dO8tvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":768597},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"05a04523c02dc283aa5d3cb6286a984137da128c","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.14.1","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.1_1778258344840_0.023037204352454932","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@flowdot.ai/mcp-server","version":"1.3.2","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.2","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"c026045f8ea02d26fab1457e9df42eef4bc6dd6e","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.2.tgz","fileCount":370,"integrity":"sha512-STqC32qWi/fJufkLrctlqIMq8pXoC9QQRWdvkiGunq3ts8ughwfQWY8dd7NLZai6VOgP0+gcsjXhHyv3hPZQdg==","signatures":[{"sig":"MEQCIEcUmIz2arNyfw6RPinKed+ats3noUxR3iuLbritKRLwAiAP8HyKBM8fFECS2IKpOyo91ocp0lEx98YKzPpCgvCTiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":813224},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8d3f70bd89f68c538a9f8faa300be74f18061302","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.20.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"file:../flowdot-api","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"file:../guardian-agent-ts"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.2_1778895402412_0.5937384255421705","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@flowdot.ai/mcp-server","version":"1.3.3","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.3","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"0f4e70737e2902c207b1768e6ecd2b1493ce18f2","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.3.tgz","fileCount":382,"integrity":"sha512-V0vyaw0C6uv2zTEDKdJkhk7jp5hjJxJ6+B3/8tZchBq0YM6fqJVRDIQgvfXxanhfm/6fDgXg5EuvCIle75Ucyg==","signatures":[{"sig":"MEUCIQDB5c86W0k+9Qq/VQopusce+1xuh7A5kh4OKKE2OhQ6lQIgGeueMb34r6/d/YHHLkA/RP2fNJYBGoHr0AW3olQH7sI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848465},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"62419129bcdc1c85a5784bad4b513985b902088e","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.3","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.3_1780757852831_0.5379420837454283","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@flowdot.ai/mcp-server","version":"1.3.8","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.8","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"e9032c27a4751e39310c9f43e8840bf01881b8d4","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.8.tgz","fileCount":386,"integrity":"sha512-Ra+NOa0Ar/sZ+X8mT1ito/ioh7mCgd1rOYZhtPjLbORlZnn/9h7FWMBV3QdwfjF/FDNGVKZLOdUvCB/79eXolw==","signatures":[{"sig":"MEUCIQDvxfEPplejolbqL1Y8K4Ysg0OATp9z+6Np3Gg0nNiGpwIgU9J7P7aSJWazKTDg6dywjqF+2P2IMYXW2tGK+T881lU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":882547},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"96a63acdef37d59cb55d6ceb41bf28106cea4a85","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.16.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.5","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.8_1781716225873_0.7059248232429023","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"@flowdot.ai/mcp-server","version":"1.3.9","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.9","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"c96892dbd8ce28302fdfb06be300d1c51a5225a2","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.9.tgz","fileCount":390,"integrity":"sha512-bzpcLQ5/fJgRCJKLyPwbwXncqZc3r2s3YTeMOJbs6dLBkJLx5Y+YeHfcgZMStIH9sod8lSs0wY1b7ge9oZdiGw==","signatures":[{"sig":"MEQCIE9KvlwcTP2y8L8r0ty1nn3/GwXQwdxWJdtnf7SwS9InAiB7PFhSQdu905QFnEK1MZuEe7wLqAY+Pke4SbqMS4nz9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":893260},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"780984999b03a9286f517d0e721e48bd90e25fe6","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.17.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.6","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.9_1782502632358_0.06334452581993921","host":"s3://npm-registry-packages-npm-production"}},"1.3.10":{"name":"@flowdot.ai/mcp-server","version":"1.3.10","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.10","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"39394a750b5751e565fc0125ff141f293f62bd6b","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.10.tgz","fileCount":402,"integrity":"sha512-+YEd+NYxZrGKbJHQkjzhO8/wARfxGLu4PQ1R1+aMDgGlMDIBLm0ls2ZmtCoVaiDXIj5dTviVo3+FKXjY4/yruw==","signatures":[{"sig":"MEUCIHnwH5vnz5UJ3YvxeH6FCr/S+5PWwSY0fo1ZScn34yN5AiEAlGHDVQXE5Fr2y+YRZdzegHKo1vaGWAuMdk3kw/TppQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":919517},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"bd583fa34666fb6d0dafc18a92f2ac1140ba3770","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.17.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.7","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.10_1782911734227_0.6895712940044147","host":"s3://npm-registry-packages-npm-production"}},"1.3.12":{"name":"@flowdot.ai/mcp-server","version":"1.3.12","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.12","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"ceec1f416d644275b1d60ca57c498aace542b242","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.12.tgz","fileCount":406,"integrity":"sha512-jOw/7lBJy7ao7MhO3QVYJ1LrZ7qele/75gyh/AIzalYBfpx1wTm1nDm0lARdjn2B+9DYdzEqZcSmeRhM9gUYHw==","signatures":[{"sig":"MEQCIDsQVEJ9vhG+p++1nt+SAcTijJ70p/IeFYKn2GZ8omb3AiAP2uvHcq4Qw+1A8lAzKXWATtm3Pg8da5X74hlAUsbMKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flowdot.ai%2fmcp-server@1.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":928635},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"75c4e8e336354a9b2004566b2e6fc893a478556c","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f41deca2-aa79-40d0-a293-6597cfcc2c63"}},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"24.18.0","dependencies":{"acorn":"^8.15.0","js-yaml":"^4.1.1","@types/acorn":"^4.0.6","@flowdot.ai/api":"^1.2.7","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.12_1783441346095_0.600354273356807","host":"s3://npm-registry-packages-npm-production"}},"1.3.14":{"name":"@flowdot.ai/mcp-server","version":"1.3.14","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.14","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"2921303836255b260b5b0da297c184699dd1e3bc","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.14.tgz","fileCount":415,"integrity":"sha512-BQ+JnFTlJTEGbMN5ka8D//xDM9uW0dup3q54o2JX8CQZIAblbkUZHhQlLp7zQjRGG4lkvLpNy9pGCptOZdDeEg==","signatures":[{"sig":"MEYCIQDBjyUjNRkjED+o4hx4cWAWC8oZf97Gye+r2fgvOl4DJwIhAKXZgY3MF4hF+BxEUNpv96C1GuMbYHV8WDhvQPrfC/z9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1172214},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"46d3b233f560af3516df9043a08b00a6d9d86209","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.0","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@flowdot.ai/api":"^1.2.7","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.14_1784051621225_0.8753887992180016","host":"s3://npm-registry-packages-npm-production"}},"1.3.15":{"name":"@flowdot.ai/mcp-server","version":"1.3.15","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.15","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"935d7a125280df9cc4cfc5fa36327da805794eb6","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.15.tgz","fileCount":388,"integrity":"sha512-nU6Jtlelz7yXXFLLU38Q1ceHBRtwY3pkYiBImcIlR7r5n0t7bM51+rrXTHkmTxaXo+d9+ReMHgFjUtgTV3o5pA==","signatures":[{"sig":"MEQCIEhUki4c2zEwKKz8M5RjlJZNrjEdIP2WhX7iNdOvBS2DAiAd96Ic0yElyFGk3MDEA7mjrBCbANKuRasI6BERQOZ1mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1578699},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ee846643e56bd615bd62500c140384c84620477e","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.0","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@flowdot.ai/api":"^1.2.9","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.15_1785770006725_0.08946091352368013","host":"s3://npm-registry-packages-npm-production"}},"1.3.16":{"name":"@flowdot.ai/mcp-server","version":"1.3.16","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.16","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"caf417a8bad0c620ca10438a499cad2eb2a42976","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.16.tgz","fileCount":389,"integrity":"sha512-GwwH5OocJ40vCXCqNrJz9DsqYyp1aQYV7WagvPaxk9akSxczm/NoRRwvaPBvbQkIfeU1RoGACwxOj9Ilv5eNfg==","signatures":[{"sig":"MEYCIQDAZIV8cvoHgbQVBeDPr0sNe27ImWOBPkoUWBz7OzglUgIhAIzmKROuPbXi2e0byONGZRTcAJmy1F35twEJiEalloJ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1607624},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"72c870a2522ab4e22b28092c0f7f6711ae96bb8b","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.0","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.16_1785783680478_0.8963557703108422","host":"s3://npm-registry-packages-npm-production"}},"1.3.17":{"name":"@flowdot.ai/mcp-server","version":"1.3.17","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.17","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"085717113ed508bf48a848847825c00b89b999fb","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.17.tgz","fileCount":389,"integrity":"sha512-9cfbVZv2a4JFccbuz+P6uUg4sncD2KIHko4mlwvsHuXwrt3rXwTNKGhzrPT2Ki/jhlunP6u/kAllCUu7EmZtIw==","signatures":[{"sig":"MEUCIQDbjmDylZilGSI1eLhYPhyNW/PY17sVKmGr+AMGBvlrawIgHaVmRDNqB0Zq3q5F56qLkySNNT7V4cxwavzGS+4+0Ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1634003},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"316d6db4140f2dd16140327aa3b4aa42c5614754","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.17_1787408262888_0.09551354784076116","host":"s3://npm-registry-packages-npm-production"}},"1.3.18":{"name":"@flowdot.ai/mcp-server","version":"1.3.18","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.18","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"ebd90f9b9d1abb9a648fc8e2487dfd5ac33b2747","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.18.tgz","fileCount":393,"integrity":"sha512-6twnArpK+9zsIaLF+8q0SV7nv1boq4AYWCvRrQT+Ba38gS+dJ5a3AitPL+4S2iCIuAFKSFk7igQRkLr5i8vLQA==","signatures":[{"sig":"MEUCIQCPNU2bxW38PIraRQqiIR7hQI4kUon47Hne+NPaA96gLAIgWOuWY9xCkxe1UT7hPee1nrcF8Evj1g0XCfKGmJPVjgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGr28R6gXcxUifNDBpUDmuglOPDtcmdKURk0HPu4H4etAiEA322h7Ne4IPsqQmD/sCOP9mi5lhb7w9xYejCqGDs3/Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1660156},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"aea1eb45ae47c9daef5e395b4b10145b92951afc","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.18_1790340035352_0.03415125339754699","host":"s3://npm-registry-packages-npm-production"}},"1.3.19":{"name":"@flowdot.ai/mcp-server","version":"1.3.19","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.19","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"e633a779182747e84afc7010191c19c7b6d94fbf","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.19.tgz","fileCount":395,"integrity":"sha512-S7YmW3+wVzxOKGyw6zRDvgNsFcgvLwJvOgWvog4b2xHT/brAZLX4Y/qfPRVBRJh2Of+nuGvg/6jqcJV29trdKw==","signatures":[{"sig":"MEUCICUqlSkhrO6GzVzylxFPkvOQXJOPTcO3e7P2X6qlB34wAiEAoiW7TsHBglGiPCj7v4glg8vfaSbmfHcP3e+rBIw5Fxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEnfMW5yuCPMR/3kPB/pvYQiM4nQE7aniJye4EAlf0OGAiEAqf0rNgK4Bx6UostSUf1f9HPf8hPI8DFDqkcO0IRU5gY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1661651},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0ac969bcd797c1d8300b54b151744c2309fb2ac0","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"deprecated":"broken missing dependency. Use 1.3.20 or later.","repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"file:../guardian-agent-ts"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.19_1791134059381_0.37608047311895065","host":"s3://npm-registry-packages-npm-production"}},"1.3.20":{"name":"@flowdot.ai/mcp-server","version":"1.3.20","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.20","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"42d43cd1c98812dc416caec7d69e23d1f54bcf86","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.20.tgz","fileCount":395,"integrity":"sha512-MN7XnHqYyfeuFIiobozj80SENXIu69x+6RD/gOj0unGH3V5rkhhkUBis6PqZkxcJlzvF4SZdGsgBhNVVtrjdfw==","signatures":[{"sig":"MEUCIGjMVr9VEQdY5Rqb1MPKAOnLdAy4mMb7u/YF+fcnWAWtAiEAqXWRjcVMBFYyUY8a5Ok4dp8v0KgBtb4KKnN8Ps1mZpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCV8jvip6c2s1IBM9o9humZ1svsT0/5OVTYaf0VL4ICdQIhAKfFVlgrug7tIGpHaF3DyXQu4asu/zza50MfKZrlgeS1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1661632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"374d4f90bf8b38aaa7f014959a53a69d891bb889","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.20_1791134481772_0.2521071135584161","host":"s3://npm-registry-packages-npm-production"}},"1.3.21":{"name":"@flowdot.ai/mcp-server","version":"1.3.21","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.21","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"b77b58c56d69f90e236d31d60f50fc53d678bc53","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.21.tgz","fileCount":395,"integrity":"sha512-uElKlYztyNYKTatHKx54kIVQDNt8gKa9KqoITVJjRMtOX1U9te31RnziXTIuxxJklV8U1ybfkVvsUwPZBXr7vw==","signatures":[{"sig":"MEYCIQDMeY+WkhX+eMl+iTnmYZnz6/oICSwBkomMZe0KSTHn4AIhALE3yXv40laIIymMPH1SBgy0uyS4qCn7v4jhk3RicWoq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCknO7CVuflZ8hScM8GDo2k2dF6Hnocc8RePO+LYImEQgIgVROTiNid3FfYoKCRTH8W1PwPSCq/FmHmbCqaZONPZmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1662276},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8e70b211fa6b224370a312c59710debe44c51015","mcpName":"ai.flowdot/mcp-server","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.21_1791144634213_0.5341343757207262","host":"s3://npm-registry-packages-npm-production"}},"1.3.22":{"name":"@flowdot.ai/mcp-server","version":"1.3.22","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.22","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"026d7a8b0018743805f80d0dc2890e89d2930708","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.22.tgz","fileCount":398,"integrity":"sha512-m5dnqIXOiP1E44bIbwKTH41ZY/VYnsDHZsz0sDC2aRD3YR6VWsQH11QIIRWhkj8ZBzDVt4rU1VH4xxhNeEX16w==","signatures":[{"sig":"MEQCIEZzsgIsI9VGKT3/fooslOQoc1QN5wmZgSoI97DLJKIrAiAFfOJmwx58s7RO+qbdUTvtWufVUnJzOnN4EGFKlg/a4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDAXa0x4+KWoU4e7eWUyA7eQBfgAUnTTcG6AR6vPnlGMwIgS/yyIsOgf02DjAem/do3FS84S7NAwLmCEuPWnP5LUtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1730448},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f00b4fcf1111a2fc2f709eb3ede629596661b187","mcpName":"ai.flowdot/mcp-server","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/agent-comms":"file:../flowdot-agent-comms","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.22_1792154348868_0.9796776933087612","host":"s3://npm-registry-packages-npm-production"}},"1.3.23":{"name":"@flowdot.ai/mcp-server","version":"1.3.23","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","_id":"@flowdot.ai/mcp-server@1.3.23","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"homepage":"https://flowdot.ai/docs/mcp","bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"dist":{"shasum":"37d0c466e275f9ef677a825f6ae79a1b0753d83d","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.23.tgz","fileCount":400,"integrity":"sha512-ITZCq8mmXwM+VC05VNG5NfN7yGC/tTV4JA6DYvB433UjihiXOjhpcTBNoYGbROVo1wIfDxfkXxIsDDLUV1VCgg==","signatures":[{"sig":"MEUCIBiPkwrRpuVL8GqV3dl4Km1zSbqiewAtFdsZBUabiWH/AiEA4QCuOc3ImUXcIYBrQonQsV2wvk7MGxV30gs600T13jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGnFs9xcKOT1No1bQfzb9nPamyfGcsk8K95uRagEU65iAiAGW7KF5AD8x8noeP7bFtiQ89IxKlJdTrW/sMrNQfow7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1752624},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c526a90371a92557f0649f8182529505138551d5","mcpName":"ai.flowdot/mcp-server","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/agent-comms":"file:../flowdot-agent-comms","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.23_1792596732398_0.2864161673184247","host":"s3://npm-registry-packages-npm-production"}},"1.3.24":{"_id":"@flowdot.ai/mcp-server@1.3.24","bin":{"flowdot-mcp":"bin/flowdot-mcp.js"},"bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"dist":{"shasum":"6fdc7573aa30b9fc4fa9490fb54455f99c98dcd7","tarball":"https://registry.npmjs.org/@flowdot.ai/mcp-server/-/mcp-server-1.3.24.tgz","fileCount":404,"integrity":"sha512-V5r0VkROym7z26Z277dGxK9X+lCW0JI90+NHcIcd/O7KJfglTcNMWcfJ8cQephjAXM0IT7X5t8HDhnWWxxtRMg==","signatures":[{"sig":"MEQCIEGpwxZdrOT8arWeJnqFiIEujINqjAWO0Du8jue3K2q4AiADeQ4r3PTQiiP+SsY1S0SyIOLHiWdsfPlIMbk3GnTm9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDjA5KD0L9a7yTkhkqDSb4/kSLWuIsb32XqPh+f1fe0rAiA6ihLvKiOKIwv50QfRY4tcoOTHHWbWpM8wesXX6wbmww=="}],"unpackedSize":1786397},"main":"dist/index.js","name":"@flowdot.ai/mcp-server","type":"module","types":"dist/index.d.ts","author":{"name":"FlowDot"},"engines":{"node":">=20.0.0"},"gitHead":"660eaf0d16608a1d30a8d4eed3a927216d936ee9","license":"SEE LICENSE IN LICENSE","mcpName":"ai.flowdot/mcp-server","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc && node scripts/inline-engine.mjs","clean":"rimraf dist coverage","start":"node dist/index.js","prepare":"husky || true","lint:fix":"eslint . --fix","build:mcpb":"node scripts/build-mcpb.js","test:watch":"vitest","verify-pack":"node scripts/verify-pack.mjs","publish:safe":"node scripts/publish.mjs","emit-manifest":"npm run build && node scripts/emit-manifest.mjs","test:coverage":"vitest run --coverage","manifest:check":"node scripts/emit-manifest.mjs --check","prepublishOnly":"npm run clean && npm run lint && npm test && npm run build && npm run manifest:check && npm run verify-pack"},"version":"1.3.24","_npmUser":{"name":"flowdot","email":"elliot@flowdot.ai"},"homepage":"https://flowdot.ai/docs/mcp","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","directories":{},"lint-staged":{"*.ts":["eslint --fix"]},"maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.19.0","acorn":"^8.15.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","ts-docx":"^0.1.0","ts-pptx":"^0.1.0","ts-pdf-edit":"^0.1.1","@types/acorn":"^4.0.6","ts-xlsx-edit":"^0.1.0","@modelcontextprotocol/sdk":"^1.0.0","@flowdot.ai/guardian-agent":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.15.0","rimraf":"^6.0.1","vitest":"^3.2.4","esbuild":"^0.27.4","globals":"^15.12.0","@types/ws":"^8.18.1","@eslint/js":"^9.15.0","typescript":"^5.0.0","@types/node":"^20.0.0","lint-staged":"^15.2.10","@types/js-yaml":"^4.0.9","@flowdot.ai/api":"file:../flowdot-api","typescript-eslint":"^8.15.0","@vitest/coverage-v8":"^3.2.4","@flowdot.ai/documents":"file:../flowdot-documents","@flowdot.ai/agent-comms":"file:../flowdot-agent-comms","@flowdot.ai/cli-qa-engine":"file:../flowdot-cli-qa-engine","@flowdot.ai/browser-driver":"file:../flowdot-browser-driver","@flowdot.ai/platform-learn":"file:../flowdot-platform-learn"},"optionalDependencies":{"playwright-core":"^1.40.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_1.3.24_1793983057958_0.7465485472481385"}}},"time":{"created":"2026-01-01T21:19:14.146Z","modified":"2026-11-06T16:37:38.306Z","1.0.0":"2026-01-01T21:19:14.388Z","1.0.1":"2026-01-26T21:09:12.734Z","1.0.2":"2026-03-23T19:35:07.301Z","1.0.3":"2026-03-27T14:54:19.558Z","1.0.4":"2026-03-27T15:10:56.237Z","1.0.5":"2026-04-11T19:52:31.051Z","1.1.0":"2026-04-16T03:22:32.683Z","1.2.0":"2026-04-17T21:07:20.935Z","1.3.0":"2026-04-29T17:46:40.110Z","1.3.1":"2026-05-08T16:39:05.109Z","1.3.2":"2026-05-16T01:36:42.656Z","1.3.3":"2026-06-06T14:57:33.014Z","1.3.8":"2026-06-17T17:10:26.061Z","1.3.9":"2026-06-26T19:37:12.553Z","1.3.10":"2026-07-01T13:15:34.362Z","1.3.12":"2026-07-07T16:22:26.283Z","1.3.14":"2026-07-14T17:53:41.365Z","1.3.15":"2026-08-03T15:13:26.926Z","1.3.16":"2026-08-03T19:01:20.725Z","1.3.17":"2026-08-22T14:17:43.075Z","1.3.18":"2026-09-25T12:40:35.474Z","1.3.19":"2026-10-04T17:14:19.487Z","1.3.20":"2026-10-04T17:21:21.866Z","1.3.21":"2026-10-04T20:10:34.419Z","1.3.22":"2026-10-16T12:39:08.967Z","1.3.23":"2026-10-21T15:32:12.517Z","1.3.24":"2026-11-06T16:37:38.084Z"},"bugs":{"url":"https://github.com/flowdot-llc/mcp-server/issues"},"author":{"name":"FlowDot"},"license":"SEE LICENSE IN LICENSE","homepage":"https://flowdot.ai/docs/mcp","keywords":["mcp","flowdot","ai","workflow","claude","cursor","automation"],"repository":{"url":"git+https://github.com/flowdot-llc/mcp-server.git","type":"git"},"description":"FlowDot MCP Server - Connect Claude Desktop, Cursor, and other AI tools to FlowDot workflows","maintainers":[{"name":"flowdot","email":"elliot@flowdot.ai"}],"readme":"# @flowdot.ai/mcp-server\r\n\r\nConnect Claude Desktop, Cursor, Windsurf, Claude Code, and any other MCP-compatible AI client to the **entire FlowDot platform** — workflows, recipes, custom nodes, apps, knowledge bases, agent toolkits, and the full community/sharing layer.\r\n\r\n## What is MCP?\r\n\r\nMCP (Model Context Protocol) is an open standard that lets AI models interact with external tools and services. The FlowDot MCP Server exposes **150 tools across 17 functional categories**, plus **8 educational `learn://` resources**, giving an AI client a complete operational interface to FlowDot — no web UI required.\r\n\r\nWith this server, an AI client can:\r\n\r\n- **Build workflows from scratch** — create graphs, add nodes, wire connections, validate, execute, stream results\r\n- **Author and share custom nodes** — write JavaScript components, validate them with AST parsing, publish to the community\r\n- **Develop FlowDot Apps** — full React multi-file projects with surgical code editing operations\r\n- **Design agent recipes** — multi-step agentic programs with stores, gates, branches, loops, parallel steps, and sub-recipes\r\n- **Manage knowledge bases (RAG)** — categories, documents, uploads, semantic queries\r\n- **Create and invoke agent toolkits** — define new tools, configure OAuth/API-key credentials, install, invoke\r\n- **Set up agent characters for voice calls** — list/get/create/update/delete/fork/duplicate/publish, with server-side voice-config completeness validation\r\n- **Share and discover** — public URLs, voting, comments, favorites, community browsing\r\n- **Run and observe executions** — start, stream via SSE, cancel, retry, view history and metrics\r\n\r\n> **Note:** Recipes can be **designed** through MCP but must be **executed** via the FlowDot CLI (`@flowdot.ai/cli`). Recipes are long-running agentic programs that exceed AI client timeouts and require local file/code/shell access.\r\n\r\n## Quick Start\r\n\r\n### 1. Get a free MCP Token\r\n\r\n[Create a free FlowDot account](https://flowdot.ai/register?next=%2Fdashboard%3Fsettings%3Dmcp_tokens). You land on the **MCP Tokens** tab: click **Select all** (or pick scopes, see [Token Scopes](#token-scopes)), then **Create Token**. The token starts with `fd_mcp_`, and the page shows the ready-to-paste setup below with your token filled in.\r\n\r\nThe free plan includes 5 workflow runs a day and 10 toolkit calls a day. The Creator plan is $19 a month (500 runs a month, 200 toolkit calls a day). Details: [flowdot.ai/mcp](https://flowdot.ai/mcp).\r\n\r\n### 2. Connect your client\r\n\r\n**Claude Code** (one command):\r\n\r\n```bash\r\nclaude mcp add flowdot -e FLOWDOT_API_TOKEN=fd_mcp_your_token_here -- npx -y @flowdot.ai/mcp-server\r\n```\r\n\r\n**Claude Desktop, Cursor and other clients:** add the block below to the client's config file.\r\n\r\n**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\r\n**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"flowdot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@flowdot.ai/mcp-server\"],\r\n      \"env\": {\r\n        \"FLOWDOT_API_TOKEN\": \"fd_mcp_your_token_here\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### 3. Restart the client\r\n\r\nRestart Claude Desktop, Cursor or your MCP client so it loads the server. Claude Code picks it up on the next session.\r\n\r\n## Installation Options\r\n\r\n### Option A: Claude Desktop Extension (.mcpb)\r\n\r\nDownload the `.mcpb` extension bundle and double-click to install in Claude Desktop. The extension includes Node.js runtime and all dependencies — no separate installation needed.\r\n\r\n### Option B: npm (Cursor, Claude Code, manual config)\r\n\r\n```bash\r\nnpx @flowdot.ai/mcp-server\r\n```\r\n\r\nOr install globally:\r\n\r\n```bash\r\nnpm install -g @flowdot.ai/mcp-server\r\nflowdot-mcp\r\n```\r\n\r\n## Educational Resources (`learn://`)\r\n\r\nThe server exposes 8 standalone concept guides via the MCP `ReadResourceRequest` interface. Read these *before* invoking tools to scaffold your understanding:\r\n\r\n| Resource | Content |\r\n|----------|---------|\r\n| `learn://overview` | FlowDot platform overview |\r\n| `learn://workflows` | Workflow creation guide |\r\n| `learn://recipes` | Agent recipe orchestration guide |\r\n| `learn://custom-nodes` | Custom node development guide |\r\n| `learn://apps` | App development guide |\r\n| `learn://toolkits` | Agent toolkit guide |\r\n| `learn://knowledge-base` | Knowledge base & RAG guide |\r\n| `learn://characters` | Agent character (voice call) setup guide |\r\n\r\n## Available Tools\r\n\r\nThe server exposes **150 tools** organized into 17 categories.\r\n\r\n### Core (4)\r\n- `list_workflows` — List all workflows accessible to the authenticated user\r\n- `execute_workflow` — Execute a workflow with optional inputs (sync or async)\r\n- `get_execution_status` — Get the status and results of a workflow execution\r\n- `agent_chat` — Chat with the FlowDot AI agent for workflow assistance\r\n\r\n### Analytics & Feedback (3)\r\n- `get_workflow_metrics` — Impressions, success/failure rates, average duration\r\n- `get_workflow_comments` — Comments and ratings on workflows\r\n- `get_execution_history` — Past execution history with timestamps and status\r\n\r\n### Workflow Management (5)\r\n- `get_workflow_details` — Detailed workflow info including nodes, connections, signature\r\n- `get_workflow_inputs_schema` — Input schema with expected types and required fields\r\n- `duplicate_workflow` — Create a copy of an existing workflow\r\n- `toggle_workflow_public` — Make a workflow public or private\r\n- `favorite_workflow` — Add/remove workflow from favorites\r\n\r\n### Execution Enhancements (3)\r\n- `cancel_execution` — Cancel running/pending workflow executions\r\n- `retry_execution` — Retry failed executions with the same inputs\r\n- `stream_execution` — Real-time SSE streaming of workflow execution\r\n\r\n### Discovery & Search (5)\r\n- `get_workflow_tags` — Get tags associated with a workflow\r\n- `set_workflow_tags` — Set/update workflow tags\r\n- `search_workflows` — Search workflows by name, description, tags\r\n- `search` — Unified search across workflows, apps, custom nodes\r\n- `get_public_workflows` — Browse public workflows shared by other users\r\n\r\n### Workflow Building (4)\r\n- `create_workflow` — Create a new empty workflow\r\n- `delete_workflow` — Permanently delete a workflow\r\n- `get_workflow_graph` — Get complete graph structure (all nodes + connections)\r\n- `validate_workflow` — Validate for missing connections, invalid config, disconnected nodes\r\n\r\n### Node Operations (5)\r\n- `list_available_nodes` — List all node types organized by category\r\n- `get_node_schema` — Full schema for a node type (inputs, outputs, properties)\r\n- `add_node` — Add new node (built-in or custom via `custom_node_{hash}`)\r\n- `update_node` — Update node position or properties\r\n- `delete_node` — Delete node and all its connections\r\n\r\n### Connection Operations (3)\r\n- `add_connection` — Connect a node output to a node input\r\n- `delete_connection` — Remove a connection between two nodes\r\n- `get_node_connections` — Get all connections to/from a specific node\r\n\r\n### Custom Nodes (13)\r\n- `list_custom_nodes` — List your custom nodes with search/category filtering\r\n- `search_public_custom_nodes` — Search public nodes shared by the community\r\n- `get_custom_node` — Detailed custom node info (inputs, outputs, script code)\r\n- `get_custom_node_comments` — Comments and ratings on a custom node\r\n- `get_custom_node_template` — Generate a working script template based on I/O definitions\r\n- `create_custom_node` — Create new custom node with script, inputs, outputs (validated with AST parsing)\r\n- `update_custom_node` — Update name, description, code, properties\r\n- `delete_custom_node` — Permanently delete a custom node\r\n- `copy_custom_node` — Copy a public node to your library\r\n- `toggle_custom_node_visibility` — Change visibility (private/public/unlisted)\r\n- `vote_custom_node` — Upvote/downvote/remove vote\r\n- `favorite_custom_node` — Add/remove from favorites\r\n- `add_custom_node_comment` — Add comment or reply\r\n\r\n### Apps (23)\r\n\r\n#### Core App Operations (12)\r\n- `list_apps` — List your React frontend apps\r\n- `search_apps` — Search the public app marketplace\r\n- `get_app` — Detailed app info including React code and linked workflows\r\n- `create_app` — Create a new React app (Tailwind + React 18, sandboxed)\r\n- `update_app` — Update name, description, code, config, mobile settings\r\n- `delete_app` — Permanently delete app\r\n- `publish_app` — Publish to the public marketplace\r\n- `unpublish_app` — Make a published app private\r\n- `clone_app` — Clone a public app to your library\r\n- `link_app_workflow` — Link a workflow to an app for `invokeWorkflow()` use\r\n- `unlink_app_workflow` — Unlink a workflow from an app\r\n- `link_app_toolkit` — Link a toolkit to an app for `invokeTool()` use\r\n- `unlink_app_toolkit` — Unlink a toolkit from an app\r\n- `get_app_template` — Get starter code templates (basic, chat, dashboard, form-builder, data-viewer)\r\n\r\n#### Surgical Code Editing (4)\r\n- `edit_app_code` — Find/replace specific strings in app code\r\n- `append_app_code` — Append content before the closing brace\r\n- `prepend_app_code` — Prepend content to the start\r\n- `insert_app_code` — Insert content after a specific pattern match\r\n\r\n#### Multi-File App Operations (7)\r\n- `list_app_files` — List all files in a multi-file app\r\n- `get_app_file` — Get content of a specific file\r\n- `create_app_file` — Create new file (jsx, js, ts, tsx, css, json, md)\r\n- `update_app_file` — Update file content and type\r\n- `delete_app_file` — Delete a file\r\n- `rename_app_file` — Rename or move a file\r\n- `set_app_entry_file` — Set a file as the app's entry point\r\n\r\n### Sharing & Public URLs (9)\r\n- `get_workflow_public_url` — Public shareable URL for a workflow\r\n- `list_shared_results` — Shared execution results for a workflow\r\n- `get_shared_result` — Specific shared result with outputs/inputs\r\n- `get_shared_result_comments` — Comments on a shared result\r\n- `create_shared_result` — Create a shareable link (with optional expiry)\r\n- `add_workflow_comment` — Comment on a workflow\r\n- `add_shared_result_comment` — Comment on a shared result\r\n- `vote_workflow` — Upvote/downvote a workflow\r\n- `vote_shared_result` — Upvote/downvote a shared result\r\n\r\n### Input Presets (7)\r\n- `list_input_presets` — Pre-configured input sets for a workflow\r\n- `get_input_preset` — Specific preset with all values\r\n- `create_input_preset` — Create a shareable preset\r\n- `update_input_preset` — Update preset description/values\r\n- `delete_input_preset` — Delete a preset\r\n- `vote_input_preset` — Vote on a preset\r\n- `toggle_community_inputs` — Enable/disable community inputs for a workflow\r\n\r\n### Teams (1)\r\n- `list_user_teams` — List all teams the user belongs to (with role + member count)\r\n\r\n### Knowledge Base / RAG (14)\r\n- `list_knowledge_categories` — Document categories in your knowledge base\r\n- `create_knowledge_category` — New category with name, description, color\r\n- `update_knowledge_category` — Update category properties\r\n- `delete_knowledge_category` — Delete a category (documents become uncategorized)\r\n- `list_knowledge_documents` — Documents with category/team/status filters\r\n- `get_knowledge_document` — Document details by ID/hash\r\n- `upload_text_document` — Upload text content directly\r\n- `upload_document_from_url` — Download and add a document from a URL\r\n- `move_document_to_category` — Move a document or make it uncategorized\r\n- `transfer_document_ownership` — Transfer between personal and team knowledge base\r\n- `reprocess_document` — Reprocess a failed/stuck document\r\n- `delete_knowledge_document` — Permanently delete a document\r\n- `query_knowledge_base` — Semantic + keyword RAG search\r\n- `get_knowledge_storage` — Storage usage and limits\r\n\r\n### Agent Toolkits (24)\r\n\r\nAgent Toolkits let an AI client *create new tools* through the MCP interface — effectively MCP within MCP. Once installed, toolkit tools become callable via `invoke_toolkit_tool`.\r\n\r\n#### Toolkit Management (12)\r\n- `list_agent_toolkits` — Your toolkits\r\n- `search_agent_toolkits` — Search public toolkit marketplace\r\n- `get_agent_toolkit` — Toolkit details (tools, credentials, metadata)\r\n- `get_toolkit_comments` — Comments on a toolkit\r\n- `create_agent_toolkit` — Create a new toolkit with credential requirements\r\n- `update_agent_toolkit` — Update title, description, category, credentials\r\n- `delete_agent_toolkit` — Delete a toolkit\r\n- `copy_agent_toolkit` — Create a private copy of a public toolkit\r\n- `toggle_toolkit_visibility` — Change visibility (private/public/unlisted)\r\n- `vote_toolkit` — Vote on a toolkit\r\n- `favorite_toolkit` — Add/remove from favorites\r\n- `add_toolkit_comment` — Add comment to a toolkit\r\n\r\n#### Toolkit Usage & Invocation (12)\r\n- `install_toolkit` — Install a toolkit on your account\r\n- `uninstall_toolkit` — Uninstall\r\n- `list_installed_toolkits` — Installed toolkits with credential status\r\n- `toggle_toolkit_active` — Enable/disable an installation\r\n- `check_toolkit_credentials` — Show which credentials are missing\r\n- `update_toolkit_installation` — Map toolkit credentials to your API keys\r\n- `invoke_toolkit_tool` — Execute a tool from an installed toolkit\r\n- `list_toolkit_tools` — All tools in a toolkit\r\n- `get_toolkit_tool` — Tool details with input/output schemas\r\n- `create_toolkit_tool` — Create an HTTP- or Workflow-backed tool inside a toolkit\r\n- `update_toolkit_tool` — Update tool configuration, schema, endpoint\r\n- `delete_toolkit_tool` — Delete a tool from a toolkit\r\n\r\n**Credential types supported:** `api_key`, `oauth` (with PKCE + scopes + refresh tokens), `bearer`, `basic`, `custom`\r\n**Tool types supported:** `http` (REST API), `workflow` (invoke a FlowDot workflow)\r\n\r\n### Agent Recipes (19)\r\n\r\nRecipes are reusable agentic programs with multiple step types and persistent stores. **MCP can DESIGN recipes; only the CLI can RUN them.**\r\n\r\n#### Recipe Core (8)\r\n- `list_recipes` — List recipes (with `favorites_only` filter)\r\n- `get_recipe` — Recipe details with steps, stores, metadata\r\n- `get_recipe_definition` — Full recipe in YAML or JSON format\r\n- `browse_recipes` — Public recipe browsing with pagination/sorting\r\n- `create_recipe` — Create a new agent recipe\r\n- `update_recipe` — Update metadata and `entry_step_id` (critical for execution)\r\n- `delete_recipe` — Delete a recipe\r\n- `fork_recipe` — Create a private copy of a public recipe\r\n\r\n#### Step Management (4)\r\n- `list_recipe_steps` — All steps with types, connections, config\r\n- `add_recipe_step` — Add step (`agent`, `parallel`, `loop`, `gate`, `branch`, `invoke`)\r\n- `update_recipe_step` — Update step name, description, config, connections\r\n- `delete_recipe_step` — Delete a step\r\n\r\n#### Store Management (4)\r\n- `list_recipe_stores` — Stores (variables) in a recipe\r\n- `add_recipe_store` — Add a store for data flow between steps\r\n- `update_recipe_store` — Update key, label, type, default, I/O flags\r\n- `delete_recipe_store` — Delete a store\r\n\r\n#### Engagement (3)\r\n- `link_recipe` — Link recipe for CLI execution with an alias\r\n- `vote_recipe` — Vote on a public recipe\r\n- `favorite_recipe` — Add/remove from favorites\r\n\r\n**Step types:** `agent` (LLM with tools), `parallel` (concurrent), `loop` (iterate array), `gate` (approval checkpoint), `branch` (conditional), `invoke` (subroutine), `output` (emit coloured message to terminal)\r\n\r\n> **Output step config:** `message` — template string (supports `{{stores.x}}` interpolation), `color` — `green | red | yellow` (default `green`). Executes instantly with no LLM call. Use it to emit progress updates, warnings, or final summaries during long-running recipes.\r\n\r\n> To **execute** a recipe, use the FlowDot CLI:\r\n> ```bash\r\n> npx @flowdot.ai/cli recipes run <aliasOrHash> --input '{\"key\":\"value\"}'\r\n> ```\r\n\r\n### Agent Characters (8)\r\n\r\nVoice-call personas — name + persona prompt + complete provider stack (TTS / STT / LLM). The Hub server-side validates voice-config completeness against the same `App\\Support\\AgentCharacterCompleteness` helper the runtime uses, so every read of a character carries an `is_complete` flag plus a `missing_fields[]` list. Read `learn://characters` for the per-provider settings shapes.\r\n\r\n- `list_agent_characters` — List your characters with completeness badges\r\n- `get_agent_character` — Full detail with per-field Completeness section\r\n- `create_agent_character` — Create a new character (rejects with `CHARACTER_VOICE_CONFIG_INCOMPLETE` 422 if any required field is missing)\r\n- `update_agent_character` — Partial update with post-merge completeness validation\r\n- `delete_agent_character` — Hard delete (requires `confirm: true`)\r\n- `fork_agent_character` — Copy a public character; LLM choice resets to default\r\n- `duplicate_agent_character` — Copy your own character including LLM choice\r\n- `toggle_agent_character_public` — Flip public/private (auto-mints stable hash on first publish)\r\n\r\n**Required fields:** `voice_provider`, `voice_id`, `tts_model`, `voice_settings`, `stt_provider`, `stt_model`, `llm_provider`, `llm_model`, `llm_temperature`, `personality_prompt`. See `learn://characters` for recommended values per provider.\r\n\r\n## Token Scopes\r\n\r\nWhen creating an MCP token in FlowDot Settings, you can select exactly which scopes to grant. Restrict tokens to the minimum scope they need:\r\n\r\n| Scope namespace | Tools it covers |\r\n|---|---|\r\n| `workflows:read` | List, search, get, view public workflows |\r\n| `workflows:execute` | Execute workflows |\r\n| `workflows:manage` | Create, update, delete, validate, build workflow graphs |\r\n| `executions:read` | Status, history, stream |\r\n| `executions:manage` | Cancel, retry |\r\n| `agent:chat` | Agent chat |\r\n| `custom_nodes:read` | List, search, get, get template |\r\n| `custom_nodes:manage` | Create, update, delete, copy, toggle visibility, vote, comment |\r\n| `apps:read` | List, search, get apps and files |\r\n| `apps:manage` | Create, update, delete, publish, code editing, file management |\r\n| `recipes:read` | List, get, browse, get definition |\r\n| `recipes:manage` | Create, update, delete, fork, link, manage steps and stores |\r\n| `agent_characters:read` | List and view agent characters (with completeness state) |\r\n| `agent_characters:manage` | Create, edit, delete, fork, duplicate, and publish agent characters |\r\n| `knowledge:read` | List, get, query |\r\n| `knowledge:manage` | Upload, delete, categorize, transfer, reprocess |\r\n| `agent_toolkits:read` | List, search, get toolkits and tools |\r\n| `agent_toolkits:manage` | Create, update, delete, install, invoke |\r\n| `sharing:read` | Get shared results, public URLs |\r\n| `sharing:manage` | Create shared results, vote, comment |\r\n| `input_presets:read` | List, get presets |\r\n| `input_presets:manage` | Create, update, delete |\r\n| `teams:read` | List teams |\r\n| `discovery:read` | Search, tags, public browsing |\r\n| `analytics:read` | Metrics, comments, history |\r\n\r\n## Environment Variables\r\n\r\n| Variable | Required | Default | Description |\r\n|----------|----------|---------|-------------|\r\n| `FLOWDOT_API_TOKEN` | Yes | — | Your MCP token (must start with `fd_mcp_`) |\r\n| `FLOWDOT_HUB_URL` | No | `https://flowdot.ai` | FlowDot Hub URL (override for self-hosted) |\r\n| `INTERNAL_API_SECRET` | No | — | Optional shared secret for internal API calls |\r\n\r\n## Configuring Other MCP Clients\r\n\r\n### Cursor\r\n\r\n**Settings** > **MCP Servers** > **Add Server**:\r\n\r\n```json\r\n{\r\n  \"flowdot\": {\r\n    \"command\": \"npx\",\r\n    \"args\": [\"@flowdot.ai/mcp-server\"],\r\n    \"env\": {\r\n      \"FLOWDOT_API_TOKEN\": \"fd_mcp_your_token_here\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Windsurf\r\n\r\nSame configuration as Cursor — see the Windsurf documentation for the exact location of the MCP config file.\r\n\r\n### Claude Code\r\n\r\nAdd to your Claude Code MCP configuration (typically `~/.config/claude-code/mcp.json`):\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"flowdot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"@flowdot.ai/mcp-server\"],\r\n      \"env\": { \"FLOWDOT_API_TOKEN\": \"fd_mcp_your_token_here\" }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Development\r\n\r\n```bash\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build\r\nnpm run build\r\n\r\n# Run locally\r\nFLOWDOT_API_TOKEN=fd_mcp_xxx npm start\r\n\r\n# Watch mode\r\nnpm run dev\r\n\r\n# Run tests\r\nnpm test\r\n\r\n# Coverage report\r\nnpm run test:coverage\r\n\r\n# Build the .mcpb Claude Desktop extension bundle\r\nnpm run build:mcpb\r\n```\r\n\r\n## Architecture\r\n\r\nThe MCP server is a **thin protocol adapter**. All HTTP communication with the FlowDot Hub is delegated to a shared `@flowdot.ai/api` package, which is also used by the FlowDot CLI and daemon. This means the same client logic, authentication, retry semantics, and pagination apply across every FlowDot surface.\r\n\r\n### Source Layout\r\n\r\n```\r\nmcp-server/\r\n├── bin/\r\n│   └── flowdot-mcp.js          # Executable wrapper\r\n├── src/\r\n│   ├── index.ts                # Entry point\r\n│   ├── server.ts               # createServer() / startServer()\r\n│   ├── api-client.ts           # FlowDotApiClient re-export\r\n│   ├── tools/\r\n│   │   ├── index.ts            # Central registry (one switch case per tool)\r\n│   │   └── *.ts                # 119 individual tool source files\r\n│   └── utils/\r\n│       └── script-validator.ts # AST-based custom node script validation\r\n├── manifest.json               # MCPB Claude Desktop bundle manifest\r\n├── scripts/\r\n│   └── build-mcpb.js           # Builds the .mcpb extension archive\r\n└── package.json\r\n```\r\n\r\n### Custom Node Script Validation\r\n\r\nUser-submitted custom node JavaScript is validated using **`acorn` AST parsing**, not regex. The validator checks:\r\n\r\n- Syntax correctness\r\n- Required `processData(inputs, properties, llm)` function exists\r\n- Return statement exists and matches declared output keys exactly\r\n- No top-level return statements\r\n- Security patterns (no `eval`, `process`, `global`, `require`, etc.)\r\n- Best practices (unused inputs, unhandled errors)\r\n\r\nThe script validator has its own test suite with **100% coverage thresholds** enforced via `vitest.config.ts`.\r\n\r\n## License\r\n\r\nSee `LICENSE`.\r\n","readmeFilename":"README.md"}