{"_id":"@asthestarslept/iteration-mcp","_rev":"15-3bd68800734f1f161f56c01c91ce67a8","name":"@asthestarslept/iteration-mcp","dist-tags":{"latest":"1.1.8"},"versions":{"1.0.2":{"name":"@asthestarslept/iteration-mcp","version":"1.0.2","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.2","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"7fb55c371b5bc9da1ade7ab87456fc3e4ef4af52","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.2.tgz","fileCount":48,"integrity":"sha512-/vPCwTWmd6Ai9wCeqIUFiY9/OQwqFPTOOY1XCv+Cvvqk+hT4/wJgKu614YDuEtKYcC4QlJGNcywhMIrYh59HoA==","signatures":[{"sig":"MEUCIQDacgfVIkwCjaZIs2PHgDfRs6S1Xh+Hm+qYv9b5Gcr90AIgcv2A7+yqdvwhYirHfkTdKMbyXdCz59E0XA+/IyoqV+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61629097},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f7d7a9ed91ee8c5db677eea07b7b74d3a1716913","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.2_1750670421976_0.39233286723945127","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@asthestarslept/iteration-mcp","version":"1.0.3","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.3","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"1d71bbc1784d23c1fb9728420f4fba75d70dcaca","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.3.tgz","fileCount":48,"integrity":"sha512-hBh0iSD2ZPARnccxoVnEpIkyFQkH+nrNjWQPSj6YX+H4X/zOouelYuD134j+0l4rXQwTiHp4dvawb1UonKOnsg==","signatures":[{"sig":"MEUCIGG55XQtecIAz52yREiHgMNzogv5jDVPHpZFQKrpYPwqAiEAxBN5V2F9NNUqKlgTGU5YB/qByix0H61aGIDgKBEp7ZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61630840},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"bd2a9a2e43eaa3d034e6d42274a870f93d14a99c","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.3_1750671349383_0.4509723276471038","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@asthestarslept/iteration-mcp","version":"1.0.4","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.4","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"2d0dfcf0c2cd19c9ec94f9eed7aa1bbad1a83fee","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.4.tgz","fileCount":48,"integrity":"sha512-mguoLt0WzAwm5PB4BiQcs63tgH9sWO4RaLb8ZAZHjCeIhzJjZ2DYkQq7hEjVQDasOqyfNkOHs5IwWfyQEXP9EA==","signatures":[{"sig":"MEYCIQCBXgkRGdSMSNmCVLSjey7Y6K0/aXiFh8JryFg9Dqn1YwIhALYDbwSD1WkNk9fBfdAXu2T+pwx7bMPpXcQw5EirvHtV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61636704},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"1f7a32b9d0c9167f9c2084b0d641bf1d10dd9497","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.4_1750729675831_0.5436437197000703","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@asthestarslept/iteration-mcp","version":"1.0.5","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.5","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"344b81560bc54a61472eec876019aa925b59573b","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.5.tgz","fileCount":48,"integrity":"sha512-xncUPzisCOP9GtPzhFZll7lIscrd4RjZVPnE5IucwvCtcCICITa/sXr97evmiRQBz7W6Y8SmnQCwwkz9qUqqLw==","signatures":[{"sig":"MEQCIB8HavuZfdMHTrUYWzii0id8uVzsiNZz3SoPRuUj605iAiA7sXiY5An4nmOfE6xdeQC3VwcIKIKxIi+yh/MpSCuiOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61641115},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b4c68842711842eb5c0d86849177e981e570c780","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.5_1750730230239_0.5668524017252246","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@asthestarslept/iteration-mcp","version":"1.0.6","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.6","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"397e83df4afe703b5dedc355cd1bc15373b17e1a","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.6.tgz","fileCount":50,"integrity":"sha512-9gANO/IwTnh2J9m2lUnrVvgx0YzNXl2VLo2TSu2EjutR4d6WNZ34PtbLgy5RljSJHZNseA7fOv+9h5rsPqEFFw==","signatures":[{"sig":"MEYCIQCttz/MURQigD4FfqP0D98MHivZhUwSkkg1E/0wgitBiAIhAPjWZ4bkz4+74Eh7XYeIySiPG8ASU3ugD1ftMMKTaq6h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61664384},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8bfc92b5d5c1d1de24cd164643801ffa307856c5","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.6_1750733728721_0.15611685290062138","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@asthestarslept/iteration-mcp","version":"1.0.7","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.0.7","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"8b013f6096d716bae0e353dfa5d882189304397a","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.0.7.tgz","fileCount":50,"integrity":"sha512-qBVCzMLWPjTYcm4h8XAN0rB5E3b44TUVne2ZrTq7o/vLgoePP1xe76fsv8kqu2Fk3hBTNmmr8YXki4RrRdLdsQ==","signatures":[{"sig":"MEQCIHMnu1+vBRiBGANsIl0Nuv23Dwj79s2tHe1cp2PI8zfDAiBGoZjdJiFHq/CRf0BqPbLSXFoc/M35IN33vubayNhFhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61659955},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a408f38454eb10ec79c03a3e6dcef932fb948e7e","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.0.7_1750734201955_0.3441009272975899","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@asthestarslept/iteration-mcp","version":"1.1.0","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.0","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"11ad6c84cef82b1c88b60a817d477c79a46aa202","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.0.tgz","fileCount":45,"integrity":"sha512-37NLPpcVP8kFP8s9GiwWWT8+VLYnw0k7pv1QpScRnOB9r4qJWw1GiEWMceIkCrhMNXneP9oU9rI8eBtqCRPhAQ==","signatures":[{"sig":"MEUCIQCWZ7alfsAm+C4+LhpJbIkRT8EGFrGSbLZSh7ssmiIPTwIgUBGje8xuMylzZzKlVimGisl+3AZUcdAYGzPFBlZzds0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331847},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3a57d2677631dd2399437c2fd568987a4c8443cd","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.0_1750736311113_0.23273857057575964","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@asthestarslept/iteration-mcp","version":"1.1.1","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.1","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"7081aba09294cec515f63940e57acf5ac16ef704","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.1.tgz","fileCount":46,"integrity":"sha512-UMKcJTmjijys95F9I1g/yao1z+Np3yg/374gclv/FeWDsuQxqzI6hsXKF9QVJtmjCS2StoEN16IHWHXXSIGBIA==","signatures":[{"sig":"MEUCIQCutb9QvpwmeJeVa742Hc0PLDqQRoitviRk5zsR5Y9NHwIgFzfDTgl8jct136fjSz36lQKTXQRAkf7QaatY0WQk+Mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334685},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"654066e1c967a8f593c8dc200470867cdd7974f3","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.1_1750745819756_0.6152329143511943","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@asthestarslept/iteration-mcp","version":"1.1.2","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.2","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"8d39aa91c758607ef9389e51da3c223628f74a8c","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.2.tgz","fileCount":46,"integrity":"sha512-pOBMmq7Vl13LTjTgTL8I0r2RZsdTM5koyQ5IWOUe0ZiutkSjnN5nb0ZORhXvTJ96qDUbC+fCXV1CpVFZm5qDyw==","signatures":[{"sig":"MEYCIQCJJv660a6Lio/wvxc5qMEiW6VqClriEzlK7q7erCAj6QIhANjTxMYxFChIn4jLXMr6Lmz372jlTjsKff8YeX64oVhf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333024},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"23068dd76272e6cf8c0fafae9b711d95951af038","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.2_1750747108570_0.7747742148230818","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@asthestarslept/iteration-mcp","version":"1.1.3","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.3","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"ead787df55ee57531537a53f03cd2c01cdbcd619","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.3.tgz","fileCount":45,"integrity":"sha512-oBB13upjDi9dolANPZfNkllpi/UDhPZmRB6P4JQygPUXZ3fdEPah9mznjV7D4Z/QbhwQXSTD0YRtTiSLvJ8oJw==","signatures":[{"sig":"MEUCIH3gMnH0issEsXhS+jzFLmaGKhLpyEmPhJ7uWd6lz4lTAiEA2/lUbEqlDzS3TRbSe5jwoziUAw/ZdBxT9h0RdzABcRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332240},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"abaf4ffb0441f4ff601e61b67ebfa57aa336879a","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.3_1750748156442_0.05103929596091383","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@asthestarslept/iteration-mcp","version":"1.1.4","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.4","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"a84a8bb80eb176713e562b3ebda8ce83661c4736","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.4.tgz","fileCount":45,"integrity":"sha512-ta5dFHIfzQXPGwE2M8XcJnbcNqwXuzGp8K4IyAtBDm7cEeAzq+ZUVmIncUS+DGw8F9rkDf4FiqGE2j+Te3MNHg==","signatures":[{"sig":"MEUCIQCs6r86E0+X7MYI9mFkypiM432FuCV88bE4VI6pcIc5VwIgDKTqT4UzdbaOtCxpqij2kUlBzDWE9Wr1KRcDViP1IAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332241},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"38b308941ea5ed533ed2fb129eebca8900a7750e","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.4_1750753717696_0.9207858943326455","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@asthestarslept/iteration-mcp","version":"1.1.5","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.5","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"22bfc300afa782dc31f3ca489c0568aec642248d","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.5.tgz","fileCount":45,"integrity":"sha512-NI2qLhUasziLyBS9Ch9i58G6hgbJ1dMwT96mq4jSLsnz5Lu3KhJKQG+tDW7nHelboDSiQ7HltMzWJWyAJqD/xQ==","signatures":[{"sig":"MEUCICWqJ9dFwRTth1myZHMKIBuDKxz/aRg2j72NAHp0uYKlAiEAt8H2O2eRiB9Uuv4PtFMa4lNY9TnZZN9ywggsJiXZQWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332814},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"38b308941ea5ed533ed2fb129eebca8900a7750e","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.5_1750754891878_0.5406845898026535","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@asthestarslept/iteration-mcp","version":"1.1.6","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.6","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"20278a7548a3c05dd021f3a6f2c50ce9ea28cab4","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.6.tgz","fileCount":45,"integrity":"sha512-CpTrnYppgrN850j0ecsXV2fzl3bQA31u13DgOQ35f9QhlOi4Qllev+DZmQeyZGRgBkBNp1mRNWqnBjuHvXBPsA==","signatures":[{"sig":"MEQCICbe9WuMARj0gilxjh7gS1M3TTO/uqC4CY1IqlJ1KLV7AiAiRYAlnKgXNboIk0INBXdtweblmWF6MmIfTpxzL3xWGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336015},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"38b308941ea5ed533ed2fb129eebca8900a7750e","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.6_1750757129689_0.7312921894661635","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@asthestarslept/iteration-mcp","version":"1.1.7","keywords":["mcp","iteration","automation"],"author":"","license":"ISC","_id":"@asthestarslept/iteration-mcp@1.1.7","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"bin":{"iteration-mcp":"dist/index.js"},"pkg":{"assets":["git_info.config.json","test-token.config.json"],"scripts":"dist/**/*.js","targets":["node18-macos-arm64"],"outputPath":"dist"},"dist":{"shasum":"1a5488a4a0b9217e3ed657a17b524ff397adcc96","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.7.tgz","fileCount":45,"integrity":"sha512-Iv3hM5VutzSlyqcPDKYfZ85uJAxm6xMbVFgnjEm8BparHPbbEVpH5IF4XOkBNRWJpEjSiOxVgnSHQHBTWrgvsQ==","signatures":[{"sig":"MEYCIQCET0wZpDohF04BCCEkToBgeh6xbLsoqsx6eRKVWXsDAQIhAMKX8bDFpUHqai3Hx9rPWoUgaWQGQ67+ifNus6U7g/9F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336543},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7f5a8540813bbfcae7ddf589b246814be63bff7d","scripts":{"build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"asthestarslept","actor":{"name":"asthestarslept","type":"user","email":"seemoon3055@gmail.com"},"email":"seemoon3055@gmail.com"},"_npmVersion":"10.8.2","description":"MCP迭代管理工具","directories":{},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.6.0","qrcode-terminal":"^0.12.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/iteration-mcp_1.1.7_1750759441795_0.2981306468716598","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@asthestarslept/iteration-mcp","version":"1.1.8","description":"MCP迭代管理工具","type":"module","main":"dist/index.js","bin":{"iteration-mcp":"dist/index.js"},"scripts":{"start":"node dist/index.js","build":"tsc","prepublishOnly":"npm run build"},"pkg":{"scripts":"dist/**/*.js","assets":["git_info.config.json","test-token.config.json"],"targets":["node18-macos-arm64"],"outputPath":"dist"},"keywords":["mcp","iteration","automation"],"author":"","license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","axios":"^1.6.0","qrcode-terminal":"^0.12.0"},"devDependencies":{"@types/node":"^20.0.0","@types/qrcode-terminal":"^0.12.0","pkg":"^5.8.1","typescript":"^5.0.0"},"_id":"@asthestarslept/iteration-mcp@1.1.8","gitHead":"7f5a8540813bbfcae7ddf589b246814be63bff7d","types":"./dist/index.d.ts","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-DEu4Y6nNSgI2aYY3Xt5VPIbWPlj8QE8C7om0Z0ACE7B6lTRryhEonru8PUxgZi++fsnkyy9wULwBiELgeEJnkg==","shasum":"5c0f0de8c0eff2ca37ad16a2f93dc9f36f71ccd1","tarball":"https://registry.npmjs.org/@asthestarslept/iteration-mcp/-/iteration-mcp-1.1.8.tgz","fileCount":45,"unpackedSize":337389,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHIxoPYfrf11Tj0IslhoTbL5jNueBsnnSmLSaV+Y7oN3AiAgADjy6NMD9IjlvrdrPV/k/08iBy+NybSdVfLtp2VCww=="}]},"_npmUser":{"name":"asthestarslept","email":"seemoon3055@gmail.com","actor":{"name":"asthestarslept","email":"seemoon3055@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/iteration-mcp_1.1.8_1750760877844_0.30395527430836533"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-23T09:20:21.886Z","modified":"2025-06-24T10:27:58.205Z","1.0.2":"2025-06-23T09:20:22.417Z","1.0.3":"2025-06-23T09:35:49.815Z","1.0.4":"2025-06-24T01:47:56.249Z","1.0.5":"2025-06-24T01:57:10.663Z","1.0.6":"2025-06-24T02:55:29.162Z","1.0.7":"2025-06-24T03:03:22.387Z","1.1.0":"2025-06-24T03:38:31.284Z","1.1.1":"2025-06-24T06:16:59.941Z","1.1.2":"2025-06-24T06:38:28.770Z","1.1.3":"2025-06-24T06:55:56.634Z","1.1.4":"2025-06-24T08:28:38.086Z","1.1.5":"2025-06-24T08:48:12.036Z","1.1.6":"2025-06-24T09:25:29.859Z","1.1.7":"2025-06-24T10:04:02.012Z","1.1.8":"2025-06-24T10:27:58.044Z"},"license":"ISC","keywords":["mcp","iteration","automation"],"description":"MCP迭代管理工具","maintainers":[{"name":"asthestarslept","email":"seemoon3055@gmail.com"}],"readme":"# MCP迭代管理工具\n\n一个基于Model Context Protocol (MCP)的迭代管理工具，主要用于自动化收集和提交迭代信息到公司的CodeReview系统。支持钉钉扫码登录和交互式迭代创建流程。\n\n## 🚀 快速开始\n\n### 安装配置\n\n1. **编译项目**\n\n   ```bash\n   npm install\n   npm run build\n   ```\n\n2. **配置钉钉应用信息**\n   在 `src/config.ts` 文件中修改钉钉配置：\n\n   ```typescript\n   // 在 MCP_CONFIG 中更新以下信息\n   dingtalk: {\n     appId: \"your_actual_dingtalk_app_id\",      // 替换为实际的钉钉应用ID\n     appSecret: \"your_actual_dingtalk_app_secret\" // 替换为实际的钉钉应用密钥\n   }\n   ```\n\n   配置修改后重新编译：\n\n   ```bash\n   npm run build\n   ```\n\n3. **在 Cursor 中配置 MCP**\n   编辑 Cursor 的 MCP 配置文件，添加：\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"iteration\": {\n         \"command\": \"/path/to/your/project/dist/index.js\"\n       }\n     }\n   }\n   ```\n\n### 基本使用流程\n\n1. 在 Cursor 中调用 `check_login_status` 检查登录状态\n2. 如未登录，调用 `login_dingtalk` 进行扫码登录\n3. 登录成功后，使用 `create_iteration` 开始5步交互式流程\n4. 使用 `submit_complete_iteration` 提交完整的迭代和CR申请单\n\n## 👥 使用者指南（同事配置）\n\n为了在你的本地环境中使用此MCP工具，请按照以下步骤进行一次性配置。\n\n### 1. 环境准备\n\n- **安装 Node.js**: 请确保你的电脑上已安装 Node.js (推荐LTS版本)。`npx`是Node.js自带的工具，我们需要它来运行此MCP工具。\n  - 你可以通过在终端运行 `node -v` 来检查是否已安装。\n\n### 2. 创建全局配置文件\n\n这是最重要的一步，你需要创建一个全局配置文件来存放你的个人认证Token和API地址。\n\n- **创建文件**:\n  - 在你的**用户主目录**下，创建一个名为 `mcp-config.json` 的文件。\n    - **macOS/Linux**: 文件路径应为 `~/.mcp-config.json`\n    - **Windows**: 文件路径应为 `C:\\\\Users\\\\YourUsername\\\\.mcp-config.json`\n\n- **配置文件内容**:\n  - 将以下内容**完整复制**到你创建的`mcp-config.json`文件中，并**将`Authorization`的值替换为你自己的有效Token**。\n\n  ```json\n  {\n    \"api\": {\n      \"baseUrl\": \"http://xx.xxxxx.com\"\n    },\n    \"auth\": {\n      \"Authorization\": \"Bearer your_personal_token_here\"\n    }\n  }\n  ```\n\n### 3. 在 Cursor 中配置\n\n最后，告诉Cursor如何找到并运行这个工具。\n\n- **添加工具配置**:\n  - 将下面的JSON代码块添加到`\"MCP\"`的配置中。\n\n  ```json\n  \"iteration-mcp-v2\": {\n      \"name\": \"iteration-mcp-v2\",\n      \"command\": \"npx\",\n      \"args\": [\n          \"-y\",\n          \"@asthestarslept/iteration-mcp\",\n          \"--workdir\",\n          \"/path/to/your/project\"\n      ],\n      \"description\": \"用于创建和管理迭代的MCP工具\"\n  }\n  ```\n  \n  > **重要提示**: 请将 `/path/to/your/project` 替换为您实际项目的绝对路径，例如：\n  > - macOS/Linux: `/Users/yourname/projects/your-project-name`\n  > - Windows: `C:\\\\Users\\\\yourname\\\\projects\\\\your-project-name`\n  \n- **保存并重启**: 保存文件，然后**重启Cursor**以加载新工具。\n\n**配置完成！** 现在你可以在Cursor中通过 `@iteration-mcp-v2` 来使用这个工具了。\n\n## 🔧 工具列表\n\n### 认证工具\n\n- `check_login_status`: 检查登录状态和系统信息\n- `login_dingtalk`: 钉钉扫码登录\n\n### 迭代管理工具  \n\n- `create_iteration`: 5步交互式迭代创建流程\n- `submit_complete_iteration`: 两阶段API提交\n\n### 数据查询工具\n\n- `get_user_list`: 获取用户列表（参与人员和审核人员）\n\n## 📊 数据流程\n\n### 5步迭代创建流程\n\n```md\nStep 1: start\n├── 获取项目组列表 (getProjectList API)\n├── 获取用户列表 (从缓存)\n└── 显示选项供用户选择\n\nStep 2: basic_info  \n├── 收集基础信息（项目线、迭代名称、上线时间）\n├── 自动检测工作目录 (MCP根目录机制)\n├── 自动获取Git信息（项目URL、分支、项目名）\n├── 智能计算预估工时（基于项目实际开发天数）\n└── 存储到 sessionData.basicInfo\n\nStep 3: project_info\n├── 收集项目信息（文档链接、人员配置）  \n├── 使用Git信息作为默认值\n└── 存储到 sessionData.projectInfo\n\nStep 4: modules\n├── 收集模块信息（组件模块、功能模块）\n├── 组装完整迭代数据\n└── 生成JSON数据预览供确认\n\nStep 5: submit (手动确认)\n├── 用户手动确认数据正确性\n├── 调用 submit_complete_iteration\n└── 两阶段API提交\n```\n\n### 两阶段提交流程\n\n```md\nStage 1: 创建迭代基础信息\n├── POST /api/codeReview/createSprint\n├── 获取迭代ID\n└── 验证创建结果\n\nStage 2: 创建CR申请单\n├── 数据格式转换（CRApplication → CRApplicationData）\n├── POST /api/codeReview/createCrRequest  \n├── 获取CR申请单ID\n└── 更新本地缓存\n```\n\n## 🏗️ 项目架构\n\n### 文件结构\n\n```md\nsrc/\n├── index.ts          # 主服务器入口，MCP工具定义和路由\n├── config.ts         # 配置管理，API端点定义\n├── api.ts           # API调用管理，HTTP请求封装\n├── cache.ts         # 本地缓存管理，用户数据存储\n├── dingtalk.ts      # 钉钉认证模块，扫码登录\n├── git-utils.ts     # Git信息工具，智能工时计算和项目信息获取\n└── types.ts         # TypeScript类型定义\n```\n\n### 主要组件\n\n#### IterationMCPServer (index.ts)\n\n- **职责**: MCP服务器主类，处理所有工具请求\n- **核心功能**: 工具注册和路由、多步骤迭代创建流程管理、会话状态管理、错误处理和响应格式化\n\n#### APIManager (api.ts)\n\n- **职责**: 封装所有API调用\n- **核心功能**: 统一的HTTP请求处理、认证token管理、两阶段提交流程、数据格式转换\n\n#### CacheManager (cache.ts)\n\n- **职责**: 本地数据缓存和管理\n- **核心功能**: 用户列表缓存（24小时有效期）、项目线历史记录、最近使用人员管理、OSS图片上传支持\n\n#### DingTalkAuth (dingtalk.ts)\n\n- **职责**: 钉钉扫码登录认证\n- **核心功能**: 扫码登录流程、Token获取和管理、用户信息解析\n\n## 🔑 关键技术点\n\n### API接口规范\n\n- **统一使用POST方法**\n- **Bearer Token认证**\n- **统一的`/api`前缀**\n- **标准响应格式**: `{success: boolean, data: any, errorMsg?: string}`\n\n### 数据格式转换\n\n工具内部使用人性化的数据收集格式，提交时转换为API要求的格式：\n\n- `componentModules` → `componentList`\n- `functionModules` → `functionList`  \n- 人员ID数组 → 逗号分隔字符串\n\n### 错误处理策略\n\n- **分层错误处理**: 工具级 → 方法级 → API级\n- **详细错误信息**: 包含HTTP状态码、响应数据、堆栈信息\n- **优雅降级**: 缓存更新失败不影响主流程\n\n### 会话管理\n\n使用`sessionData`对象维护多步骤流程的状态：\n\n- 每次`start`步骤清空会话\n- 各步骤数据独立存储\n- 最后一步组装完整数据\n\n## 📚 配置说明\n\n### 全局配置\n\n项目使用内置配置管理，所有配置都在 `src/config.ts` 中：\n\n- **钉钉配置**：需要在代码中配置实际的 appId 和 appSecret\n- **接口端点**：所有 API 端点都已预配置\n\n如需修改 API 地址或端点，直接编辑 `src/config.ts` 文件。\n\n### 项目级配置文件 (iteration-mcp.config)\n\n工具支持在项目根目录创建 `iteration-mcp.config` 文件来配置项目特定信息：\n\n```bash\n# iteration-mcp.config\ngit_project_url=https://github.com/username/project-name\ngit_project_name=project-name\nworkdir=/path/to/project\n```\n\n**配置优先级**：\n1. iteration-mcp.config 文件（推荐）\n2. git_info.config.json 文件（向后兼容）\n3. git remote 自动检测（fallback）\n\n### 工作目录检测机制\n\n工具使用MCP标准的roots机制自动检测工作目录：\n\n1. **MCP客户端提供的workspace roots**（最高优先级）\n2. 手动指定的workdir参数\n3. 环境变量 (PWD, INIT_CWD)\n4. process.cwd() (fallback)\n\n### 智能工时计算\n\n工具提供基于项目实际开发时间的智能工时计算：\n\n**主分支 (main/master)**：\n- 计算从第一次提交到当前时间的实际天数\n- 例如：项目从2025-06-22开始，到2025-06-24 = 2天\n\n**特性分支**：\n- 优先使用分支从主分支分离的时间点计算\n- 回退方案：使用分支第一次提交时间\n- 最终回退：基于最近提交活动估算\n\n**计算规则**：\n- 最小工时：1天（取消了原来不合理的3天限制）\n- 无上限限制（取消了原来的30天上限）\n- 基于实际时间跨度，而非提交数量\n\n## 🚀 二次开发指南\n\n### 添加新工具\n\n1. 在`setupHandlers()`的工具列表中添加定义\n2. 在路由switch中添加case分支  \n3. 实现对应的`handle*`方法\n4. 更新类型定义（如需要）\n\n### 添加新API接口\n\n1. 在`config.ts`的`endpoints`中添加路径\n2. 在`APIManager`中添加方法\n3. 处理认证和错误\n4. 更新类型定义\n\n### 修改流程步骤\n\n1. 更新`create_iteration`工具的`step`枚举\n2. 在`handleCreateIteration`中添加新case\n3. 实现对应的处理方法\n4. 更新会话数据结构\n\n## 🔍 调试技巧\n\n### 启用详细日志\n\n代码中已包含详细的console.log，可通过查看输出跟踪流程\n\n### 使用测试工具\n\n- `get_user_list`: 测试API连接和认证\n- `check_login_status`: 查看系统状态\n\n### 会话数据检查\n\n在各步骤中输出`sessionData`内容，确认数据收集正确\n\n## 📦 依赖说明\n\n- `@modelcontextprotocol/sdk`: MCP协议实现\n- `axios`: HTTP请求库\n- `child_process`: Git命令执行\n- `fs/path/os`: 文件系统和路径操作\n\n## 🎯 开发状态\n\n当前为生产版本，已实现：\n\n- ✅ 基础 MCP Server 框架\n- ✅ 钉钉登录流程（二维码生成）\n- ✅ Token 本地存储管理\n- ✅ 完整的5步迭代创建和提交流程\n- ✅ 项目内配置管理\n- ✅ 项目组选择功能\n- ✅ 用户列表管理\n- ✅ 两阶段API提交\n- ✅ MCP标准roots机制工作目录检测\n- ✅ iteration-mcp.config配置文件支持\n- ✅ 智能工时计算（基于实际开发时间）\n- ✅ 多格式配置文件读取（.config和.json）\n- ✅ 详细注释和文档\n\n## 🎯 最佳实践\n\n1. **保持API调用的幂等性**\n2. **合理使用缓存减少API调用**\n3. **提供清晰的用户提示和错误信息**\n4. **维护向后兼容性**\n5. **及时更新文档和注释**\n","readmeFilename":"README.md"}