{"_id":"faxdrop-mcp","_rev":"48-5a571ffaec11bc770df1ce8707e01d48","name":"faxdrop-mcp","dist-tags":{"latest":"0.10.1"},"versions":{"0.1.4":{"name":"faxdrop-mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.1.4","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"cce74249df5987ee240b843e91f87693e69e427a","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.1.4.tgz","fileCount":4,"integrity":"sha512-xKkrU4z0kjEBEEp6N+4HqX37LbJ8zZlxY8MjCmay48aLNlgbSClsi0R7ph5TgRYH/V1DvkfVMgdp7ilSrTROJw==","signatures":[{"sig":"MEQCIFzxPoACBPQfUieY82wWZobiHSJcALCkRYCHbqnEhRgGAiBhJwN846PO+6bHA4PjqrYMgJsqSYpvg7pWf+C0T2ESUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21519},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"de719220fc19de6c9e326ba0cd60be8bb9bf1a4e","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"jest","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","format:check":"prettier --check src test","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"deprecated":"superseded by 0.3.6 — no wire-level change, see https://github.com/klodr/faxdrop-mcp/blob/v0.3.6/CHANGELOG.md","repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.3.5","eslint":"^9.39.4","ts-jest":"^29.2.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","fast-check":"^4.7.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^22.10.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.1.4_1776514618903_0.5881258553508903","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"faxdrop-mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.1.5","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"56322676cca041c91a92bae8634b263dda994cac","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.1.5.tgz","fileCount":4,"integrity":"sha512-QY95F40aDqttX02arWvI/bgmfqlzPZTgqpH76eMQ2UDeLAtQB4fMdh/+ehpJ5e8tA1Uz6W/Q9iLyZopXJ6jbCQ==","signatures":[{"sig":"MEUCIQCN3FH0G0LuSuJeb8zVukqqqgWZPJO26dsqSwiy8n07EQIgCi8vJ3oUYmB2MDW7dl7Jnvtu1lggPlKSI3kNFVUtJkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21519},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"42da191b80f52363add94e60925f9091f393d265","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"jest","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","format:check":"prettier --check src test","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"deprecated":"superseded by 0.3.6 — no wire-level change, see https://github.com/klodr/faxdrop-mcp/blob/v0.3.6/CHANGELOG.md","repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.3.5","eslint":"^9.39.4","ts-jest":"^29.2.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","fast-check":"^4.7.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^22.10.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.1.5_1776517111824_0.6203316418481417","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"faxdrop-mcp","version":"0.1.8","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.1.8","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"8177633f73db34a02d8db20a18f0a003d6292239","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.1.8.tgz","fileCount":4,"integrity":"sha512-yxCIZBkBjYZDoUerQe0HA2Y6+0MBNaMAxPhPad9sSBBHRe+0pQQMpUV9u4FLiBW2F2h81c9k1ilWrlu6iXvt/A==","signatures":[{"sig":"MEUCIElZb2xSkRdkgLIOqu+TP+1AYWpnh87ObHlDX071MHinAiEA3twmAwwT+PFvGpAPLBieKe+1mMQVvtoeiPmNy4H+0xM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21519},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e7f29713b5968b4c891abedccdaeea5665906eaa","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"jest","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","format:check":"prettier --check src test","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"deprecated":"superseded by 0.3.6 — no wire-level change, see https://github.com/klodr/faxdrop-mcp/blob/v0.3.6/CHANGELOG.md","repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.3.5","eslint":"^9.39.4","ts-jest":"^29.2.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","fast-check":"^4.7.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^22.10.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.1.8_1776528138370_0.17068170758325563","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"faxdrop-mcp","version":"0.1.9","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.1.9","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"a7c2ac7112a61d745dce9a3b422d0b54129e0929","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.1.9.tgz","fileCount":4,"integrity":"sha512-FZrKbRMioZ2CZcCelYoFoL7rLluhNXwXu7oxENYMB7kJitNGDaMgOXJ3BSrJfclw7gsIIER6+e99CLNtt+rfQg==","signatures":[{"sig":"MEUCIQCtK4OI6QrpCZNbVHkCslGxFx+rJwSn2cDyxgQ9E26z0AIgaHRdkdbBye7GdstgquOkf+Nt7pkhhKqv3DWSGSV39Zg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21519},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e40e88e25058d30baad6d724f5986b4560275429","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"jest","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","format:check":"prettier --check src test","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"deprecated":"superseded by 0.3.6 — no wire-level change, see https://github.com/klodr/faxdrop-mcp/blob/v0.3.6/CHANGELOG.md","repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.3.5","eslint":"^9.39.4","ts-jest":"^29.2.5","prettier":"^3.8.3","@eslint/js":"^9.39.4","fast-check":"^4.7.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^22.10.0","typescript-eslint":"^8.58.2","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.1.9_1776561618631_0.0697518963270114","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"faxdrop-mcp","version":"0.3.6","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.3.6","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"c56daad5ac93967c620e0a684d3b6b6c459f91ac","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.3.6.tgz","fileCount":10,"integrity":"sha512-OdUSiHBLzJrwar8lPe2jYiO3RYhinxvbTSHpI2fIMbqfQ3Mr0KypDIwbQkIc3BaP+jxgkqlBhm8AjfjmAzdVqg==","signatures":[{"sig":"MEYCIQC0uX4euW3UVpLlwjjj/3pUpKOTRgr2wwp3egIYmUuEEAIhAKjAU5CQSKhPOxAK+XkX4vuj/AGNcRPNlEzWAgP4Imaw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":933660},"main":"dist/index.js","type":"module","engines":{"node":">=20.11"},"gitHead":"121def9d87b8a90c4d79611d469038ac78311711","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^20.19.39","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.3.6_1776841521934_0.6911601229363262","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"faxdrop-mcp","version":"0.3.7","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.3.7","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"554faf925079d33083ad6549073b8578ae1da791","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.3.7.tgz","fileCount":10,"integrity":"sha512-4VV5OAndMnpumPF7TuGqH6aSFAPOe7WLxLPChfkMvo1B6AKOY55ns2nSM6QZqwiCRJPVMQOYm4Z7Ne+5SnXv2w==","signatures":[{"sig":"MEYCIQC1aF9FaxtGY1R8BTovGG+UVyPBf+cct+z1riZGQxmqzAIhAP86hTTRXx6dfQvxzi+Oo6c/Vy70/kk5fpCs+B31JtTq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953751},"main":"dist/index.js","type":"module","engines":{"node":">=22.11"},"gitHead":"58684a42e552df2c6ed5f6edda011200c0503d80","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.3.7_1776919575030_0.31619077183076105","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"faxdrop-mcp","version":"0.3.8","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.3.8","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"6371784ff6916e1fb40504c9bf41a57d7ca82901","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.3.8.tgz","fileCount":10,"integrity":"sha512-cVAOJznu+DZauyGw28hr+QZCEp09Q1TIC3Ul1KqfNk4H0ZqMOb/FguwggGPTeEJ2l71JjO3qDr3Rai6kBIwW/g==","signatures":[{"sig":"MEQCIDgAnurTMSMfRg9APlxHFXpJ9ENcgD5S+GvONiXrygy7AiBVhWvcb53fN5o+KQp4pRzIeLVH0ameEG8JXJ4egYt8NA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953477},"main":"dist/index.js","type":"module","engines":{"node":">=22.11"},"gitHead":"91b56079ed36da5ba5656f8458da1f0e7a5c98be","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.3.8_1776924406725_0.03015481238712714","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"faxdrop-mcp","version":"0.3.9","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.3.9","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"b50f54cfca1d7ba46eda93f4e6e83427d0a5c841","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.3.9.tgz","fileCount":10,"integrity":"sha512-y663ccXAfIEccmftyaR399sOLf8CSXBHp9ECk0hiYWSJhBNjqLQsxcO6WPzWaUiC5F9oskjcGQYSmA0WpKYYsA==","signatures":[{"sig":"MEUCIQDvrgdu/o/OqKO5tDIzbuEbzX3R/TwCRoZUxt8QO2BzxQIgJGGSl02qvvxjKzSieXbBoLO8KBiU8TvkGc8VSWtp8wU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953608},"main":"dist/index.js","type":"module","engines":{"node":">=22.22.2"},"gitHead":"858c5cdc096c9ffedfe3d49f23c7591c4ebaa3c7","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.3.9_1776960108984_0.22664882918245977","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"faxdrop-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.4.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"e42d8f7df7ceff42aa3d7c4f6cb1ecb8e6caa722","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.4.0.tgz","fileCount":11,"integrity":"sha512-CG4SJmuLo2xn0Xi8aI5L8JYmz+QguHS5C1Iz6xctMaM4NFRjkt4WEOlqPEcbcPrgGOF8afcLV9aiSr6l2R16eg==","signatures":[{"sig":"MEQCIAUhUVvVlgrpxhaeGrojoiUkiq1F8RttUsxKHpEt6n98AiA/OVYW6V5qQUjXtPeiWxS45oUtNUScJJph/zM5oGrtWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":984744},"main":"dist/index.js","type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"56e99ad96a0928a4bd878b0bcd4788982f48f136","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.4.0_1777098110792_0.32966540369673747","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"faxdrop-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.5.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"272864c1ace9a6d419caad7026e1ab23c7dd1af3","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.5.0.tgz","fileCount":11,"integrity":"sha512-lh0Qpjp8Lu5FYowJJNDhfXkpnRJ+avSTz/Vj3ZBMruGPRbEHguT/AlzwAKjJA2f1CZC1KYz9OMdtjFe/F2vGgg==","signatures":[{"sig":"MEYCIQDNjt/SETT2qTlbORYDgRVJFsU8FtWjgaDuStSetciYsQIhAK/5w1oYJHXKO+vRd6UsZdCQ6ggYUl8x5/827wHiZ4SK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":990293},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"29fa295ee34a9eb31cb99beaabf090b634e39382","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.5.0_1777108937088_0.9248379458520937","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"faxdrop-mcp","version":"0.6.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.6.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"94b5a0a1ce3e81e1e59500b46c93f38ffe2f811f","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.6.0.tgz","fileCount":11,"integrity":"sha512-tooeGIWBc0JchvdNfO0URrac5zZ0wwiZWLiY8De529qN5JFeTUz7x7jIUWGqThmmRZ4QHENmKOtzwdSQb4fXEQ==","signatures":[{"sig":"MEUCIGlcBonm6juWDOQyf11+AxN+7djQ/a0P26GwZx/8ayK/AiEA25ao4ze0pNnH4n5Qv7m/Rai7U1vyzEPpITjv42IWV6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1008892},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"d6225f5a333dd84815cce499f5b3b6701c1c286c","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.1","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.58.2","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.6.0_1777155823169_0.7163104744613469","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"faxdrop-mcp","version":"0.7.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.7.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"21811fc450d24950a6f0d55f9a4eb0c22cc76283","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.7.0.tgz","fileCount":11,"integrity":"sha512-v1D0WWqNl6GwOxB9wMbETLsSNbAx4xVyJAA45XWsDxXVcVssH/JcEoE0pqqjv7BcVFTtZUhx/YpfjOwK8HoMrw==","signatures":[{"sig":"MEUCIQDC3x0tgSkYOsaWteUHsotlHZMZPv446f1ixpfmJV24IAIgLqE3v+fvIQkQylA8rrYa57tFdWT8mQHYBJXmtRVjank=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1009654},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"491053501aea8374102f955b5695075c1e5c880d","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.7.0_1777822602939_0.8396290205244399","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"faxdrop-mcp","version":"0.7.1","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.7.1","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"fcab328daf11298234cdb759ccff47d7a978cc52","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.7.1.tgz","fileCount":11,"integrity":"sha512-LFKcA2lWnHx0vI7lUUSi7XPRHmzwgqSNupeTylXD3PgGDNf2uGoaV32UezEqgUyInA8Sfl8f2Y1tHOt3GD+K6g==","signatures":[{"sig":"MEYCIQDxOLlX6B6r6MypizTpM5J/DJ+qMJhncOz1F0EcV9ojAAIhAL+Pu8fyq3KAWkpmHeF55m+tYBHw85zIdEn18Zmwj9NC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1024033},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"f4baf00ab5dc89f19b8318c96cf01b23ef5834fd","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.7.1_1778170741887_0.7506638595489956","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"faxdrop-mcp","version":"0.8.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"30f53b25ddbb66aa038421af83e109d1e0b10a6d","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.0.tgz","fileCount":11,"integrity":"sha512-HLkU0IAu7B4rrDHYAxzvkLz0cfurgdddKIw5BwH+syQg6w+0bE3TDg12ICYqYiS81SiCfJfbGknmaV2d+5LHqQ==","signatures":[{"sig":"MEUCIQDP6hVJmzLxQI4SYpZx06BGDjjix5KoOmlG6NbIbap+LAIgVPrMKp7gkqs9EWZLRn5sWPtmo9PS7lTet7jpVpXiBfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091313},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"1f73c73321c0877c8aac836c2de71018d547fadd","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage","prepublishOnly":"NODE_ENV=production npm run build"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.0_1778208359372_0.40002586132388807","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"faxdrop-mcp","version":"0.8.3","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.3","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"51accc2daf41aa46c7249fe4861dce988ce7cf3e","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.3.tgz","fileCount":11,"integrity":"sha512-GAnRJZLpcVKRMa3wazxQy2qRNXxgl8OJmfxoC9dzd61j6CnJXjfXt1+zA69IJkU9a/pMy0KXaIKMnxTlIO7utw==","signatures":[{"sig":"MEUCICHzMDQyyUB6r+RlNAhL1eLhLogW2e2okm4BDrVDgqF+AiEAgjEX6JdbdN5gzs00471CQX4WOlKUv79czulIpbVaaI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1124970},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"5fa93c257820421a39b86b021b79630fd349bf0e","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lockfile-lint":"^5.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.3_1778366278602_0.3388931021915724","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"faxdrop-mcp","version":"0.8.4","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.4","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"5aa30176bf953b90a774177d651c43307e7f9765","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.4.tgz","fileCount":11,"integrity":"sha512-dpIJzuxa+p6r+lyzNV7dbE2rB8BIovmedTFfNCeCJK9x7Mtk5yxQD2TeVMxkcWlkSzGSjRXcURyvwUim3B2l0A==","signatures":[{"sig":"MEUCIQDL20ikjZIMXff17CJR2Se5BmPiOw06OJXdWYpvnGQ1RwIgOlUx04NTDa6fBvLmOPGqj3w5uZkQnjwTPv8Xf2t6G24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1126533},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"2841b4b610e8ebcfe9e24d5252aad6d4d288ec66","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lockfile-lint":"^5.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.4_1778396122420_0.5564018580181387","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"faxdrop-mcp","version":"0.8.5","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.5","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"bf02e78566873fb7151c5af4207ec2da832c08bc","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.5.tgz","fileCount":11,"integrity":"sha512-BzSQSCyiZ34/1+riix0hB+AWAzQjI8iv2nH1AqV7JJifNRko0NVq7RUv6TyaKfdiOT+6tfY9uiwmIMwsOYmi7g==","signatures":[{"sig":"MEUCIDJBEO9oDJ1KhkHgv5Bk6Hi8qhYajADrsscyR4KYP/TSAiEA1+UF1hSW69laKQnftuoQrsOT6tU2DH3If/PBKrq3Zx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1160237},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"3919e8003ae85132f40c3aa8eb00e46871a34e6c","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lockfile-lint":"^5.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.5_1778436595790_0.02080480415261854","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"faxdrop-mcp","version":"0.8.6","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.6","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"223304c1b58507d9ca6d218876887c635632c9ed","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.6.tgz","fileCount":11,"integrity":"sha512-d+lg/1kVBpT9KFa1xWNM201TIsKMvN7WfOsvjp3HkypAOxtTAqINElI4dtNeilwAmjz32aF1RTB1F3qRKCekbQ==","signatures":[{"sig":"MEYCIQDKxYwiicxuNIxpf2TGWZvhAMiZ+s4YEvRHSa83UIJwEwIhAIomMNDfmnPuj1FUIPQbQsVKSKHbLhjdhMZCRtCCzWIH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1232537},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"5e5935bbfed8c98c85d75a0e17bfe3bb50ebec3c","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["markdownlint-cli2"],"*.{yml,yaml}":["yamllint"],"*.{json,jsonc,json5}":["eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.6_1778489707051_0.22214369351336272","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"faxdrop-mcp","version":"0.8.7","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.7","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"4e5789d99b670024bec09bf2a2e537f9c8d4a76b","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.7.tgz","fileCount":11,"integrity":"sha512-LV/a+Ln6Vm4shd9rmXJ7ER1sBiyK1ukZMVYIbPgm8dfD3GSXGti3z9XklYWZzSSECbmmHtiXE58AbGOz/emFzA==","signatures":[{"sig":"MEUCIE9RdcwqdeW6EiIFEZ+O6ofQP9d+39Mh3ujjyHT8LcVuAiEAzwUZ7TRtMHTegmZkcthH/vip2LOBzI1yHpESdku/jhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1197939},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"2ba2c033b1d3e858d0c045dcfebcdec253cd5a57","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.7_1778532000175_0.42988794781321293","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"faxdrop-mcp","version":"0.8.8","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.8.8","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"5e28aa6ce62059f0fd62005ad74a812e74f3058b","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.8.8.tgz","fileCount":11,"integrity":"sha512-wkEzzSSIxihdkcO752AqERIdLx5+aUovaopG5yY/MljzTLvErAOy05HolQFaaQNWNb9K+y1yHSJf9XZyVaxYKA==","signatures":[{"sig":"MEUCIQCiVQHUiWlrMYidaKrkZY4+zZ+qGoH2CQAwr7aWp3CNGAIgbodKnW69wLsRDejF3GZcOzy4PhIMitRxdDafC5s9IP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1218458},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"e6094e7ffffe16312c23ef0cfd190009c2c46961","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.8.8_1778605583867_0.29062961678421506","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"faxdrop-mcp","version":"0.9.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.9.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"79ed2929d06201469562d311a72ab2dcfb960d01","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.9.0.tgz","fileCount":11,"integrity":"sha512-m2hIUgWBkuClTJN/hgx17MiZ2+jrNjkTw3hWD5MOlTCOzHPAQaOnb2wv+y1DA5Jllv8y7dcZKMTx+0dHP5Pgyw==","signatures":[{"sig":"MEYCIQDrXovswvQGujEjhDDsXbu9AMLGUWphsB4nLqvFOIf3ZQIhALBVJv8f0+5T8cVB451bTWsUgVnqdRJm4iCKE1VPcrx7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1219426},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"2e387b9f4d579d51a4822a760bbd4b222124fa76","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.9.0_1778620966060_0.014241498376646788","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"faxdrop-mcp","version":"0.9.1","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.9.1","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"da1a147ad7f8ca284e9300a41de3f43931904e06","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.9.1.tgz","fileCount":11,"integrity":"sha512-I7DLPireOMNMW+gpIfTcoaGrcE8+nZ95RyI0CuZiALf8bbI140TQBlZiI5prf8tgd0B2UJhZZLHKI5V6UY5Kow==","signatures":[{"sig":"MEYCIQDw2HpyzXO96g508ioISjbibYEDcfGbLyZArWhzlO27pAIhANmCdQ9AjVYONZBNDjSrDjLUzI9wFGgC690xzD9MNIwC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1220401},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.22.2"},"funding":"https://github.com/sponsors/klodr","gitHead":"cfada8e2e86db9743c38a06bdab871fe3a47af95","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"klodr","email":"claude@altixia.com"},"overrides":{"fast-uri":"3.1.2","test-exclude":"^8.0.0"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.22.1","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.9.1_1778645202522_0.1886439824106496","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"faxdrop-mcp","version":"0.10.0","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"author":{"name":"klodr"},"license":"MIT","_id":"faxdrop-mcp@0.10.0","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"homepage":"https://github.com/klodr/faxdrop-mcp","bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"bin":{"faxdrop-mcp":"dist/index.js"},"dist":{"shasum":"5622923d843939d0d0e17238daa8d1be5568f991","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.10.0.tgz","fileCount":11,"integrity":"sha512-mE0hV2Z7vclU3JBeApEnafhDcuOQ/G6YGVhrA4Kn/VNqqJHNTw/bwpI0a8b2XnzAjx2JNVjlud7Rkg09SHiHyQ==","signatures":[{"sig":"MEQCIBRdg1CmLMBEHJNan4/mlYFuT1b/T6sLkX8ZgHpS9rXOAiBnHEqxHRiNaUfrECelXKSpc0fdxs1F3CuaQYJ9D91mhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1238161},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=22.23.1"},"funding":"https://github.com/sponsors/klodr","gitHead":"407ba93359fc0e0acffa2b9e9cf945cd3a922009","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5156a98e-e83b-45ad-92c3-97dce0066248"}},"overrides":{"esbuild":"^0.28.1","fast-uri":"3.1.4","test-exclude":"^8.0.0","js-yaml@^4.0.0":"4.3.0","js-yaml@^5.0.0":"5.2.2","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.23.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/faxdrop-mcp_0.10.0_1785141368871_0.9343560674143312","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"_id":"faxdrop-mcp@0.10.1","bin":{"faxdrop-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"dist":{"shasum":"dee9825411db5d23a72eb90fe02425ad5a81e0f9","tarball":"https://registry.npmjs.org/faxdrop-mcp/-/faxdrop-mcp-0.10.1.tgz","fileCount":11,"integrity":"sha512-Lmrnhp9v+m1WBb7POS+z/rh0y9JxPreuK+/UfgPeftiKxSjh+JlNOzy0lOfK+oRPwbCaxAgtBqRaD87re/f97Q==","signatures":[{"sig":"MEQCIEbMSpPJyop3jN4N8mKgqyRHxXQoOkhvh6dv+x3bDUp5AiB4SdGUdIdWPrhuXxXD00+c4oniQCRg2jJn5dbn+XC1zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF1Viiu9D+pPqU6hfjX5fIxNqq/rXQSANJQb74zI3Y1cAiEAjeGsKstDlcM2UEXnZdOktr+vqUgNnyGnThkBGCjSGg8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/faxdrop-mcp@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1234092},"main":"dist/index.js","name":"faxdrop-mcp","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","author":{"name":"klodr"},"engines":{"node":">=22.23.1"},"funding":"https://github.com/sponsors/klodr","gitHead":"b9275233ace45955cf399399517d5fd7351a1bee","license":"MIT","scripts":{"dev":"tsup --watch","lint":"eslint src \"**/*.{json,jsonc,json5}\"","test":"vitest run","build":"tsup","start":"node dist/index.js","format":"prettier --write src test","lint:md":"markdownlint-cli2 \"**/*.md\" \"#CHANGELOG.md\" \"#node_modules\" \"#coverage\" \"#dist\"","version":"node scripts/sync-version.mjs && git add server.json src/server.ts","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check src test","test:coverage":"vitest run --coverage"},"version":"0.10.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5156a98e-e83b-45ad-92c3-97dce0066248"}},"homepage":"https://github.com/klodr/faxdrop-mcp","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"overrides":{"esbuild":"^0.28.1","fast-uri":"^3.1.6","smol-toml":"^1.8.0","test-exclude":"^8.0.0","js-yaml@^4.0.0":"^4.3.2","js-yaml@^5.0.0":"5.2.2","@hono/node-server":"2.0.12"},"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","directories":{},"lint-staged":{"*.md":["prettier --write","markdownlint-cli2"],"*.{yml,yaml}":["prettier --write","yamllint"],"*.{json,jsonc,json5}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"],"*.{ts,tsx,js,mjs,cjs,mts}":["prettier --write","eslint --max-warnings=0 --no-warn-ignored"]},"maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.2","ipaddr.js":"^2.3.0","libphonenumber-js":"^1.12.41","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.7","devDependencies":{"tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.3.0","vitest":"^4.1.4","prettier":"^3.8.3","yaml-lint":"^1.7.0","@eslint/js":"^10.0.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^22.19.17","lint-staged":"^17.0.4","lockfile-lint":"^5.0.0","@commitlint/cli":"^21.0.0","markdownlint-cli2":"^0.23.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.4","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-promise":"^7.3.0","eslint-plugin-unicorn":"^64.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","@commitlint/config-conventional":"^21.0.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/faxdrop-mcp_0.10.1_1790432911414_0.1841306186794247"}}},"time":{"created":"2026-04-18T08:15:29.048Z","modified":"2026-09-26T14:28:31.841Z","0.1.0":"2026-04-18T08:15:29.259Z","0.1.2":"2026-04-18T09:27:52.933Z","0.1.3":"2026-04-18T11:02:29.491Z","0.1.4":"2026-04-18T12:16:59.032Z","0.1.5":"2026-04-18T12:58:31.970Z","0.1.8":"2026-04-18T16:02:18.524Z","0.1.9":"2026-04-19T01:20:18.775Z","0.2.0":"2026-04-19T03:10:14.153Z","0.3.0":"2026-04-19T08:44:51.213Z","0.3.1":"2026-04-19T09:21:04.787Z","0.3.2":"2026-04-20T04:52:37.865Z","0.3.3":"2026-04-21T08:32:16.266Z","0.3.4":"2026-04-22T02:22:50.416Z","0.3.5":"2026-04-22T03:45:00.363Z","0.3.6":"2026-04-22T07:05:22.066Z","0.3.7":"2026-04-23T04:46:15.191Z","0.3.8":"2026-04-23T06:06:46.936Z","0.3.9":"2026-04-23T16:01:49.218Z","0.4.0":"2026-04-25T06:21:50.964Z","0.5.0":"2026-04-25T09:22:17.271Z","0.6.0":"2026-04-25T22:23:43.339Z","0.7.0":"2026-05-03T15:36:43.129Z","0.7.1":"2026-05-07T16:19:02.110Z","0.8.0":"2026-05-08T02:45:59.556Z","0.8.3":"2026-05-09T22:37:58.783Z","0.8.4":"2026-05-10T06:55:22.564Z","0.8.5":"2026-05-10T18:09:55.963Z","0.8.6":"2026-05-11T08:55:07.275Z","0.8.7":"2026-05-11T20:40:00.351Z","0.8.8":"2026-05-12T17:06:24.045Z","0.9.0":"2026-05-12T21:22:46.271Z","0.9.1":"2026-05-13T04:06:42.773Z","0.10.0":"2026-07-27T08:36:09.014Z","0.10.1":"2026-09-26T14:28:31.518Z"},"bugs":{"url":"https://github.com/klodr/faxdrop-mcp/issues"},"author":{"name":"klodr"},"license":"MIT","homepage":"https://github.com/klodr/faxdrop-mcp","keywords":["mcp","model-context-protocol","faxdrop","fax","fax-api","ai","llm","claude","anthropic","agent-tools"],"repository":{"url":"git+https://github.com/klodr/faxdrop-mcp.git","type":"git"},"description":"Send real faxes from any MCP-enabled AI assistant. Wraps the FaxDrop API (PDF/DOCX/JPG/PNG, international numbers, status polling) with rate limits, dry-run mode, and audit logging.","maintainers":[{"name":"klodr","email":"claude@altixia.com"}],"readme":"# 📠 faxdrop-mcp\n\n> Send real faxes from any MCP-enabled AI assistant. Wraps the [FaxDrop](https://faxdrop.com) HTTP API.\n\n[![CI](https://github.com/klodr/faxdrop-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/klodr/faxdrop-mcp/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/klodr/faxdrop-mcp/actions/workflows/codeql.yml/badge.svg)](https://github.com/klodr/faxdrop-mcp/actions/workflows/codeql.yml)\n[![Tested with Vitest](https://img.shields.io/badge/tested%20with-vitest-yellow?logo=vitest&labelColor=black)](https://vitest.dev)\n[![codecov](https://codecov.io/gh/klodr/faxdrop-mcp/branch/main/graph/badge.svg)](https://codecov.io/gh/klodr/faxdrop-mcp)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/klodr/faxdrop-mcp/badge)](https://scorecard.dev/viewer/?uri=github.com/klodr/faxdrop-mcp)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12578/badge)](https://www.bestpractices.dev/projects/12578)\n[![Socket Security](https://socket.dev/api/badge/npm/package/faxdrop-mcp)](https://socket.dev/npm/package/faxdrop-mcp)\n[![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/klodr/faxdrop-mcp?labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews)](https://coderabbit.ai)\n\n[![npm version](https://img.shields.io/npm/v/faxdrop-mcp.svg)](https://www.npmjs.com/package/faxdrop-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/faxdrop-mcp.svg)](https://www.npmjs.com/package/faxdrop-mcp)\n[![Node.js Version](https://img.shields.io/node/v/faxdrop-mcp.svg)](https://nodejs.org)\n[![MCP](https://img.shields.io/badge/MCP-1.29-blue)](https://modelcontextprotocol.io)\n[![MCP Server](https://badge.mcpx.dev?type=server 'MCP Server')](https://modelcontextprotocol.io)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/klodr/faxdrop-mcp/pulls)\n\n[![Sponsor on GitHub](https://img.shields.io/github/sponsors/klodr?logo=github-sponsors&label=GitHub%20Sponsors&color=EA4AAA)](https://github.com/sponsors/klodr)\n[![Patreon](https://img.shields.io/badge/Patreon-F96854?logo=patreon&logoColor=white)](https://www.patreon.com/klodr)\n[![Ko-fi](https://img.shields.io/badge/Ko--fi-FF5E5B?logo=kofi&logoColor=white)](https://ko-fi.com/klodr)\n\nA Model Context Protocol (MCP) server that lets AI assistants (Claude, Cursor, Continue, OpenClaw…) send real faxes through the [FaxDrop API](https://www.faxdrop.com/for-developers).\n\n## ✨ Why this MCP?\n\nFaxing is still required by US healthcare, government forms, and a long tail of legal/financial workflows. FaxDrop is a hosted fax service with a clean HTTP API and a free tier (2 faxes/month). This MCP exposes it to LLMs with the safeguards an agent platform actually needs.\n\n### 🤔 Why not just call the FaxDrop API directly?\n\nYou can. But every agent that does ends up re-implementing the same handful of guards. This MCP gives them to you for free:\n\n- **Input validation** — absolute-path + extension + 10 MB cap on the upload (all before the file is opened); E.164 regex on the fax number; no SSRF, no path traversal.\n- **TOCTOU-safe read** — file descriptor pinned with `fs.open()`, size enforced continuously while reading.\n- **No secret leakage** — error objects strip the response body; the audit log keeps only an explicit allowlist of FaxDrop response-shape fields (`recipientNumber`, `faxId`, `id`) in clear, blocks the credential set (`apiKey` / `authorization` / `password` / …), and elides every other field with a length marker (`[ELIDED:NNN]`). Property-tested with fast-check.\n- **Dry-run + audit log** — `FAXDROP_MCP_DRY_RUN=true` to test prompts without sending; `FAXDROP_MCP_AUDIT_LOG=/abs/path` for a JSONL trail (mode `0o600`).\n- **Clean errors** — FaxDrop's 402 / 429 / 4xx surfaced as MCP `isError` with `error_type`, `hint`, `retry_after`.\n- **Drop-in for any MCP client** — one `npx -y faxdrop-mcp` line in Claude Desktop / Code / Cursor / Continue / OpenClaw.\n- **Verifiable releases** — Sigstore-signed + SLSA in-toto attestation + npm provenance ([verify](.github/SECURITY.md#verifying-releases)).\n\nA ~12 KB wrapper that turns a one-week security review into a one-line config change.\n\n## 📦 Installation\n\n```bash\nnpm install -g faxdrop-mcp\n```\n\nOr use directly with `npx`:\n\n```bash\nnpx faxdrop-mcp\n```\n\n## ⚙️ Configuration\n\nThe server reads `FAXDROP_API_KEY` from the environment. Get your key at [faxdrop.com/account](https://faxdrop.com/account) (Developer API → Generate Key). Keys look like `fd_live_<32 hex>`.\n\n### 🤖 Claude Desktop / Claude Code\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (or `~/.claude.json` for Claude Code):\n\n```json\n{\n  \"mcpServers\": {\n    \"faxdrop\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"faxdrop-mcp\"],\n      \"env\": {\n        \"FAXDROP_API_KEY\": \"fd_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n### 🖱️ Cursor\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"faxdrop\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"faxdrop-mcp\"],\n      \"env\": {\n        \"FAXDROP_API_KEY\": \"fd_live_...\"\n      }\n    }\n  }\n}\n```\n\n### 🦀 OpenClaw\n\nAdd to `~/.openclaw/openclaw.json`, then restart the gateway (`docker restart openclaw-openclaw-gateway-1` or your equivalent).\n\n## 🛠️ Tools (3)\n\n### 📤 `faxdrop_send_fax`\n\nSend a fax. Uploads a local document **from the outbox** (default `~/FaxOutbox/`) to a fax number in international (E.164) format.\n\n**Required:**\n\n- `filePath` (string, absolute) — PDF, DOCX, JPEG, or PNG, ≤10 MB. **Must live inside the outbox.**\n- `recipientNumber` (string) — E.164, e.g. `+12125551234`. Subject to the 3-layer phone gate (TYPE → COUNTRY → per-number).\n- `senderName` (string)\n- `senderEmail` (string)\n\n**Optional cover-page fields** (printed only when `includeCover` is true):\n\n- `includeCover` (boolean) — free accounts always include a branded cover; paid accounts default to false\n- `coverNote` (string, ≤500) — message body\n- `recipientName` (≤50), `subject` (≤200), `senderCompany` (≤100), `senderPhone` (validated E.164)\n\n**Notifications:**\n\n- `sendEmail` (boolean) — whether FaxDrop should email the sender a per-fax delivery confirmation. **Defaults to `false`** (suppress) — the MCP is built for batch/agent workflows where one email per fax floods the inbox, and the same information is already retrievable via `faxdrop_get_fax_status`. Set to `true` to opt back in. Failed-fax emails, operator alerts, refunds and status pages are unaffected. The send response echoes `deliveryEmail: enabled | suppressed`.\n\n**Returns:** `{ success, faxId, status, statusUrl, deliveryEmail }`\n\n### 🔗 `faxdrop_pair_number`\n\nAdd a fax number to the paired whitelist (`~/.faxdrop-mcp/paired.json`). Only effective when `FAXDROP_MCP_NUMBER_GATE=pairing` (default). The number must still pass the TYPE and COUNTRY checks (no bypass). **Always confirm with the user before pairing** — paired numbers can be faxed without further per-number approval.\n\n**Required:**\n\n- `recipientNumber` (string) — E.164\n\n**Returns:** `{ paired, country, type }`\n\n### 📊 `faxdrop_get_fax_status`\n\nCheck the delivery status of a previously sent fax. Terminal statuses (`delivered` / `failed` / `partial`) are cached process-wide (LRU 100 entries, whitelist-sliced) — re-polling a finished fax short-circuits with a `_cached: true` marker to spare your FaxDrop quota.\n\n**Recommended polling cadence**: every ~5s for the first 2 min, then every ~30s for up to 10 min, **stop on terminal status**.\n\n**Required:**\n\n- `faxId` (string)\n\n**Returns:** `{ id, status, recipientNumber?, pages?, completedAt?, _cached? }`\n\n## 🛡️ Safeguards\n\n| Knob | Env var | Default | Notes |\n|---|---|---|---|\n| Outbox jail | `FAXDROP_MCP_WORK_DIR=/abs/path` | `~/FaxOutbox/` (auto-created mode `0o700`) | Every `filePath` must live inside this directory after `realpath` canonicalization. Symlinks to outside the outbox are rejected. |\n| Number gate | `FAXDROP_MCP_NUMBER_GATE=open\\|pairing\\|closed` | `pairing` | `pairing` requires HITL approval via `faxdrop_pair_number` before a new number can be faxed. `closed` disables runtime pairing (paired.json edited out-of-band). |\n| Allowed types | `FAXDROP_MCP_ALLOWED_TYPES=...` | `FIXED_LINE,FIXED_LINE_OR_MOBILE,VOIP,TOLL_FREE` | libphonenumber `NumberType` allow-list. |\n| Allowed countries | `FAXDROP_MCP_ALLOWED_COUNTRIES=...` | `US,CA,PR,GU,VI,AS,MP` | ISO-3166-1 alpha-2 allow-list (US/CA + US territories). |\n| State directory | `FAXDROP_MCP_STATE_DIR=/abs/path` | `~/.faxdrop-mcp/` (mode `0o700`) | Where `paired.json` lives (mode `0o600`, atomic write). |\n| Dry run | `FAXDROP_MCP_DRY_RUN=true` | off | Write tools (`faxdrop_send_fax`, `faxdrop_pair_number`) return the would-be payload (passed through the same allowlist redaction as the audit log — see row below) and never call FaxDrop or touch `paired.json`. |\n| Audit log | `FAXDROP_MCP_AUDIT_LOG=/abs/path/audit.log` | off | Append-only JSON Lines (file mode `0o600`). Allowlist-based redaction: only FaxDrop response-shape fields (`recipientNumber`, `faxId`, `id`) are kept in clear; known credential keys (`apiKey` / `authorization` / `password` / `secret` / `token`) are replaced with `[REDACTED]`; every other field is elided with a `[ELIDED:NNN]` length marker. This is a fail-closed design: a new API field added upstream is hidden by default, not leaked. |\n\n### ⚠️ Error catalog\n\nEvery failure is returned as `isError: true` with a structured `error_type`, `message`, and (when applicable) `hint` and `retry_after`. Programmatic consumers can match on `error_type` (in `structuredContent`) to drive retry logic.\n\n| `error_type` | Layer | Trigger | Suggested action |\n|---|---|---|---|\n| `phone_parse` | input | Recipient number can't be parsed by libphonenumber. | Ask user for an E.164 number. |\n| `phone_type` | policy | Phone type (e.g. MOBILE) not in `FAXDROP_MCP_ALLOWED_TYPES`. | Use a fax line, or extend the env var. |\n| `phone_country` | policy | Country not in `FAXDROP_MCP_ALLOWED_COUNTRIES`. | Confirm with the user; extend the env var if intentional. |\n| `phone_gate` | policy | Number not in `paired.json` and gate is `pairing` or `closed`. | In `pairing` mode: call `faxdrop_pair_number` first. In `closed`: edit `paired.json` out-of-band. |\n| `pair_disabled` | policy | `faxdrop_pair_number` called outside `pairing` mode. | Set `FAXDROP_MCP_NUMBER_GATE=pairing`. |\n| `bad_request` | filesystem | Path is relative, outside outbox, leaf-symlink, missing, oversized, or has an unsupported extension. | The accompanying `hint` describes the exact remedy. |\n| `unauthorized` | upstream | FaxDrop returned 401. | Check `FAXDROP_API_KEY` in your MCP client config. |\n| `payment_required` | upstream | FaxDrop returned 402 (out of credits). | Top up at the FaxDrop pricing page. |\n| `rate_limited` | upstream | FaxDrop returned 429. | Wait `retry_after` seconds; the hint shows the bucket that was hit. |\n| `invalid_response` | upstream | FaxDrop returned a non-JSON body (proxy interception, incident page). | Body is discarded for safety; check FaxDrop status page. |\n| `fax_error` | upstream (fallback) | FaxDrop returned an error with no `error_type` field. | Read the message; treat as transient. |\n\n### 🚦 Rate limits & quotas\n\nTwo independent caps gate every fax send, both enforced by FaxDrop:\n\n- **Per-key rate limits** (per-minute / per-hour / per-day buckets) — `429 rate_limited` with `retry_after` and `X-RateLimit-*` headers.\n- **Account credit balance** — `402 payment_required` when you run out, with a top-up hint.\n\nThe MCP does **not** add its own limiter; it forwards FaxDrop's response as a clean `isError: true` with `error_type`, `hint`, and `retry_after`. See [FaxDrop's API docs](https://www.faxdrop.com/for-developers) for the current numbers.\n\n## 🔒 Security\n\n- **Always confirm with the user** (recipient, file, cover-page) before invoking `faxdrop_send_fax`. This is also baked into the tool description.\n- The MCP reads files from the user's local filesystem — only expose this server to agents you trust.\n- Test prompts safely with `FAXDROP_MCP_DRY_RUN=true`.\n- See [SECURITY.md](.github/SECURITY.md) for the vulnerability reporting process.\n\n## 🗺️ Roadmap\n\nSee [ROADMAP.md](docs/ROADMAP.md).\n\n## 🌐 Ecosystem\n\nOther MCP servers in the klodr family:\n\n- 📧 [klodr/gmail-mcp](https://github.com/klodr/gmail-mcp) — Gmail\n- 📠 [klodr/faxdrop-mcp](https://github.com/klodr/faxdrop-mcp) — Send real faxes via FaxDrop (you are here)\n- 🏦 [klodr/mercury-invoicing-mcp](https://github.com/klodr/mercury-invoicing-mcp) — Mercury banking + invoicing\n\n## 🤝 Contributing\n\nPRs welcome. See [CONTRIBUTING.md](.github/CONTRIBUTING.md) for the test/build/lint checklist and release process.\n\n## 📄 License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}