{"_id":"@astrotask/mcp","_rev":"9-4add325052fe35ea3b397fb997f0597c","name":"@astrotask/mcp","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@astrotask/mcp","version":"1.0.0","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.0","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"astrotask-mcp":"dist/index.js"},"dist":{"shasum":"5ad53f3a3d692402142bff014595ec29d5a70d19","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.0.tgz","fileCount":31,"integrity":"sha512-IPSjCoYHF3nwrDOyHSs4S3iau++xuIqfs9K579uzcNxJYp1LnHvBcAhXPVpnHsIAc1HfrWtfffEWrpCRz+zP0g==","signatures":[{"sig":"MEQCICM2VvLSud1yR+D18cniNyeURVOpUuh6NlF9Rl+MRz/dAiA1RYZuqoGNfN+J0dObLace7KP7dYUVzORm7n69mu7H3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109156},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/9be7e0e1350d72e93926c1468cb0d747/astrotask-mcp-1.0.0.tgz","_integrity":"sha512-IPSjCoYHF3nwrDOyHSs4S3iau++xuIqfs9K579uzcNxJYp1LnHvBcAhXPVpnHsIAc1HfrWtfffEWrpCRz+zP0g==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","@astrotask/core":"0.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.0_1749064451501_0.8905326618580236","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@astrotask/mcp","version":"1.0.1","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.1","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"astrotask-mcp":"dist/index.js"},"dist":{"shasum":"337eccced34515e57ccbad9979e0849699737ac3","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.1.tgz","fileCount":31,"integrity":"sha512-KOVOdJlXSMNWRs81Rg1g4FdQV3C96fWD8w7HAo31OjEt+rE81trTkYcKhhWz5Hi3Y1kYOAgtst2t+bS8YYCkNQ==","signatures":[{"sig":"MEUCIH0Xk1arfB2Z4KcnWlKbsTwd6kGWwy1vxqH455Q8RfDHAiEAi6+KobAtnT1U2FaAGn0EUrZX6ExZheRRj3EqBF0OFEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109156},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/30bc006c888b56e4269bd113b8824b8d/astrotask-mcp-1.0.1.tgz","_integrity":"sha512-KOVOdJlXSMNWRs81Rg1g4FdQV3C96fWD8w7HAo31OjEt+rE81trTkYcKhhWz5Hi3Y1kYOAgtst2t+bS8YYCkNQ==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","@astrotask/core":"0.1.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.1_1749068922583_0.20702179142829236","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@astrotask/mcp","version":"1.0.2","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.2","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"astrotask-mcp":"dist/index.js"},"dist":{"shasum":"6a7f3495cd328e98b7772d1fc64a92ec39a18d16","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.2.tgz","fileCount":31,"integrity":"sha512-n0RqZ9FhBuEwkIMB31ECuOo9GTboL6cUKUF5BZHG5Fi/r0NY72WpAeAt3pNHw4QX52+eKkueRzFPsw7ONk0MkA==","signatures":[{"sig":"MEQCIDwOt1iNH7crLf40LinL8I39ITqmyQV2FB2cKbVmXYJuAiAGYfFUPkMPVC+mOy1hv9A8PrKNlObkLdLqHonzicG2Iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109156},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/c2daa6fdc5bd9d651d479b3089482f9a/astrotask-mcp-1.0.2.tgz","_integrity":"sha512-n0RqZ9FhBuEwkIMB31ECuOo9GTboL6cUKUF5BZHG5Fi/r0NY72WpAeAt3pNHw4QX52+eKkueRzFPsw7ONk0MkA==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","@astrotask/core":"0.1.2","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.2_1749071714557_0.3079084414646125","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@astrotask/mcp","version":"1.0.3","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.3","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"astrotask-mcp":"dist/index.js","astrotask-mcp-http":"dist/http.js","astrotask-mcp-stdio":"dist/stdio.js"},"dist":{"shasum":"99afe6a51749683049195f65886b10dd2cca8f57","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.3.tgz","fileCount":39,"integrity":"sha512-cgbpGsRUj9NrYAxVRbSeuHYnDRB4Z5zNaPPmj0qt3JUwGiXWQfCMbM/8QY3M0xwomps1JgGeG1XRcw6WQ77jlQ==","signatures":[{"sig":"MEUCIQCjjHOBm3WgXBcruN1ILQ/K9aWFDvjofK3vMEenAjlzhQIgWbOgze0Yh6xhEYsDwCxW6bWACSzjwur+lDfhb4dGUl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129455},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","start:http":"node dist/http.js","test:watch":"vitest","type-check":"tsc --noEmit","start:stdio":"node dist/stdio.js"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/edf7324dd3192b07aa59d8b8ffbead68/astrotask-mcp-1.0.3.tgz","_integrity":"sha512-cgbpGsRUj9NrYAxVRbSeuHYnDRB4Z5zNaPPmj0qt3JUwGiXWQfCMbM/8QY3M0xwomps1JgGeG1XRcw6WQ77jlQ==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","express":"^4.19.2","@astrotask/core":"0.1.3","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.3_1749418780671_0.09641244199964283","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@astrotask/mcp","version":"1.0.4","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.4","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"astrotask-mcp":"dist/index.js","astrotask-mcp-http":"dist/http.js","astrotask-mcp-stdio":"dist/stdio.js"},"dist":{"shasum":"b1b67f35048c05b27680f5e0611bd011a83b2d18","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.4.tgz","fileCount":39,"integrity":"sha512-kmmF0ONB3zt50102teq3olm+vRStb2nzq23JIAHSdOcmG7STKZ96tLvLutbgBdBTyOGje4CWu4oztrtNd8pcVg==","signatures":[{"sig":"MEUCIBKYPsO0ZREB7ba1EGeOCa0azJmO5lOjyaTrlVSLPlYLAiEAvwqONjmG64LvsSJ+fS5Ps28JLHXhcLG6fdm53sgi6Qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129455},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","start:http":"node dist/http.js","test:watch":"vitest","type-check":"tsc --noEmit","start:stdio":"node dist/stdio.js"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/884beb12fa075d9670252fdb79ffcab8/astrotask-mcp-1.0.4.tgz","_integrity":"sha512-kmmF0ONB3zt50102teq3olm+vRStb2nzq23JIAHSdOcmG7STKZ96tLvLutbgBdBTyOGje4CWu4oztrtNd8pcVg==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","express":"^4.19.2","@astrotask/core":"0.1.4","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.4_1749420160742_0.10076915848665324","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@astrotask/mcp","version":"1.0.5","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.0.5","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"mcp":"dist/index.js","astrotask-mcp":"dist/index.js","astrotask-mcp-http":"dist/http.js","astrotask-mcp-stdio":"dist/stdio.js"},"dist":{"shasum":"b907498a69bc428c2b3d95bc564dc96a3e371dc7","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.0.5.tgz","fileCount":39,"integrity":"sha512-G0brdnT7dht8vumK8Mt3/g39eFzT1YVUZUv2bmqOOr7iUfCSiVjpfwQtsG9RseR8da4ECROMj5Mq8/QfcWFCig==","signatures":[{"sig":"MEUCIDJ9kYK9IztudlBqsiUkI/bmr2aOYx3N3G2mb/yFh2bkAiEAsYEbl0/gZyOerZv+/07zoKLPwQIKknNGcAIOy4/Uzn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129494},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.0.5.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","start:http":"node dist/http.js","test:watch":"vitest","type-check":"tsc --noEmit","start:stdio":"node dist/stdio.js"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/24bae07d4050e33ff5c77fa4eeca814a/astrotask-mcp-1.0.5.tgz","_integrity":"sha512-G0brdnT7dht8vumK8Mt3/g39eFzT1YVUZUv2bmqOOr7iUfCSiVjpfwQtsG9RseR8da4ECROMj5Mq8/QfcWFCig==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","express":"^4.19.2","@astrotask/core":"0.1.5","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.5_1749422086341_0.16765041744990739","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@astrotask/mcp","version":"1.1.0","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.1.0","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"mcp":"dist/index.js","astrotask-mcp":"dist/index.js","astrotask-mcp-http":"dist/http.js","astrotask-mcp-stdio":"dist/stdio.js"},"dist":{"shasum":"330230f5f71e7ec6ec9b580105eaf1ad9a5c10cf","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.1.0.tgz","fileCount":39,"integrity":"sha512-lFMhaZ2pYe32mSepwgBDWf0cB/rpazsnEpMEtayMf7A7pTusaDJ8EvqRp1x3b5jr7O4+NGI5d3w9VgiDVRVwiw==","signatures":[{"sig":"MEQCIBWZFtmJ3b5MxR/0wp8Yp+xPcMFIowv99zej0jZHmZ7oAiAyP2BuvWCYMy3aTMq3NvCD47aYyBj63QM1qDxPz5RBGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142636},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.1.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","start:http":"node dist/http.js","test:watch":"vitest","type-check":"tsc --noEmit","start:stdio":"node dist/stdio.js"},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"_resolved":"/tmp/ad85da69ebbb0b73b11c60a6d2d39c82/astrotask-mcp-1.1.0.tgz","_integrity":"sha512-lFMhaZ2pYe32mSepwgBDWf0cB/rpazsnEpMEtayMf7A7pTusaDJ8EvqRp1x3b5jr7O4+NGI5d3w9VgiDVRVwiw==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","express":"^4.19.2","@astrotask/core":"0.2.0","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.1.0_1749588838014_0.13470472548139467","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@astrotask/mcp","version":"1.2.0","keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","_id":"@astrotask/mcp@1.2.0","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"bin":{"mcp":"dist/index.js","astrotask-mcp":"dist/index.js","astrotask-mcp-http":"dist/http.js","astrotask-mcp-stdio":"dist/stdio.js"},"dist":{"shasum":"358d796cc7d6361733d331e1b0463c2a8f512182","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.2.0.tgz","fileCount":43,"integrity":"sha512-zLXPreMNQBVP5JDPDOx5A/T4J7AOZ5kAwov/XRz9mwwFtXMLq4hC9+dMxjWXBRA6kWhB6tDQTTvCy/HfUpt6Ig==","signatures":[{"sig":"MEUCIB+uz2N29nCu+iivjEKfuBrYAW6tEo6bFZLAw6SoNPhnAiEAvz8JhTQZnQLurmujdxpckbowDVsHE6ZrOxxs1wSNFPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185202},"main":"dist/index.js","type":"module","_from":"file:astrotask-mcp-1.2.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint src/","test":"vitest run","build":"rimraf dist && tsc","start":"node dist/index.js","format":"biome format src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","lint:fix":"biome lint --write src/","format:fix":"biome format --write src/","start:http":"node dist/http.js","test:watch":"vitest","type-check":"tsc --noEmit","start:stdio":"node dist/stdio.js"},"_npmUser":{"name":"mtoda","actor":{"name":"mtoda","type":"user","email":"toda.mark@gmail.com"},"email":"toda.mark@gmail.com"},"_resolved":"/tmp/4fc6be5c918bb46d670c89b3c0bab315/astrotask-mcp-1.2.0.tgz","_integrity":"sha512-zLXPreMNQBVP5JDPDOx5A/T4J7AOZ5kAwov/XRz9mwwFtXMLq4hC9+dMxjWXBRA6kWhB6tDQTTvCy/HfUpt6Ig==","_npmVersion":"10.9.2","description":"MCP Server for Taskmaster AI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.1","express":"^4.19.2","@astrotask/core":"0.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","biome":"^0.3.3","rimraf":"^5.0.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.2.0_1751046607771_0.6727704590017693","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@astrotask/mcp","version":"1.3.0","type":"module","description":"MCP Server for Taskmaster AI","main":"dist/index.js","types":"dist/index.d.ts","bin":{"astrotask-mcp":"dist/index.js","astrotask-mcp-stdio":"dist/stdio.js","astrotask-mcp-http":"dist/http.js","mcp":"dist/index.js"},"keywords":["mcp","taskmaster","ai","astrotask"],"author":{"name":"Astrolabe Team"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","express":"^4.19.2","zod":"^3.24.1","@astrotask/core":"0.4.0"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^22.10.2","tsup":"^8.3.5","typescript":"^5.7.2","vitest":"^2.1.8","rimraf":"^5.0.5","biome":"^0.3.3"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"scripts":{"build":"rimraf dist && tsc","start":"node dist/index.js","start:stdio":"node dist/stdio.js","start:http":"node dist/http.js","type-check":"tsc --noEmit","lint":"biome lint src/","lint:fix":"biome lint --write src/","format":"biome format src/","format:fix":"biome format --write src/","verify":"npm run type-check && npm run lint && npm run format && npm run build && npm run test","test":"vitest run","test:watch":"vitest"},"_id":"@astrotask/mcp@1.3.0","_integrity":"sha512-UhnkSAM2rE1Wz/e/gHvbUGsh3wchInxOmk490iHQVzzEE/vcG+JKAjdXWu8qJq0NAuWp9YPGHYQmE4VYXf8Y/w==","_resolved":"/tmp/3a556ef0440ba7a71f1adfc6c2f43e4d/astrotask-mcp-1.3.0.tgz","_from":"file:astrotask-mcp-1.3.0.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-UhnkSAM2rE1Wz/e/gHvbUGsh3wchInxOmk490iHQVzzEE/vcG+JKAjdXWu8qJq0NAuWp9YPGHYQmE4VYXf8Y/w==","shasum":"6b47fe01419ab4f4dcdac1d50b91f424adbc2ab8","tarball":"https://registry.npmjs.org/@astrotask/mcp/-/mcp-1.3.0.tgz","fileCount":43,"unpackedSize":185202,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEajXCQp/p4shy6ClmSgQ6ZPPKZ2XP6jngHgsENMoPoJAiBNLUekkQEiqqSbaJaVHrzVidg1KpLSO2t13zAtSAw6lw=="}]},"_npmUser":{"name":"mtoda","email":"toda.mark@gmail.com"},"directories":{},"maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_1.3.0_1752949402136_0.7158864819812429"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-04T19:14:11.429Z","modified":"2025-07-19T18:23:22.591Z","1.0.0":"2025-06-04T19:14:11.728Z","1.0.1":"2025-06-04T20:28:42.791Z","1.0.2":"2025-06-04T21:15:14.798Z","1.0.3":"2025-06-08T21:39:40.841Z","1.0.4":"2025-06-08T22:02:40.994Z","1.0.5":"2025-06-08T22:34:46.553Z","1.1.0":"2025-06-10T20:53:58.187Z","1.2.0":"2025-06-27T17:50:07.955Z","1.3.0":"2025-07-19T18:23:22.352Z"},"author":{"name":"Astrolabe Team"},"license":"MIT","keywords":["mcp","taskmaster","ai","astrotask"],"description":"MCP Server for Taskmaster AI","maintainers":[{"name":"mtoda","email":"toda.mark@gmail.com"}],"readme":"# @astrotask/mcp\n\nMCP (Model Context Protocol) server for Astrotask task management.\n\n## Overview\n\nThe `@astrotask/mcp` package implements a Model Context Protocol server that exposes Astrotask's task management capabilities to AI agents. It provides a set of well-defined tools that agents can use to create, update, query, and manage tasks in a structured and type-safe manner.\n\n## Features\n\n- **🤖 AI Agent Integration**: Full MCP compatibility for seamless AI agent interaction\n- **🛠️ Rich Tool Set**: Comprehensive tools for task lifecycle management\n- **🔒 Type Safety**: Input validation and type checking for all operations\n- **📊 Context-Aware**: Intelligent task context bundling for agents\n- **🔄 Real-time Operations**: Live task management with immediate feedback\n- **📋 Hierarchical Support**: Full support for nested tasks and complex relationships\n\n## Installation & Usage\n\n### Using npx (Recommended)\n\nRun the MCP server directly without installation:\n\n```bash\nnpx @astrotask/mcp\n```\n\n### Global Installation\n\n```bash\nnpm install -g @astrotask/mcp\nastrotask-mcp\n```\n\n## Configuration\n\nThe MCP server uses environment variables for configuration:\n\n```bash\n# Database configuration\nDATABASE_URI=sqlite://./data/astrotask.db\n\n# Optional: Enable verbose database logging\nDB_VERBOSE=true\n\n# Run the server\nnpx @astrotask/mcp\n```\n\n## MCP Tools\n\nThe server provides 6 essential tools for AI agent task management:\n\n- `getNextTask` - Get the next available task to work on\n- `addTasks` - Create multiple tasks with hierarchies and dependencies\n- `listTasks` - List tasks with optional filtering\n- `addTaskContext` - Add context information to tasks\n- `addDependency` - Create dependency relationships between tasks\n- `updateStatus` - Update task status (pending, in-progress, done, etc.)\n\n## Integration with AI Agents\n\nConfigure your AI agent (Cursor, ChatGPT, etc.) to use this MCP server:\n\n```json\n{\n  \"name\": \"getNextTask\",\n  \"arguments\": { \"priority\": \"high\" }\n}\n```\n\n## Available Tools\n\nThe MCP server exposes the following tools for AI agents:\n\n### Task Management\n\n#### `listTasks`\n\nList tasks with optional filtering.\n\n**Parameters:**\n- `status` (optional): Filter by task status (`pending`, `in-progress`, `done`, `cancelled`)\n- `parentId` (optional): Filter by parent task ID\n- `includeSubtasks` (optional): Include nested subtasks in results\n\n**Example:**\n```json\n{\n  \"name\": \"listTasks\",\n  \"arguments\": {\n    \"status\": \"pending\",\n    \"includeSubtasks\": true\n  }\n}\n```\n\n#### `createTask`\n\nCreate a new task.\n\n**Parameters:**\n- `title` (required): Task title\n- `description` (optional): Detailed task description\n- `status` (optional): Initial status (default: `pending`)\n- `parentId` (optional): Parent task for subtasks\n- `prd` (optional): Product Requirements Document content\n- `contextDigest` (optional): Context digest for AI agents\n\n**Example:**\n```json\n{\n  \"name\": \"createTask\",\n  \"arguments\": {\n    \"title\": \"Implement user authentication\",\n    \"description\": \"Add JWT-based authentication with refresh token support\",\n    \"status\": \"pending\"\n  }\n}\n```\n\n#### `updateTask`\n\nUpdate an existing task.\n\n**Parameters:**\n- `id` (required): Task ID to update\n- `title` (optional): New task title\n- `description` (optional): New task description\n- `status` (optional): New task status\n- `parentId` (optional): New parent task ID\n- `prd` (optional): New PRD content\n- `contextDigest` (optional): New context digest\n\n**Example:**\n```json\n{\n  \"name\": \"updateTask\",\n  \"arguments\": {\n    \"id\": \"A\",\n    \"status\": \"done\",\n    \"description\": \"Completed: Added JWT auth with bcrypt password hashing\"\n  }\n}\n```\n\n#### `deleteTask`\n\nDelete a task.\n\n**Parameters:**\n- `id` (required): Task ID to delete\n- `cascade` (optional): Whether to delete all subtasks (default: `false`)\n\n**Example:**\n```json\n{\n  \"name\": \"deleteTask\",\n  \"arguments\": {\n    \"id\": \"A\",\n    \"cascade\": true\n  }\n}\n```\n\n#### `completeTask`\n\nMark a task as complete. This is a convenience tool that sets status to `done`.\n\n**Parameters:**\n- `id` (required): Task ID to complete\n\n**Example:**\n```json\n{\n  \"name\": \"completeTask\",\n  \"arguments\": {\n    \"id\": \"A\"\n  }\n}\n```\n\n#### `getTaskContext`\n\nRetrieve a task with its full context including related tasks.\n\n**Parameters:**\n- `id` (required): Task ID to get context for\n- `includeAncestors` (optional): Include parent tasks (default: `false`)\n- `includeDescendants` (optional): Include child tasks (default: `false`)\n- `maxDepth` (optional): Maximum depth for hierarchical inclusion (default: `3`)\n\n**Example:**\n```json\n{\n  \"name\": \"getTaskContext\",\n  \"arguments\": {\n    \"id\": \"A\",\n    \"includeAncestors\": true,\n    \"includeDescendants\": true,\n    \"maxDepth\": 5\n  }\n}\n```\n\n## Configuration\n\n### Environment Variables\n\nConfigure the MCP server through environment variables:\n\n```bash\n# Database configuration\nDATABASE_URI=./tasks.db\nDATABASE_ENCRYPTED=true\nDATABASE_KEY=your-encryption-key\n\n# Logging configuration\nLOG_LEVEL=info\nNODE_ENV=production\n\n# Server configuration\nMCP_SERVER_NAME=astrotask\nMCP_SERVER_VERSION=1.0.0\n```\n\n### Command Line Options\n\n```bash\nnpx @astrotask/mcp --help\n\nOptions:\n  --database-path <path>    Database file path (default: ./tasks.db)\n  --encrypted              Enable database encryption\n  --log-level <level>      Log level (debug|info|warn|error)\n  --help                   Show help information\n  --version                Show version information\n```\n\n## Integration Examples\n\n### Cursor IDE Integration\n\nConfigure Cursor to use Astrotask MCP server:\n\n1. Create `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"astrotask\": {\n      \"command\": \"npx\",\n      \"args\": [\"@astrotask/mcp\"],\n      \"env\": {\n        \"DATABASE_URI\": \"./tasks.db\",\n        \"LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\n2. Restart Cursor and the MCP server will be available for AI interactions.\n\n### Claude Desktop Integration\n\nAdd to your Claude Desktop MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"astrotask\": {\n      \"command\": \"npx\",\n      \"args\": [\"@astrotask/mcp\"],\n      \"env\": {\n        \"DATABASE_URI\": \"/path/to/your/tasks.db\"\n      }\n    }\n  }\n}\n```\n\n### Custom AI Agent Integration\n\n```python\n# Python example using MCP client\nimport asyncio\nfrom mcp import Client\n\nasync def interact_with_astrotask():\n    client = Client(\"npx @astrotask/mcp\")\n    \n    # Create a new task\n    result = await client.call_tool(\"createTask\", {\n        \"title\": \"Review pull request #123\",\n        \"description\": \"Review the authentication changes\",\n        \"status\": \"pending\"\n    })\n    \n    task_id = result[\"id\"]\n    \n    # Mark task as complete\n    await client.call_tool(\"completeTask\", {\n        \"id\": task_id\n    })\n    \n    # List all completed tasks\n    completed = await client.call_tool(\"listTasks\", {\n        \"status\": \"done\"\n    })\n    \n    print(f\"Completed {len(completed)} tasks\")\n\nasyncio.run(interact_with_astrotask())\n```\n\n## Error Handling\n\nThe MCP server provides structured error responses:\n\n```json\n{\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Task title is required\",\n    \"data\": {\n      \"field\": \"title\",\n      \"receivedValue\": null\n    }\n  }\n}\n```\n\nCommon error codes:\n- `INVALID_PARAMS`: Invalid parameters provided\n- `NOT_FOUND`: Requested task/resource not found\n- `VALIDATION_ERROR`: Data validation failed\n- `DATABASE_ERROR`: Database operation failed\n- `INTERNAL_ERROR`: Unexpected server error\n\n## Performance Considerations\n\n- **Connection Pooling**: The server reuses database connections efficiently\n- **Query Optimization**: Database queries are optimized for common patterns\n- **Memory Management**: Context retrieval limits depth to prevent memory issues\n- **Concurrent Operations**: Multiple agents can safely operate simultaneously\n\n## Security\n\n- **Input Validation**: All inputs are validated using Zod schemas\n- **SQL Injection Protection**: All database queries use parameterized statements\n- **Encryption Support**: Optional database encryption for sensitive data\n- **Access Control**: Task access is scoped to the configured database\n\n## Development\n\n### Running in Development\n\n```bash\n# Clone the repository\ngit clone <repository-url>\ncd astrotask\n\n# Install dependencies\npnpm install\n\n# Start development server with hot reload\npnpm --filter @astrotask/mcp dev\n\n# Run tests\npnpm --filter @astrotask/mcp test\n```\n\n### Custom Tool Development\n\nExtend the MCP server with custom tools:\n\n```typescript\nimport { MCPHandler, HandlerContext } from '@astrotask/mcp';\n\nclass CustomTaskHandler implements MCPHandler {\n  constructor(public readonly context: HandlerContext) {}\n\n  async handleCustomOperation(params: CustomParams) {\n    // Your custom logic here\n    const result = await this.context.taskService.customOperation(params);\n    return result;\n  }\n}\n\n// Register the custom handler\nserver.addTool('customTask', CustomTaskHandler);\n```\n\n## Debugging\n\nEnable debug logging to troubleshoot issues:\n\n```bash\n# Enable debug logs\nDEBUG=astrotask:* npx @astrotask/mcp\n\n# Or set log level\nLOG_LEVEL=debug npx @astrotask/mcp\n```\n\nThe debug output includes:\n- Incoming MCP requests and responses\n- Database query execution\n- Task service operations\n- Error stack traces\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Implement your changes with tests\n4. Ensure all quality checks pass: `pnpm verify`\n5. Submit a pull request\n\n## License\n\nMIT License - see [LICENSE](../../LICENSE) for details.\n\n## Related Packages\n\n- [`@astrotask/core`](../core/README.md) - Core task management library\n- [`@astrotask/cli`](../cli/README.md) - Command-line interface\n\n## Support\n\n- [GitHub Issues](https://github.com/astrotask/astrotask/issues) - Bug reports and feature requests\n- [Documentation](../../docs/) - Comprehensive guides and API reference\n- [Examples](../../docs/examples/) - Usage examples and tutorials\n\n## Enhanced MCP Tool Documentation\n\nThis MCP server uses an enhanced documentation approach that provides both brief descriptions and comprehensive documentation for each tool. Instead of the simple one-liner schema registration, we use the object form that supports:\n\n### Documentation Structure\n\nEach MCP tool is registered with:\n- **description**: One-sentence summary that appears in tooltips and quick help\n- **docs**: Full Markdown documentation loaded from external files\n- **parameters**: Complete Zod schema for argument validation\n\n### Documentation Files\n\nThe `docs/` directory contains comprehensive Markdown documentation for each tool:\n\n- `docs/getNextTask.md` - Get next available task with filtering options\n- `docs/addTasks.md` - Batch task creation with hierarchies and dependencies  \n- `docs/listTasks.md` - Query tasks with various filters\n- `docs/addTaskContext.md` - Add context slices to existing tasks\n- `docs/addDependency.md` - Create task dependency relationships\n\n### Implementation Pattern\n\n```typescript\nserver.tool('toolName', {\n  description: 'Brief one-sentence description for tooltips',\n  docs: docsMarkdown,              // Full documentation from .md file\n  parameters: zodSchema            // Complete Zod schema for validation\n}, wrapMCPHandler(async (args) => {\n  const parsedArgs = zodSchema.parse(args);  // Parse and validate\n  return handlers.toolMethod(parsedArgs);\n}));\n```\n\n### Benefits\n\n- **Rich documentation**: LLMs and IDEs can access comprehensive usage examples\n- **Type safety**: Zod schemas provide runtime validation and TypeScript types\n- **Maintainable**: Documentation is separated into focused, version-controlled files\n- **Consistent**: All tools follow the same documentation pattern\n\nThis approach ensures that AI agents have access to both quick summaries and detailed usage information, improving their ability to effectively use the MCP tools.\n","readmeFilename":"README.md"}