{"_id":"smd-mcp-feedback-collector","_rev":"29-5d656d69360eda2c4d9a2016d57de177","name":"smd-mcp-feedback-collector","dist-tags":{"beta":"1.3.3-beta.4","latest":"1.3.10"},"versions":{"1.2.0":{"name":"smd-mcp-feedback-collector","version":"1.2.0","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.2.0","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"e683a195ff87fb9d32b1e400b370c404e589959e","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.2.0.tgz","fileCount":48,"integrity":"sha512-NFGtcy1vOZNDbzVWC90LNsh9MSlMVbE+UQS+L31PHay2kzsuWVV7m7SLfT1N3Vuf55zvGwRyoaauwc0te/5dog==","signatures":[{"sig":"MEYCIQCl+VUS733qiayjPhfoezCPEZQPQdmcqgCJZ93Fzbz+TwIhAO81t+QH+6Un6mXJHDKOPxCWKlV5ekjMvHSOXbL0yTIz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":757659},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"c5bc7de6843e019c5f52aa491edb9d56349ffc72","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev:full":"concurrently \"npm run dev\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","test-feedback":"npm run build && node dist/cli.js test-feedback","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs","test-feedback:dev":"tsx src/cli.ts test-feedback","test-feedback:long":"tsx src/cli.ts test-feedback --timeout 1800","test-feedback:quick":"tsx src/cli.ts test-feedback --timeout 60","test-feedback:custom":"tsx src/cli.ts test-feedback --message"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.2.0_1749638809047_0.9024858025396267","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"smd-mcp-feedback-collector","version":"1.2.1","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.2.1","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"d92ec18e6afcbd6ed49e125b3473575303cb4586","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.2.1.tgz","fileCount":49,"integrity":"sha512-PeOt6tp+vuBWngJQG9+JdRoO5DOOPI+QbMBdszlsrnTqp4N4C0dhuT1U4MNAYKt1fNsN7n6fpT9tBGvaSRdAuA==","signatures":[{"sig":"MEYCIQDNhmFiipxkP759qkj3lx0QFe/59rSLkXi/vmJcYoRpAgIhAP+nAhiZVqhMUA43XrbbGeHnOoANDzeSAbuMhz7Mw+ic","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750307},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"905a516b255100da220f072405bfdc012e2592ae","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev:full":"concurrently \"npm run dev\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","test-feedback":"npm run build && node dist/cli.js test-feedback","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs","test-feedback:dev":"tsx src/cli.ts test-feedback","test-feedback:long":"tsx src/cli.ts test-feedback --timeout 1800","test-feedback:quick":"tsx src/cli.ts test-feedback --timeout 60","test-feedback:custom":"tsx src/cli.ts test-feedback --message"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.2.1_1749712759042_0.7234281827544922","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"smd-mcp-feedback-collector","version":"1.2.2","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.2.2","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"d310f4fb3c5cfb9a2401afa5cbcb49509386d3bf","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.2.2.tgz","fileCount":49,"integrity":"sha512-OShgLwdp5Gpg+xnrWkIo2/R50mO4Lr4W30tWZ27GAHP7NqaxaUyPuEnuNnYDS1DuwsMab1U+FOuHPzA8Usik2A==","signatures":[{"sig":"MEUCIB8bfVWdW7YZ4vi6WBrXnaH2YtZKndrre7nqVpAeF7eFAiEAirsToxob1SMoUztt0P7/ALSR88PTvy5UEq4SlfIy5E0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750307},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"905a516b255100da220f072405bfdc012e2592ae","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev:full":"concurrently \"npm run dev\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","test-feedback":"npm run build && node dist/cli.js test-feedback","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs","test-feedback:dev":"tsx src/cli.ts test-feedback","test-feedback:long":"tsx src/cli.ts test-feedback --timeout 1800","test-feedback:quick":"tsx src/cli.ts test-feedback --timeout 60","test-feedback:custom":"tsx src/cli.ts test-feedback --message"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.2.2_1749714548569_0.7144580679954409","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.1":{"name":"smd-mcp-feedback-collector","version":"1.3.0-beta.1","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.0-beta.1","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"a4bcba27abc2cff84cdd1947b8cf4fcfa19963e4","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.0-beta.1.tgz","fileCount":51,"integrity":"sha512-Y0sXvSw0P3Nxhnyi1hM56vpEUr/EtzGnVrw8f9Ql4IKjUIujH9oIL6owPUaxeEvhe8RVQzF1g0CUZZGj5c+Jcw==","signatures":[{"sig":"MEUCIQDiO6+S+mrTXNhWG9Ce5Hnmrk52aX/N9Krr9vs3/UTpGgIgSTy+RBUj+FY8LGBmwuayPvuOXn7IpMTCy9kgOgypVjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781997},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"905a516b255100da220f072405bfdc012e2592ae","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.0-beta.1_1750090974665_0.8695267379376743","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.2":{"name":"smd-mcp-feedback-collector","version":"1.3.0-beta.2","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.0-beta.2","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"17d1ba2e2c79c1e89e75dd627f7c0ad792909704","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.0-beta.2.tgz","fileCount":63,"integrity":"sha512-Fe9Bx1kCYqQ/33FLQx8/reijVgBETp3fbB7OYeMdcI/gxKuPvqLTFX8CraeIDB6I9T5l8Tk8+0E3vpTmDVZ/sw==","signatures":[{"sig":"MEQCIDNOZ8Jxhqr64fxJul2lC/xZsbmah6PdKhqebuV5XnKxAiB7PALQuvv9ZngR+p6Bnn7XrmPcIIvgBG/5VQy92vqqYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":874890},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"03bfc9c7067ad9eeb7b26002ce6b6841a8e7fdf1","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.0-beta.2_1750128261749_0.8087454133725851","host":"s3://npm-registry-packages-npm-production"}},"1.3.1-beta.0":{"name":"smd-mcp-feedback-collector","version":"1.3.1-beta.0","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.1-beta.0","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"20d93490914506314d1f7fa48ff384253bc36307","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.1-beta.0.tgz","fileCount":59,"integrity":"sha512-F3PQJ8tFPezxPQgMzN7m/HxLs4N085t2mHWlRmPwLAivcPYYTkxZ1xewN9BzM6zxCIAKi2OVZ/ACPLwIgARfrw==","signatures":[{"sig":"MEQCIG3228Ob4UnUnu1nQ28YyAVsnECOK6sbXvudnVayJKiXAiBOiu1CWBaW8tqgnEgZ8Nt5suxnMC7kamIJmFV0DaH04Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1042163},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a7dd30b9b6df2e24b39e034458c395b6745eebd5","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.1-beta.0_1750244042482_0.15387331282665517","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.4":{"name":"smd-mcp-feedback-collector","version":"1.3.0-beta.4","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.0-beta.4","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"ca0077ea1f545a20f76a52a382066154123f8de4","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.0-beta.4.tgz","fileCount":59,"integrity":"sha512-aMtMVWV7w2wFT9cln5+dsPNmpLTosPIWOIrOB8MdE41M6Al2ImAl4JO3DsW+RgB8f+eTuU1xkXfT9aofU0EqMg==","signatures":[{"sig":"MEYCIQCKzLkXVgPaZsNFZBA8Qqi81JclR5Sz9pYt+Wphk1IIeAIhALKDh9KMF1OoevqVvxRvR/xapviCppxcvUtv/j88jngV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1091329},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4213e98a0f9bf2515108d8bcf6aacbc47861b4f6","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.0-beta.4_1750318653712_0.8598959056578142","host":"s3://npm-registry-packages-npm-production"}},"1.3.2-beta.0":{"name":"smd-mcp-feedback-collector","version":"1.3.2-beta.0","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.2-beta.0","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"78022b5c8b86380cc185a17c0eb3f89760f9b138","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.2-beta.0.tgz","fileCount":59,"integrity":"sha512-J/mB9YDBWvrq9mvWz/ee1txG1WxYOmWB16IM3DGvlUhQcQVusJbK0+gIHzwMq7qPIBE9FCW3e3w4Sb2JcsvCPg==","signatures":[{"sig":"MEUCIFglkogI8Qa1w/AZCqF7ZOJ2r0aE7ZRE6NoLF7eUk3hVAiEAut55gLFf7iNUtSDzVTGdyLacWsxiSij+Pczvhy5q+Qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1091337},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4213e98a0f9bf2515108d8bcf6aacbc47861b4f6","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.2-beta.0_1750318704648_0.7471346969319219","host":"s3://npm-registry-packages-npm-production"}},"1.3.2-beta.1":{"name":"smd-mcp-feedback-collector","version":"1.3.2-beta.1","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.2-beta.1","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"cc209b5500a0e91633e9e54b76b5d4ce6b80cc9d","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.2-beta.1.tgz","fileCount":59,"integrity":"sha512-2kPBdqi4MwR5bkZMWzvgTAN8P0LrgQKVPBMWvrkftTbVrXMOdQdvxT0aS8zw15ebTraJFA1cTsh8+VuQ9MZNIQ==","signatures":[{"sig":"MEYCIQCuqku/Vm03dhXIWmmziiO6Q8YqOyNlBwCnCGxnzpfctwIhAMeKM4GfTVtBBziCX8aY0jNTtgTv2s1scQeaupwictlc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1090698},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a4cf565ffd2e84abee62052709bda65ab85e0e1c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.2-beta.1_1750321367517_0.6530451919938163","host":"s3://npm-registry-packages-npm-production"}},"1.3.2-beta.2":{"name":"smd-mcp-feedback-collector","version":"1.3.2-beta.2","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.2-beta.2","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"aa66203e59683ab57de14a702c9d0c969610306b","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.2-beta.2.tgz","fileCount":47,"integrity":"sha512-wdgUBoCRRpb9jmLW6X6gW+YyYeFWyhI2BRZB6F5xZc+u+ISiSS/6OeRJCGxNOqUHLiomLBQruDycTkwkWaKKMQ==","signatures":[{"sig":"MEUCIAmYOMTu67HOvjllPJNlBH7mPtUYJubrSlk5UnyvL6r7AiEA0zyxnf0B6QZ9JD1qfQ5lF9rKIwuJI/Es7vm4V031F5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1022152},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"0965e64cce130a708887b3ed1dae0a71751b0d57","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.2-beta.2_1750382382202_0.7360407721731861","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-beta.1":{"name":"smd-mcp-feedback-collector","version":"1.3.3-beta.1","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.3-beta.1","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"46eff34c565be1c493c4e4ad8c4e816caf627d75","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.3-beta.1.tgz","fileCount":47,"integrity":"sha512-BoIBPEJL5UndzYFCsPN13e8H1gkp1wvZPcGiiW+ifn//T8RMODjn/G4z5TA7zV2dn9IHAppFinCOB0UGsPx8Mw==","signatures":[{"sig":"MEQCIFqN8jPuYpLePDqIxarZY+1nURnsxH1/LqBNAhrFWotEAiAEv4dI96mxCF2WiqA+gxmdjE6H3KIU818MvOLuwFkUYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1038154},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"eabdc8011f515a2c6a143fd4256fcd9fdf69c25c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.3-beta.1_1750391535399_0.1260590076018051","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-beta.2":{"name":"smd-mcp-feedback-collector","version":"1.3.3-beta.2","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.3-beta.2","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"3f69075a7f384df84e7db0537818ac2b78d7da4c","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.3-beta.2.tgz","fileCount":47,"integrity":"sha512-RrkXcDx4Kevp0SqiFMaEndbYlWDVkZquWix69lrPjfNrKZUKwZd+BCIFY9E1+AclSo6MrfZbx9lGjLYcsUvdlg==","signatures":[{"sig":"MEUCIQCSKWqYZ5FCIHwbeymQYNhD4gp9pNMBW0Gj38AkymaCXQIgJKxjbpwhAXM711YDw6M5zl4KPkwKoZB6aHI/g+T5P0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1038154},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"eabdc8011f515a2c6a143fd4256fcd9fdf69c25c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.3-beta.2_1750391956723_0.11728364316420059","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-beta.3":{"name":"smd-mcp-feedback-collector","version":"1.3.3-beta.3","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.3-beta.3","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"def2873a75e007fe28e86bd0052a1f8c0c74ec19","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.3-beta.3.tgz","fileCount":47,"integrity":"sha512-9QWrYDLOA6GoHh9iH9Ne4CnYb1okGRDWakuT4f7ODLTeI1llMu5vuNnaOzlNg2ZXhr/00Mf3X6V6iVmiEkuepA==","signatures":[{"sig":"MEUCICjqGoAg0mnieizx8OXtKuzkCz8z7k8kyZuLM6dZjQcnAiEAzAxZ/ZEdSUJmtoCQq2kiCzHScCbvMvIqQEHuK8Kzk2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1036920},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"eabdc8011f515a2c6a143fd4256fcd9fdf69c25c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.3-beta.3_1750392109930_0.32566204297506474","host":"s3://npm-registry-packages-npm-production"}},"1.3.3-beta.4":{"name":"smd-mcp-feedback-collector","version":"1.3.3-beta.4","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.3-beta.4","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"39a2d1f7ebf53400383d0c187b55672f23028d82","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.3-beta.4.tgz","fileCount":47,"integrity":"sha512-+v69G0mVamTwHOAZAxNasxH3M81HCBE/XoqpZJBMgwwMALFnKzdiVBigVTHIrC45s2hePEYRczdEjro4sfzDRQ==","signatures":[{"sig":"MEUCIEunw+pCy0pIo0EJON7ob3fS4XF0Qn+3vRzLyysKHZe0AiEAo2jFLdBJJPGW1PWfaiBMiIKw9lRCqpI3gZYs4VAozak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1033066},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"eabdc8011f515a2c6a143fd4256fcd9fdf69c25c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm run clean && npm run build && npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm run clean && npm run build && npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.3-beta.4_1750392312548_0.5532401806295648","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"smd-mcp-feedback-collector","version":"1.3.4","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.4","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"ba065bbfba01d2a9907ae7ce468bf10330d2cbf1","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.4.tgz","fileCount":47,"integrity":"sha512-1VVaBkjIrEB+ZdteRw2Phh384I5e5rinK0Z5/OXyaC+nfixS6PRyYA2RlQGLv/hZyZJKox6FTwb/dgvi4t56TA==","signatures":[{"sig":"MEUCIQD998a+gU556Emm7By+IBLSkzi8QO5JH4iBSG/Qf7ojlwIgZHQSmcxtjFpDrgX9V1Hb/Jb7T11g2puVxOpz8LWhFp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1033059},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"eabdc8011f515a2c6a143fd4256fcd9fdf69c25c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm run clean && npm run build && npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm run clean && npm run build && npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.4_1750392700394_0.4944816222465085","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"smd-mcp-feedback-collector","version":"1.3.5","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.5","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"f33f178b92120b7d81fb86d7e476f79a7fc77b85","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.5.tgz","fileCount":47,"integrity":"sha512-/AcP9T72y7DmlSI8W9wN1baLiHn2NPUXU88KmJ3MpUPVr7m1YijvXkaJVQRyHcNRiDqHkE7ufmQC2d0lIIgG5g==","signatures":[{"sig":"MEQCIFMuMTYRoWk5kMmJSbwoxJeZOBMN1nQTjpdu+PWGB6dzAiAtBg/rVF3CHFXsMGDD9yiu/HEa8XZQqc2nBaEEHKjDMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1033025},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"14f54a972216ac860c7bab67106b267f57f90c97","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm run build && npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm run build && npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.5_1750393005908_0.9893791095772091","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"smd-mcp-feedback-collector","version":"1.3.6","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.6","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"d722742323a1af24829417b7fd28f3d2af2a073b","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.6.tgz","fileCount":47,"integrity":"sha512-Gzjzr/PORHgU6kJfiXZSbAf8pRHbAuQGyMe/AengYIibvQWjCQzOM5e+LdhwMGAb7uhSKTAuiMay/xusmh24sA==","signatures":[{"sig":"MEYCIQC1cXJxFGgM79Qorlf3c7zkh8UI5RIymm1dkzUbFHhejAIhAP50UoSDFNV+LkIDDfmG7n/IF3tDUi6f+gUwIXzvGz7m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1066394},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3c7feb30a4992e413ea069e882886039f14bd21e","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.6_1750403375940_0.48113399245698685","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"smd-mcp-feedback-collector","version":"1.3.7","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.7","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"ac745b8be0e72a9ef5705e6e039f750204701f63","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.7.tgz","fileCount":47,"integrity":"sha512-GLq+bvRgw5DA69Wp0V9b3XDPBtkSaSVhXw9P3HlH99QXac/NvQ8VggL3UCkQJojsoST9NWgXieYtddYQY7HwWA==","signatures":[{"sig":"MEQCIAWudEjA82I6Y7kD9jyvtzn8PmVgRDrn1PX4sfcTK9aXAiBznaEhzD8sVY1w8wabhKpk9SrKypL2lBS9Aef8BffwGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1066671},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"0207036e821d854b2704b61d604b670060ce3046","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","better-sqlite3":"^9.2.2","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@types/better-sqlite3":"^7.6.8","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.7_1751425988634_0.8362221472663918","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"smd-mcp-feedback-collector","version":"1.3.8","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.8","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"1f5c53a87c8ef101344b42db5468fea87694bdc2","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.8.tgz","fileCount":51,"integrity":"sha512-G7m7yPJmiP6CqmlvJJJDH//vQlmoFi9jpCm2LDcMqZ8camIq6Kova4BY5B/slG7obOLQzEq4zKytXGzAHDvZjQ==","signatures":[{"sig":"MEUCIQCPoUdnCgutt7nZRgp6Pxu1OY3mhEDoDQ+2nVvY1DKr+QIgQyYn2daWQnWd+hg+ELCkbIp1mPcRmwfdwa+3pfTEoAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1102976},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"fd962d2d639df4524b979ff220becb913f6d63f0","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","actor":{"name":"songm_d","type":"user","email":"songm_d@163.com"},"email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.8_1751430899800_0.15127488185164895","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"smd-mcp-feedback-collector","version":"1.3.9","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","_id":"smd-mcp-feedback-collector@1.3.9","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"dist":{"shasum":"4b2d6d5372af98dd8aa15fd6c8df1b1c46dd8e0e","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.9.tgz","fileCount":51,"integrity":"sha512-dFN3e0+pjNiwyps3pDLIBsG8LsTb+IWORC3pDmJkVmdF2VcHfORq3um9bylo5fIUrcJujqeVuC8cF0U/Rkhfow==","signatures":[{"sig":"MEQCIGKn1Xi9W+octyfqhgLIvQUnYNqgBLVNeZsyYeJdCgNDAiBxMBMJk9hXIbEiCH5tKXbDHrtGtdbadAb9I6zlxtC45w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093608},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3ec38037d6118de348e590e0b4b9c9e77b057bfd","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","build":"npm run build:frontend && tsc","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","client":"node scripts/mcp-client.js","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","lint:fix":"eslint src/ --ext .ts --fix","clean:all":"npm run clean && cd frontend && rm -rf dist","start:dev":"tsx src/cli.ts start --persistent","dev:backend":"tsx src/cli.ts dev","test:client":"node scripts/test-client.js","client:debug":"node scripts/mcp-client.js --debug","dev:frontend":"cd frontend && npm run dev","install-deps":"cd frontend && npm install && cd .. && npm install","publish:beta":"npm publish --tag beta","build:backend":"tsc","build:frontend":"cd frontend && npm run build","prepublishOnly":"npm run clean && npm run build","publish:latest":"npm publish","test:tool-call":"node scripts/test-tool-call.js","prepare-release":"node scripts/prepare-release.cjs","start:persistent":"npm run build && node dist/cli.js start --persistent","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js"},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"repository":{"url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git","type":"git"},"_npmVersion":"10.7.0","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"20.14.0","dependencies":{"ws":"^8.18.2","cors":"^2.8.5","open":"^9.1.0","dotenv":"^16.3.1","helmet":"^7.1.0","express":"^4.18.2","@types/ws":"^8.18.1","commander":"^11.1.0","socket.io":"^4.7.2","node-fetch":"^3.3.2","async-mutex":"^0.5.0","compression":"^1.7.4","find-free-port":"^2.0.0","@modelcontextprotocol/sdk":"^1.12.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/cors":"^2.8.14","@types/jest":"^29.5.5","@types/node":"^20.8.0","concurrently":"^8.2.2","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/smd-mcp-feedback-collector_1.3.9_1752510619010_0.7294909013516855","host":"s3://npm-registry-packages-npm-production"}},"1.3.10":{"name":"smd-mcp-feedback-collector","version":"1.3.10","description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","main":"dist/index.js","bin":{"smd-mcp-feedback-collector":"dist/cli.js"},"type":"module","engines":{"node":">=18.0.0"},"keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"SMD"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git"},"homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"scripts":{"install-deps":"cd frontend && npm install && cd .. && npm install","build":"npm run build:frontend && tsc","build:frontend":"cd frontend && npm run build","build:backend":"tsc","dev":"tsx watch --clear-screen=false src/cli.ts","dev:backend":"tsx src/cli.ts dev","dev:frontend":"cd frontend && npm run dev","dev:full":"concurrently \"npm run dev:backend\" \"npm run dev:frontend\"","start":"node dist/cli.js","start:persistent":"npm run build && node dist/cli.js start --persistent","start:dev":"tsx src/cli.ts start --persistent","client":"node scripts/mcp-client.js","client:debug":"node scripts/mcp-client.js --debug","test:client":"node scripts/test-client.js","test:tool-call":"node scripts/test-tool-call.js","test:multi-client":"node scripts/test-multi-client.js","test:race-condition":"npm run build && node scripts/test-race-condition.js","lint":"eslint src/ --ext .ts","lint:fix":"eslint src/ --ext .ts --fix","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","clean:all":"npm run clean && cd frontend && rm -rf dist","prepare-release":"node scripts/prepare-release.cjs","prepublishOnly":"npm run clean && npm run build","publish:beta":"npm publish --tag beta","publish:latest":"npm publish"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.3","@types/ws":"^8.18.1","async-mutex":"^0.5.0","commander":"^11.1.0","compression":"^1.7.4","cors":"^2.8.5","dotenv":"^16.3.1","express":"^4.18.2","find-free-port":"^2.0.0","helmet":"^7.1.0","lowdb":"^7.0.1","node-fetch":"^3.3.2","open":"^9.1.0","socket.io":"^4.7.2","ws":"^8.18.2"},"devDependencies":{"@types/compression":"^1.7.3","@types/cors":"^2.8.14","@types/express":"^4.17.17","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/node-fetch":"^2.6.6","@typescript-eslint/eslint-plugin":"^6.7.0","@typescript-eslint/parser":"^6.7.0","concurrently":"^8.2.2","eslint":"^8.50.0","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^3.14.0","typescript":"^5.2.2"},"_id":"smd-mcp-feedback-collector@1.3.10","gitHead":"3dd14fd6c5ce1b0bed507179ca4be42d45ac83e2","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-cfq9YFX/WS9VbU7jRdwH+D370VR6jePkXabHpaWX9uEx78Od+KPkIwJqvfJrXKeS9/MjKD5AuggcmzM4njsrRg==","shasum":"a7aa37465e66e28b5dc6d998f43428c2cf4f8029","tarball":"https://registry.npmjs.org/smd-mcp-feedback-collector/-/smd-mcp-feedback-collector-1.3.10.tgz","fileCount":51,"unpackedSize":1055037,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDuEa0JOASerIg7iQJj2CnWV+EFrNOC/XLTjwtna/THOQIgVShfJnqVY7juypvUuiEBcBgAG/TCyKdfd0Y+CHGTniI="}]},"_npmUser":{"name":"songm_d","email":"songm_d@163.com"},"directories":{},"maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smd-mcp-feedback-collector_1.3.10_1757560404391_0.5040650561349673"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-11T10:46:49.045Z","modified":"2025-09-11T03:13:24.852Z","1.2.0":"2025-06-11T10:46:49.284Z","1.2.1":"2025-06-12T07:19:19.363Z","1.2.2":"2025-06-12T07:49:08.817Z","1.3.0-beta.1":"2025-06-16T16:22:54.959Z","1.3.0-beta.2":"2025-06-17T02:44:21.957Z","1.3.0-beta.3":"2025-06-18T09:42:09.249Z","1.3.1-beta.0":"2025-06-18T10:54:02.678Z","1.3.0-beta.4":"2025-06-19T07:37:33.892Z","1.3.2-beta.0":"2025-06-19T07:38:24.822Z","1.3.2-beta.1":"2025-06-19T08:22:47.728Z","1.3.2-beta.2":"2025-06-20T01:19:42.459Z","1.3.2-beta.3":"2025-06-20T02:51:22.868Z","1.3.3-beta.0":"2025-06-20T02:54:35.810Z","1.3.2":"2025-06-20T03:05:38.878Z","1.3.3-beta.1":"2025-06-20T03:52:15.604Z","1.3.3-beta.2":"2025-06-20T03:59:16.913Z","1.3.3-beta.3":"2025-06-20T04:01:50.105Z","1.3.3-beta.4":"2025-06-20T04:05:12.763Z","1.3.4":"2025-06-20T04:11:40.653Z","1.3.5":"2025-06-20T04:16:46.187Z","1.3.6":"2025-06-20T07:09:36.218Z","1.3.7":"2025-07-02T03:13:08.846Z","1.3.8":"2025-07-02T04:34:59.961Z","1.3.9":"2025-07-14T16:30:19.187Z","1.3.10":"2025-09-11T03:13:24.685Z"},"bugs":{"url":"https://github.com/Songmengdi/mcp-feedback-collector/issues"},"author":{"name":"SMD"},"license":"MIT","homepage":"https://github.com/Songmengdi/mcp-feedback-collector#readme","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"repository":{"type":"git","url":"git+https://github.com/Songmengdi/mcp-feedback-collector.git"},"description":"基于Node.js的MCP反馈收集器 - 支持AI工作汇报和用户反馈收集","maintainers":[{"name":"songm_d","email":"songm_d@163.com"}],"readme":"# 🎯 MCP Feedback Collector\n基于Node.js的现代化MCP反馈收集器，支持AI工作汇报和用户反馈收集。\n\n# Cursor配置说明(1.3.6版本)\n```json\n{\n  \"mcpServers\": {\n    \"mcp-feedback-collector\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"smd-mcp-feedback-collector@latest\"\n      ],\n    }\n  }\n}\n```\n\n# \n# Cursor配置说明(1.2.2版本,指定之前版本)\n```json\n{\n  \"mcpServers\": {\n    \"mcp-feedback-collector\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"smd-mcp-feedback-collector@1.2.2\"\n      ],\n      \"env\": {\n        \"MCP_TRANSPORT_MODE\": \"stdio\",\n        \"MCP_WEB_PORT\": \"5050\"\n      }\n    }\n  }\n}\n```\n\n\n# Cursor mcp模式配置\n<!-- beta 非稳定版本,介意勿用 -->\n使用 npx smd-mcp-feedback-collector@latest 全局启动(在控制台启动一个,之后在cursor中配置)\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-feedback-collector\": {\n      \"url\": \"http://localhost:3001/mcp\"\n    }\n  }\n}\n```\n\n# Stagewise Toobar prompt拦截\n```bash\n# 在命令行窗口中启动服务(你可以自己编写脚本改为后台启动)\nnpx -y standalone-toolbar-service@latest\n```","readmeFilename":"README.md"}