{"_id":"freedcamp-mcp","_rev":"28-0f74b9b55f381dce7b5e395dc68d89f1","name":"freedcamp-mcp","dist-tags":{"latest":"0.1.32"},"versions":{"0.1.0":{"name":"freedcamp-mcp","version":"0.1.0","_id":"freedcamp-mcp@0.1.0","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"dist":{"shasum":"e7bd38fea07b3eec73203c00aab274f4b6db9d4c","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.0.tgz","fileCount":6,"integrity":"sha512-6Vi0WS/MdxymxjayhWZ7n2ahclUYq0EZ1i+Wq6KwapcdZzGhZohV5kupLBhlBps7MDFhGBNAp8m5Id7kttHF9A==","signatures":[{"sig":"MEUCIQD31CALYbqoKumt9xurdv1VAQt7C2g0XaeqX/ZXo5ejygIgcRqWwQEC+33RaYBqbeBg8iuIj02edtLUts8eUWV4XQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26064},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"e3d44be5449283a740423f6d8fe540afd2a44e20","scripts":{"dev":"tsc --watch","test":"node test.js","build":"tsc","start":"node dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.9.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"23.7.0","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24","@types/node-fetch":"^2.6.11"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.0_1747580320981_0.0013311180772650477","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"freedcamp-mcp","version":"0.1.5","_id":"freedcamp-mcp@0.1.5","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"5578d2cf2d85bc6d65484f4028495c0e8abafb1c","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.5.tgz","fileCount":10,"integrity":"sha512-X4oMYcXPZAfppTrCNfdJlzYJMzMc7JFxSDbQvuGP2MX986chgcxBqwKvI2aKs41MbafopDaGOI6o7yGts0GT5g==","signatures":[{"sig":"MEQCICZbWqTk/DpfcCM7PXX3XGXH9PGrX9h80W+QxHRtnDipAiBuZ6uj9JdZcRissFXcFrbXPyXhgh6enCEWzVmuwSNlpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48791},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"85442fe104193464acefc36a0b85132ba168c5a2","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.9.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"23.7.0","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24","@types/node-fetch":"^2.6.11"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.5_1747598614705_0.1991261717787962","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"freedcamp-mcp","version":"0.1.7","_id":"freedcamp-mcp@0.1.7","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"91149ac6a6a3dd1f0d1e13e02c7adaceb6c8fc5c","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.7.tgz","fileCount":10,"integrity":"sha512-N/uNEKKlGK4WDEmztZOhUg8QNJ+Rt5KMDK3yGNb32ntT8q5/yMrszYEu3sBNXcWoZ8UkrmpohOIMdCbfj4F58w==","signatures":[{"sig":"MEUCIEAiQKK0bTBSaodXbmlee/v/jL646l0AKR3OKGwLmP/9AiEA3/XzKYi2eKXaqBjpZgsVgPNmrd7B51dopc8F46WwL1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46815},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"46076c477611f4e4d496e7c8249628ff84f5cb3e","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.9.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"23.7.0","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24","@types/node-fetch":"^2.6.11"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.7_1747601029359_0.6399731872788932","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"freedcamp-mcp","version":"0.1.8","license":"MIT","_id":"freedcamp-mcp@0.1.8","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"b6a11ac115112109733a0b02d55eb62d331a2f30","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.8.tgz","fileCount":9,"integrity":"sha512-qQiKrMNPz3EcsrfPyWgUcXIATBT5+R1ahIR7oooNfIw/0pPGQZJFtfF9FZl0wi6M61Wj+Sv2njhBsg2YgI5jTw==","signatures":[{"sig":"MEYCIQD3KlSn3ulD6TwuO3mNtRSvdbtXx7q3S0dMzlTqztXXYQIhAObQNomfzGXt3wz8RRQfRW9thBfZL+H1od970lolNkVa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45293},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"0b7028e913839288facde8a1d2eb601393151a6c","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.8_1747684383463_0.37972967748817066","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"freedcamp-mcp","version":"0.1.9","license":"MIT","_id":"freedcamp-mcp@0.1.9","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"327112b72a3a57a3c2a48eb60976fea1c4c2860b","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.9.tgz","fileCount":9,"integrity":"sha512-HkC1zMtGIotQOGcy8/akWPB1E62qTjd/Gc5C2UMUreLnIgHqrUH1ykwelC+I2EZYXb1F3byQP/nsZyxPtFseiw==","signatures":[{"sig":"MEYCIQDhviLWwXcAS4LBvmCJfyb/Z05OpOPU5qlf1yItS7AzywIhAOaN8sCosb9gf8QMbrKcltlToidXqLhsiTOGEXorAqaD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45293},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"170b0f9e5565c31950be24c34c8f84fd1fe579d3","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.9_1747684403702_0.5109092833204809","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"freedcamp-mcp","version":"0.1.10","license":"MIT","_id":"freedcamp-mcp@0.1.10","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"e61c7f918b2f311c77adf7cb35c462c55fe05412","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.10.tgz","fileCount":9,"integrity":"sha512-DiWRE5sXnVM6fpIPfg5G1zT11jmuqo8cIKhTPBMFD++mQhuTgKk1+/gKNr+2/UIqjekhhRJ773rbE4ol+JEkeQ==","signatures":[{"sig":"MEUCIHGNGhoAYzb7NCt712uK33Tj/d67ZBEdM2pkP+HbzwtkAiEAlSfLX8+Ezg3VN3foX2wnXU0iKLoGr/cyrJdOlHoQHwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"fdf3bdc67eea457f6f298fc03db3c0b18eb22f09","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.10_1747684435417_0.38151046767631436","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"freedcamp-mcp","version":"0.1.11","license":"MIT","_id":"freedcamp-mcp@0.1.11","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"45f8c4edbe8732caeadfab4b9725328275e5e2b3","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.11.tgz","fileCount":9,"integrity":"sha512-n64w1jH5C7LM/vIkt5vHupzrnUfgo3SRuvo9SDAGbqwnT+Z7OWX5E60R4PFCPtLKK1NpprUfFG5DSHFVJGTxRw==","signatures":[{"sig":"MEUCIQCQV2VjdD+CP/PGztnKgM5YH0cOHPdYnl6gTOs3xyc92AIgMwc6QXu5H+RLrAccs6oO5yXvo3Xc+O84u32iV0dS7Og=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"3680999c007f5c1ec971c6f915559cf1a9b583c8","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.11_1747684455263_0.3192733647877519","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"freedcamp-mcp","version":"0.1.12","license":"MIT","_id":"freedcamp-mcp@0.1.12","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"3267cdaaf5f8232ad75dd54f0483f5619f93b65d","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.12.tgz","fileCount":9,"integrity":"sha512-HtJJnOcO8ZTD80Kf8WDxE+MxNDsrTFCF/wF5sQDGs23ihzOOuYZpWGSPw810vtvC2anMsxEktQLp8CzothIPyw==","signatures":[{"sig":"MEQCIACdV/UhftxAe2mWDynnFpy4YzCyCqCs5kGjTaICMB99AiBLo6exACJuMLqKgLE9PdCQU2W7pjA6TvjgKHgHNGU4wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"d25ce4f21edb07322c3de3ea1281373dd7d33052","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.12_1747684475652_0.2411892847344772","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"freedcamp-mcp","version":"0.1.13","license":"MIT","_id":"freedcamp-mcp@0.1.13","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"00b0421f5bbbe11a2357a9f95333168530237f55","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.13.tgz","fileCount":9,"integrity":"sha512-Jsq6FjoFOKV7zgmhR9eoE8EkdpQWc7zR6sfumYqdZWqgBqMcB3buWaq8YNulOux+fOsgAwz70mNBBaKMrDk1JQ==","signatures":[{"sig":"MEQCIHrwASR7nmKyxlQYcwd8fBbvBlW/Uj73KIqgXzFaBVfrAiANnOIXJg6pA8pboMeH+JP9BAXDTaDfl1+cHHWmcly34Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"b63557aa9086ebbcd742eea973ed66c019da4bc5","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.13_1747684497691_0.5546245396484117","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"freedcamp-mcp","version":"0.1.14","license":"MIT","_id":"freedcamp-mcp@0.1.14","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"7cbffe9bcc34a5efb396873585193c0f4f1fe3e7","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.14.tgz","fileCount":9,"integrity":"sha512-W1jJgjyigIo5SapiNyU7w3KZfMLL2xkbUtjASHBhXVT2OHsxO9TTieWP6YIuep4uNrFhenmCb0JP0eGY6xh0pw==","signatures":[{"sig":"MEYCIQCTY5NwouTBOpOGgiy3EDtnjCP3sFFxEMpDCkwvsnKTAQIhAN7sqaCrOkJYTWfgItRR3uFwfjJjewTpAaKYIfZRCRYq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"517d95cd35997e6c500cb3ac4bcc23759004c9c0","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.14_1747684516300_0.32889659962796647","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"freedcamp-mcp","version":"0.1.15","license":"MIT","_id":"freedcamp-mcp@0.1.15","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"59f9c4d8dc4caef06e1f4ab2f73f48c46d866443","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.15.tgz","fileCount":9,"integrity":"sha512-dClwGc/UQKJaTEkKUnUo8/ZPW3SZ8h602HMsx97kMiEZeE8wZnV25ynPjdjacmvNmNv5XXq0i+kEzdC+2zfbuA==","signatures":[{"sig":"MEYCIQCzXEWhU3l/HOAvLWfKu6/B/qbtgNKmf1HhgG8FBrVtLAIhAIax5cd0q/Wbi75WHNeCQ8tpSYGmeF8m+PEPVQLQ63OB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"34ccc1f29bce7bbaa023ddf7373e73027d5e6f38","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.15_1747684535170_0.8167831280118198","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"freedcamp-mcp","version":"0.1.16","license":"MIT","_id":"freedcamp-mcp@0.1.16","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"88dd5c2fd6e412111d5a2f17e6e777bbcc35d444","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.16.tgz","fileCount":9,"integrity":"sha512-XQfSI6ws7RoGamPCLRMGaJ+DqT6zNLx7lz0HQB42kiHgm1iwpks3xqckjoCu7EZwrvPNLwBNr1TbcBayb0j7Lg==","signatures":[{"sig":"MEQCIBEOfKzLUqj41CF+pevVGSCPyajft56Z/jlye/vHgLNBAiAjGaVwQJVFhzVHuzwg+9Q+8jYzvnwZzeu39kSvBgOriA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"592a6780c38aa61afab467233a4da92c2d97a411","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.16_1747684555438_0.8086548059462417","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"freedcamp-mcp","version":"0.1.17","license":"MIT","_id":"freedcamp-mcp@0.1.17","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"9da9587f8a03f2236b73e890d2007a7cc8ca36be","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.17.tgz","fileCount":9,"integrity":"sha512-0EudAo7Aw3T35xupLcZvsqGW/Cz568wZovtb6Q8aQt1kk7C0zfs663ZX4lECeOm3Z4O3Ux2U+dg43AFJasPJuw==","signatures":[{"sig":"MEUCIQDPhsqKuVR7OGYbRV6rpC0b1JbO2kIlhWRGQHkHEofFEQIgUqYY4fwPpoe+hRhLEMLmZxUvpeUvpRNUGHJ2bjDDxd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"e94ea00294444cbe1ec632fcb4813c55d1244639","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.17_1747684576513_0.37623799141656766","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"freedcamp-mcp","version":"0.1.18","license":"MIT","_id":"freedcamp-mcp@0.1.18","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"091ec55c2c8220830eb6125d047c4a655701d3e8","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.18.tgz","fileCount":9,"integrity":"sha512-5JO196xr36lKVVrCOeMj53y8v5XjVx/G2cKbuKDmIwmUCcT2Y/YVnbjNf4RP5LVuTwJUeNpkbV0IIDH1llweaA==","signatures":[{"sig":"MEYCIQDMVyAXRFWMompiaK/GNOQIW5fqvtFmJK3DHtd0aPHGKwIhAMIdhiUq482DD722+YpUdyc4l7qaAIrQm0ad+KgJBAIX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45294},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"f6d4950e552c6c6f0890d0b5d3cc351ba2441d47","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.18_1747684598301_0.9922193080710919","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"freedcamp-mcp","version":"0.1.19","license":"MIT","_id":"freedcamp-mcp@0.1.19","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"82b31564a3d6c88be7f9425e30c699ef4b917465","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.19.tgz","fileCount":9,"integrity":"sha512-aOmf982PTZftHY68sRE7PChzB6rzpP3ELR2i4Hruillv9Z2Y5iVLhQbKhI1EWkib52Vem3mb+f9YWbRGiR6inw==","signatures":[{"sig":"MEUCIQChb9fcVNV3mfSXYJb1kxMACLJMDVG634DX+YF0Mb1umgIgWfH2MTPxCKg5vW+nDASaOhNX2WsfnB+7+nT7M2EhrwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49700},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"3afa9f9bc5cd63e2fdeede179d1e85317982a660","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.19_1747772686633_0.2900544131272027","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"freedcamp-mcp","version":"0.1.20","license":"MIT","_id":"freedcamp-mcp@0.1.20","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"a9b6913127e672e1862397200fb330c8ead7679f","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.20.tgz","fileCount":9,"integrity":"sha512-AtETDeQ98U5k9b543yYZF0AcObwQ6AeS64mR6j1gJ9PcBNVReK+JWacVuumtqAw4JUhlOI5xBpFZ9pIMbtAb/Q==","signatures":[{"sig":"MEUCIQCpv+x2W0V1jI5FxDO4hfWiefrFyLdDXnA0INou09xyWwIgS9Yn5RdCIF7y2RpLtUG+BnwODFxgaEJVZZmBU8iKv5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49847},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"f708f0d3f878bd2b8be5df18c3853b1551277e72","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.20_1747834076656_0.1379556559277666","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"freedcamp-mcp","version":"0.1.21","license":"MIT","_id":"freedcamp-mcp@0.1.21","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"d09352ce51add9f82cd1910396a13fb9599c420a","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.21.tgz","fileCount":9,"integrity":"sha512-yhuIfeZxtFGcnrmF1O915YP7RymZF+XMOmbwq/UJMpflv6aK63xlUXePHHhGhekBWt81wZVF1+B7e3ccpMx/8w==","signatures":[{"sig":"MEUCIC6nkNQdNML5HasSjpGEYpN7EdlazQ7JyLC+XDzDLVssAiEA2+CGmsjF9AO2QEl2PdejPgbkinRJkOVjBERN2dtPph0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49847},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"119a6e071816c94eb6a6472ed7288e36af2bf0c0","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.21_1747834257518_0.26773984651200644","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"freedcamp-mcp","version":"0.1.22","license":"MIT","_id":"freedcamp-mcp@0.1.22","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"c82e2863dee8d67b211749101ba49b6a5741e135","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.22.tgz","fileCount":9,"integrity":"sha512-WY9y0NwYIalwLLypIvXKopnQrDMaLXwbm5mr6yFdkCXjLDgRqlyPRkPT++Q/wEOdovdLNsKpuQ8QUI585h8SVQ==","signatures":[{"sig":"MEUCIQDp11j03tameyfbiG8EgQ46BF9c8O+KfiSvpBzZfVID2QIgPLB0h9bs/trgVyTV3R3Q56Cv4Nctnm3taeMsg/2hIdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49847},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"0ee4d3b10d22fdcf864153a08b41ee8be0d39e12","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.22_1747834395499_0.09966694463530623","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"freedcamp-mcp","version":"0.1.23","license":"MIT","_id":"freedcamp-mcp@0.1.23","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"9ad5f9a2e7062786ab9b035029b6f1711c6f4cc0","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.23.tgz","fileCount":9,"integrity":"sha512-8/daN4A6yfuQOjFQnfB00BnAI1FVIfn4BHabYMD/A7VAhzq2SMvo6heCJDi3w6e5q+FKG484ESWKqSv9RzcfmQ==","signatures":[{"sig":"MEYCIQCtomqdla1Cga912md3w3bDuDnq/qX0HjhJygzL8vQzQgIhAKN8sntRjZeLaTUtfFQYk1YLpKRusDKJ+Mo/m8hfb0gf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49847},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"238e89e04a2affb3781d601a286f0fd9f2cd1b35","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.23_1747834812781_0.11486206684765987","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"freedcamp-mcp","version":"0.1.24","license":"MIT","_id":"freedcamp-mcp@0.1.24","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"291941d8980615318583c523063a321ac95d63c2","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.24.tgz","fileCount":9,"integrity":"sha512-uqCsIXsRL1HtvDvXNTbe+ObbDk8FR15O9OtC3DtyvdCsy/WRLdH3VhjfMLFug9M5HBB2JMIRY8f27k5C9ShwuA==","signatures":[{"sig":"MEUCIBnQEI5Onic4Su3Y58+e04RhgH1c8Yk9It83fyG5KS1hAiEA09eG4FoPbqK1dyJoONa1K7I/pcCTAyO8dYRO56Sx/5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49199},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"3e37d9bb56b2dc7c5e084a28cae7a840797688fe","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.24_1747917794388_0.8986016279466844","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"freedcamp-mcp","version":"0.1.25","license":"MIT","_id":"freedcamp-mcp@0.1.25","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"513467d77a0fc74043bcdfe57d0cec38a9b028b0","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.25.tgz","fileCount":9,"integrity":"sha512-6FN94L2wc/XFHv9qS5UmPvBX+6kKMLcboehF3CxBGQ8uAxhPySvdJzg3MJfCKFLLJX4U5Ceg65byiZm/7Ti45Q==","signatures":[{"sig":"MEYCIQD2ebmtmze6CY17QxYoeGzEnnrwIJqH+OWH2Y2JIrRcbgIhALob51IuMBh/7zLmNt87PYMLq2g9gzRt24cgMceaNM2u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81502},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"aa67035a0929d60056165cdb04e455b8d58480da","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.25_1748353200213_0.4626645241215075","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"freedcamp-mcp","version":"0.1.26","license":"MIT","_id":"freedcamp-mcp@0.1.26","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"be6a19bd0c1cb5c0abd5914852717dbd62bc84ad","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.26.tgz","fileCount":9,"integrity":"sha512-8x1+VqpvlcN80K8bsqnLZYNlrN+UcT2jZ09N0AeDymxaMT43bdlKZDmK2cgYJDCSk9U6qnKSD6K8N3xpecF8xQ==","signatures":[{"sig":"MEQCID91bHErAvPq8Lj9pQwffO9iCwrXwJFbjeOdKsQN+xm2AiBFp7vrnVEvrFa3TxfBFuuDBd8c2AqZEXR+5BFio0Vdhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81502},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"31f5d8aeab90023cd6e08099eb8431dfb88b073c","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.26_1748353624173_0.07441065388604606","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"freedcamp-mcp","version":"0.1.27","license":"MIT","_id":"freedcamp-mcp@0.1.27","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"49fe77b143e2ee8a0b43135352b1e4ec6f4551d8","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.27.tgz","fileCount":9,"integrity":"sha512-bq1JYrHiF0tDlwBZjqrQNrLf4+FGAY4MAzKMGYWoYYI59fexjgppWuYreRzgUKR7Kh93Y7X/VDFldde+OQN0UQ==","signatures":[{"sig":"MEUCIQCHKMeb1pq3xmA5L4IH/CrOgd6pCnepsZhfkL3WKBpWsgIgJI75id+dqSqScLArl5s0evuKVGgVNSbc6La9yT8B60w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90857},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"3e08049eaa022aebfca2105ab97448ab07dc7d7e","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.27_1748542460786_0.6794358356027805","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"freedcamp-mcp","version":"0.1.28","license":"MIT","_id":"freedcamp-mcp@0.1.28","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"58276481b395ee625f7f70c9eab901d91f805367","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.28.tgz","fileCount":9,"integrity":"sha512-VoCHiMZN7lp9E8NQt5BpiNwEe6xsOowe6hr/oBCR4L9lxwcM9uqp7WJSvYv0f0B4k73MSd3FltjTM0RZqj4ATg==","signatures":[{"sig":"MEUCICVxxFQf9O/jEEMiRY1QZ2YQftenVU7NyRRxzp7kT6D8AiEA127rdvF/zLRNRlNrtFIBr7c0mXJippRlDecHo3QnhvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90857},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"d5cc7cb7d37ee876200a7bd7ac111abeeb9599e5","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.28_1748542562643_0.48450617249964933","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"freedcamp-mcp","version":"0.1.29","license":"MIT","_id":"freedcamp-mcp@0.1.29","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"73302af6d6145f308630028ade7e3f9ee85881bf","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.29.tgz","fileCount":9,"integrity":"sha512-CTQMkPffvlXpFLnbtzNnoI/vchD6tytXnbyJBPoN6NqgXMq02IxgX4uIJ9o15+hrkFkyFUmNeCf1c0JMNNc5lg==","signatures":[{"sig":"MEUCIQDnuxYNgm8S1TfeQL6tGobBBPRMJz3fqAxwwm+NLAau+QIgNI9r5tjw5kknkgFXIQOtpImheBUT+M8Mie4Jhb7+CVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87285},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"081da64b9ab88c4b220852740f68254f50304ce8","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.29_1748543392013_0.8797837145527649","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"freedcamp-mcp","version":"0.1.30","license":"MIT","_id":"freedcamp-mcp@0.1.30","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"f927840cef04b20beafe4c5db4c2d5f562fc8bc2","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.30.tgz","fileCount":9,"integrity":"sha512-lLGxGsYtOUfV+sVgo/JBuGyQfb24t729gKuGSIDKJEvEwzjGTZz36z7rqH0B3xXcSI5KRdh0q6CxNs3ZzbvsJA==","signatures":[{"sig":"MEUCIA8L6BVsQ5qU/HXUS/snoK9Ar2s/E07vBxHJ3NCrrhUJAiEArICU3zWCBjGnYi5j8RHQotS8hgd3j2vPV/L+VeMc5/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89324},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"3189a9ce202ed3a0f701f5b4219514f2e92d8451","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js"},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.30_1748543809531_0.6362923895217558","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"freedcamp-mcp","version":"0.1.31","license":"MIT","_id":"freedcamp-mcp@0.1.31","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"bin":{"freedcamp-mcp":"dist/server.js"},"dist":{"shasum":"495945c45953a0f0657cfe8a6add75f02f60f757","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.31.tgz","fileCount":15,"integrity":"sha512-+HPlTCB5mvh0UKEjU0jWHR6q1l8OWqrk1ecbVS5wcUDugbBYfAO7OW1b9BAM0Am1P9EzTrqSnUQvdTrWoT1UVA==","signatures":[{"sig":"MEUCIQDMlFRrEFG7GHeqjvsMzeBTb2Kn0SyBPD+w+BzTyFnZkAIgOlO+c5G0i8W0gNmd6k7ZhBcoO4cOFTydl0Pm2zOpf08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107221},"main":"dist/freedcamp-mcp.js","type":"module","engines":{"node":">=17.0.0"},"gitHead":"b11f20b838f5e141bb9de7a3ad6cb6e2d540b0e0","scripts":{"dev":"tsc --watch","test":"npm run build && node dist/test-harness.js","build":"tsc","start":"node dist/server.js","prepare":"husky install","postbuild":"chmod +x dist/server.js && chmod +x dist/http-server.js","test:http":"npm run build && dotenv -e .env -- node dist/test-harness-http.js","start:http":"node dist/http-server.js","start:http:test":"dotenv -e .env -- node dist/http-server.js"},"_npmUser":{"name":"gabeosx","actor":{"name":"gabeosx","type":"user","email":"gabeosx@yahoo.com"},"email":"gabeosx@yahoo.com"},"_npmVersion":"10.8.2","description":"MCP server implementation for Freedcamp task management","directories":{},"_nodeVersion":"20.19.3","dependencies":{"zod":"^3.22.4","dotenv":"^16.4.1","express":"^4.18.2","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","dotenv-cli":"^8.0.0","typescript":"^5.3.3","@types/node":"^20.11.24","@types/express":"^4.17.17","@commitlint/cli":"^18.6.0","standard-version":"^9.5.0","@types/node-fetch":"^2.6.11","@commitlint/config-conventional":"^18.6.0"},"_npmOperationalInternal":{"tmp":"tmp/freedcamp-mcp_0.1.31_1752164177111_0.9556897665363913","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"freedcamp-mcp","version":"0.1.32","description":"MCP server implementation for Freedcamp task management","type":"module","main":"dist/freedcamp-mcp.js","bin":{"freedcamp-mcp":"dist/server.js"},"scripts":{"start":"node dist/server.js","start:http":"node dist/http-server.js","start:http:test":"dotenv -e .env -- node dist/http-server.js","test":"npm run build && node dist/test-harness.js","test:http":"npm run build && dotenv -e .env -- node dist/test-harness-http.js","build":"tsc","postbuild":"chmod +x dist/server.js && chmod +x dist/http-server.js","dev":"tsc --watch","prepare":"husky install"},"dependencies":{"@modelcontextprotocol/sdk":"1.15.0","dotenv":"^16.4.1","express":"^4.18.2","node-fetch":"^3.3.2","zod":"^3.22.4"},"devDependencies":{"@commitlint/cli":"^18.6.0","@commitlint/config-conventional":"^18.6.0","@types/express":"^4.17.17","@types/node":"^20.11.24","@types/node-fetch":"^2.6.11","dotenv-cli":"^8.0.0","husky":"^8.0.0","standard-version":"^9.5.0","typescript":"^5.3.3"},"engines":{"node":">=17.0.0"},"license":"MIT","_id":"freedcamp-mcp@0.1.32","gitHead":"ee3a17ab75070382bc39767a30ff6e82f7c66811","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-QfLyVZYZusClCYChqXEXN2SaZgAWxI6Hw+reexj+SScL2QOYP7qtFRDPLplM1b5VCsni3Yp6137NqtrgAHqndQ==","shasum":"f90f7b45d38c0531499d9990cc563dab2da8a978","tarball":"https://registry.npmjs.org/freedcamp-mcp/-/freedcamp-mcp-0.1.32.tgz","fileCount":15,"unpackedSize":107225,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCoQYzhhCWfJg8wLWs10s+hMWzzOVVZwG+zFYp1DqYZKQIga2RFYTik3j8lbBpvN08jtxu7yiRqTxleYTZN67zJwNY="}]},"_npmUser":{"name":"gabeosx","email":"gabeosx@yahoo.com"},"directories":{},"maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/freedcamp-mcp_0.1.32_1752537981410_0.8281254842044308"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-18T14:58:40.981Z","modified":"2025-07-15T00:06:21.795Z","0.1.0":"2025-05-18T14:58:41.192Z","0.1.5":"2025-05-18T20:03:34.906Z","0.1.7":"2025-05-18T20:43:49.558Z","0.1.8":"2025-05-19T19:53:03.708Z","0.1.9":"2025-05-19T19:53:23.913Z","0.1.10":"2025-05-19T19:53:55.647Z","0.1.11":"2025-05-19T19:54:15.489Z","0.1.12":"2025-05-19T19:54:35.839Z","0.1.13":"2025-05-19T19:54:57.870Z","0.1.14":"2025-05-19T19:55:16.513Z","0.1.15":"2025-05-19T19:55:35.354Z","0.1.16":"2025-05-19T19:55:55.641Z","0.1.17":"2025-05-19T19:56:16.678Z","0.1.18":"2025-05-19T19:56:38.451Z","0.1.19":"2025-05-20T20:24:46.871Z","0.1.20":"2025-05-21T13:27:56.850Z","0.1.21":"2025-05-21T13:30:57.738Z","0.1.22":"2025-05-21T13:33:15.707Z","0.1.23":"2025-05-21T13:40:12.955Z","0.1.24":"2025-05-22T12:43:14.600Z","0.1.25":"2025-05-27T13:40:00.383Z","0.1.26":"2025-05-27T13:47:04.351Z","0.1.27":"2025-05-29T18:14:21.031Z","0.1.28":"2025-05-29T18:16:02.823Z","0.1.29":"2025-05-29T18:29:52.324Z","0.1.30":"2025-05-29T18:36:49.714Z","0.1.31":"2025-07-10T16:16:17.360Z","0.1.32":"2025-07-15T00:06:21.596Z"},"license":"MIT","description":"MCP server implementation for Freedcamp task management","maintainers":[{"name":"gabeosx","email":"gabeosx@yahoo.com"}],"readme":"# Freedcamp MCP Server\n\n[![npm version](https://img.shields.io/npm/v/freedcamp-mcp)](https://www.npmjs.com/package/freedcamp-mcp)\n[![license](https://img.shields.io/npm/l/freedcamp-mcp)](./LICENSE)\n[![build](https://github.com/gabeosx/freedcamp-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/gabeosx/freedcamp-mcp/actions/workflows/ci.yml)\n[![downloads](https://img.shields.io/npm/dm/freedcamp-mcp)](https://www.npmjs.com/package/freedcamp-mcp)\n[![node](https://img.shields.io/node/v/freedcamp-mcp)](https://nodejs.org/)\n[![GitHub All Releases](https://img.shields.io/github/downloads/gabeosx/freedcamp-mcp/total.svg)](https://github.com/gabeosx/freedcamp-mcp/releases)\n\nThis is a Model Context Protocol (MCP) server implementation for Freedcamp task management. It provides tools for creating, updating, listing, and deleting tasks in Freedcamp projects with support for bulk operations.\n\n**Available Transport Methods:**\n- **STDIO Transport** - Traditional MCP transport for IDE integrations (Claude Desktop, Cursor, etc.)\n- **HTTP Transport** - Modern REST API with Server-Sent Events for web applications and cloud deployments\n\n## Features\n\n- Create multiple tasks in a single operation with title, description, priority, due date, and assignee\n- Update existing tasks including status changes\n- List all tasks in a project\n- Delete tasks permanently\n- Bulk operations support for all task management operations\n- Environment variable support for credentials\n- Comprehensive error handling and validation\n\n## Prerequisites\n\n- Node.js 17 or higher\n- TypeScript\n- Freedcamp account with API access\n- API Key and Secret from Freedcamp\n- Project ID from Freedcamp\n\n## Installation (for manual invocation only, not necessary for usage with an IDE or other MCP desktop client)\n\n1. Clone the repository:\n```bash\ngit clone <repository-url>\ncd freedcamp-mcp\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Create a `.env` file in the root directory with your Freedcamp credentials:\n```bash\nFREEDCAMP_API_KEY=your_api_key\nFREEDCAMP_API_SECRET=your_api_secret\nFREEDCAMP_PROJECT_ID=your_project_id\n```\n\n## Usage\n\n### Running the Server\n\nFirst build the TypeScript code:\n```bash\nnpm run build\n```\n\n#### STDIO Transport (Default)\nThis is the traditional transport method used by IDEs and MCP clients:\n```bash\nnpm start\n```\n\n#### HTTP Transport\nFor containerized deployments and HTTP-based integrations:\n\n**Development (with .env file):**\n```bash\nnpm run start:http:test\n```\n\n**Production (with environment variables):**\n```bash\nnpm run start:http\n```\n\n**Direct execution:**\n```bash\n# With environment variables\nFREEDCAMP_API_KEY=your_key FREEDCAMP_API_SECRET=your_secret FREEDCAMP_PROJECT_ID=your_project npm run start:http\n\n# Or using npx\nnpx freedcamp-mcp --http\n```\n\nThe HTTP server will start on port 3000 (or the port specified by the `PORT` environment variable) and provide:\n- **MCP endpoint**: `http://localhost:3000/mcp`\n- **Health check**: `http://localhost:3000/health`\n\n**HTTP Transport Features:**\n- Stateless operation - each request is independent\n- JSON responses with proper error handling\n- CORS support for web applications\n- Built-in health monitoring\n- Suitable for load balancing and clustering\n\n### Docker Deployment\n\nFor production deployments, you can use Docker to run the HTTP transport:\n\n#### Using Docker Compose (Recommended)\n\n1. Create a `.env` file with your Freedcamp credentials:\n```bash\nFREEDCAMP_API_KEY=your_api_key\nFREEDCAMP_API_SECRET=your_api_secret\nFREEDCAMP_PROJECT_ID=your_project_id\n```\n\n2. Start the service:\n```bash\ndocker-compose up -d\n```\n\n#### Using Docker directly\n\n```bash\n# Build the image\ndocker build -t freedcamp-mcp .\n\n# Run the container\ndocker run -d \\\n  --name freedcamp-mcp \\\n  -p 3000:3000 \\\n  -e FREEDCAMP_API_KEY=your_api_key \\\n  -e FREEDCAMP_API_SECRET=your_api_secret \\\n  -e FREEDCAMP_PROJECT_ID=your_project_id \\\n  freedcamp-mcp\n```\n\nThe containerized server provides the same MCP functionality via HTTP transport, making it suitable for:\n- Cloud deployments\n- Kubernetes environments\n- Load-balanced setups\n- Integration with HTTP-based MCP clients\n\n### Running the Test Harness\n\nThe project includes comprehensive test harnesses that verify all MCP functionality for both transport methods:\n\n**STDIO Transport Test:**\n```bash\nnpm test\n```\n\n**HTTP Transport Test:**\n```bash\nnpm run test:http\n```\n\nBoth test harnesses perform the following checks:\n1. Server initialization with proper protocol version\n2. Tool listing and capability verification\n3. Single task creation, update, and deletion\n4. Bulk task operations (create, update, delete)\n5. Task listing and verification\n6. Error handling and edge cases\n\n**Note:** The HTTP test harness requires the HTTP server to be running. Use `npm run start:http:test` to start the server with test environment variables loaded.\n\n### Available Tools\n\n1. **`freedcamp_add_task`**\n   - Creates one or more new tasks in Freedcamp\n   - Input: Object with `tasks` array containing task details\n   - Task Parameters:\n     - `title` (required): Task title - should be clear and descriptive\n     - `description` (optional): Detailed description of what the task involves\n     - `priority` (optional): Task priority level (0=Low, 1=Normal, 2=High, 3=Urgent)\n     - `due_date` (optional): Due date as Unix timestamp string (e.g., '1735689600' for 2025-01-01)\n     - `assigned_to_id` (optional): User ID to assign the task to (must be valid Freedcamp user ID)\n\n2. **`freedcamp_update_task`**\n   - Updates one or more existing tasks in Freedcamp\n   - Input: Object with `tasks` array containing task updates\n   - Task Parameters:\n     - `task_id` (required): ID of the task to update (must be valid existing Freedcamp task ID)\n     - `title` (optional): New task title\n     - `description` (optional): New task description\n     - `priority` (optional): New task priority (0=Low, 1=Normal, 2=High, 3=Urgent)\n     - `due_date` (optional): New due date as Unix timestamp string\n     - `assigned_to_id` (optional): User ID to reassign the task to\n     - `status` (optional): New task status (0=Open, 1=Completed, 2=Closed)\n\n3. **`freedcamp_list_tasks`**\n   - Retrieves all tasks in the configured Freedcamp project\n   - No parameters required (uses project ID from environment variables)\n   - Returns task details including ID, title, status, and other metadata\n\n4. **`freedcamp_delete_task`**\n   - Permanently deletes one or more tasks from Freedcamp\n   - Input: Object with `tasks` array containing task IDs to delete\n   - Task Parameters:\n     - `task_id` (required): ID of the task to delete (WARNING: This action cannot be undone)\n\n### Example Usage\n\n**Creating multiple tasks:**\n```json\n{\n  \"tasks\": [\n    {\n      \"title\": \"Setup project structure\",\n      \"description\": \"Initialize the basic project folder structure\",\n      \"priority\": 2,\n      \"due_date\": \"1735689600\"\n    },\n    {\n      \"title\": \"Implement authentication\",\n      \"description\": \"Add user login and registration functionality\",\n      \"priority\": 3,\n      \"assigned_to_id\": \"12345\"\n    }\n  ]\n}\n```\n\n**Updating multiple tasks:**\n```json\n{\n  \"tasks\": [\n    {\n      \"task_id\": \"67890\",\n      \"status\": 1,\n      \"description\": \"Updated: Added OAuth integration\"\n    },\n    {\n      \"task_id\": \"67891\",\n      \"priority\": 3,\n      \"due_date\": \"1735776000\"\n    }\n  ]\n}\n```\n\n**Deleting multiple tasks:**\n```json\n{\n  \"tasks\": [\n    {\n      \"task_id\": \"67892\"\n    },\n    {\n      \"task_id\": \"67893\"\n    }\n  ]\n}\n```\n\n### IDE Integration\n\nThe server can be run directly using `npx` without cloning the repository. Choose between STDIO transport (traditional) or HTTP transport (modern) based on your needs.\n\n#### Cursor\n\n**Option 1: STDIO Transport (Default)**\n1. Open (or create) `.cursor/mcp.json` in your project root.\n2. Add your Freedcamp MCP server configuration:\n   ```json\n   {\n     \"mcpServers\": {\n       \"freedcamp\": {\n         \"command\": \"npx\",\n         \"args\": [\"freedcamp-mcp\"],\n         \"env\": {\n           \"FREEDCAMP_API_KEY\": \"your_api_key\",\n           \"FREEDCAMP_API_SECRET\": \"your_api_secret\",\n           \"FREEDCAMP_PROJECT_ID\": \"your_project_id\"\n         }\n       }\n     }\n   }\n   ```\n3. Restart Cursor or reload MCP servers.\n\n**Option 2: HTTP Transport**\n1. First, start the HTTP server (in a separate terminal):\n   ```bash\n   npx freedcamp-mcp --http\n   # Or with environment variables:\n   FREEDCAMP_API_KEY=your_key FREEDCAMP_API_SECRET=your_secret FREEDCAMP_PROJECT_ID=your_project npx freedcamp-mcp --http\n   ```\n2. Configure Cursor to use HTTP transport:\n   ```json\n   {\n     \"mcpServers\": {\n       \"freedcamp\": {\n         \"transport\": \"http\",\n         \"url\": \"http://localhost:3000/mcp\"\n       }\n     }\n   }\n   ```\n3. Restart Cursor or reload MCP servers.\n\n#### Claude Desktop\n\n**Option 1: STDIO Transport (Default)**\n1. Open (or create) `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%/Claude/claude_desktop_config.json` on Windows.\n2. Add your Freedcamp MCP server configuration:\n   ```json\n   {\n     \"mcpServers\": {\n       \"freedcamp\": {\n         \"command\": \"npx\",\n         \"args\": [\"freedcamp-mcp\"],\n         \"env\": {\n           \"FREEDCAMP_API_KEY\": \"your_api_key\",\n           \"FREEDCAMP_API_SECRET\": \"your_api_secret\",\n           \"FREEDCAMP_PROJECT_ID\": \"your_project_id\"\n         }\n       }\n     }\n   }\n   ```\n3. Restart Claude Desktop.\n\n**Option 2: HTTP Transport**\n1. Start the HTTP server:\n   ```bash\n   npx freedcamp-mcp --http\n   ```\n2. Configure Claude Desktop to use HTTP transport:\n   ```json\n   {\n     \"mcpServers\": {\n       \"freedcamp\": {\n         \"transport\": \"http\",\n         \"url\": \"http://localhost:3000/mcp\"\n       }\n     }\n   }\n   ```\n3. Restart Claude Desktop.\n\n#### Roo\n\n**Option 1: STDIO Transport (Default)**\n1. Open (or create) your Roo MCP config file (commonly `roo.mcp.json` or similar).\n2. Add your Freedcamp MCP server configuration:\n   ```json\n   {\n     \"mcpServers\": {\n       \"Freedcamp\": {\n         \"transport\": \"stdio\",\n         \"command\": \"npx\",\n         \"args\": [\"freedcamp-mcp\"],\n         \"env\": {\n           \"FREEDCAMP_API_KEY\": \"your_api_key\",\n           \"FREEDCAMP_API_SECRET\": \"your_api_secret\",\n           \"FREEDCAMP_PROJECT_ID\": \"your_project_id\"\n         }\n       }\n     }\n   }\n   ```\n\n**Option 2: HTTP Transport**\n1. Start the HTTP server:\n   ```bash\n   npx freedcamp-mcp --http\n   ```\n2. Configure Roo to use HTTP transport:\n   ```json\n   {\n     \"mcpServers\": {\n       \"Freedcamp\": {\n         \"transport\": \"http\",\n         \"url\": \"http://localhost:3000/mcp\"\n       }\n     }\n   }\n   ```\n\n## API Reference\n\nFor detailed information about Freedcamp's API, visit: https://freedcamp.com/api-docs\n\n## License\n\nMIT License - see the [LICENSE](./LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.","readmeFilename":"README.md"}