{"_id":"@aqing2025/hello-mcp","_rev":"6-59e8b19cb78aed25da86d616eee174e8","name":"@aqing2025/hello-mcp","dist-tags":{"latest":"2.1.8"},"versions":{"2.1.3":{"name":"@aqing2025/hello-mcp","version":"2.1.3","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","_id":"@aqing2025/hello-mcp@2.1.3","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"hello-mcp":"dist/cli.js"},"dist":{"shasum":"4f724a2f3f5791d9a87c45224e6f17d3a4954143","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.3.tgz","fileCount":94,"integrity":"sha512-sr86kv6Zmrfxuae0a2Kk6py3CBBE6hSqL5o0gLscYBPl4KijpKOYEPl5UMst2dzrk+hAHE49CDsJko309RM6Yg==","signatures":[{"sig":"MEQCIDMFNJGZQ7yqFkEgKdIygFIeyZDx2Cy99sRP885YFDeHAiBGILtTQhJQXjsx9HHJgp+H5A9iIs4l4wvGkhJISB+FHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730160},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"3d7242480bccc4c515f3b34982c73459b9dc594d","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","test":"jest","build":"tsc && npm run build-vue","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev-vue":"cd src/static && vite","lint:fix":"eslint src/ --ext .ts --fix","build-vue":"cd src/static && vite build","test:watch":"jest --watch","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs"},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.8.2","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"22.1.0","dependencies":{"pg":"^8.16.3","vue":"^3.4.0","cors":"^2.8.5","jimp":"^0.22.10","open":"^9.1.0","vuex":"^4.1.0","katex":"^0.16.22","dotenv":"^16.3.1","helmet":"^7.1.0","marked":"^16.2.0","mysql2":"^3.14.4","express":"^4.18.2","mermaid":"^11.0.0","@types/pg":"^8.15.5","commander":"^11.1.0","engine.io":"^6.6.4","socket.io":"^4.7.2","node-fetch":"^3.3.2","vue-router":"^4.2.0","compression":"^1.7.4","highlight.js":"^11.11.1","find-free-port":"^2.0.0","engine.io-parser":"^5.2.3","socket.io-client":"^4.7.2","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","vite":"^5.0.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","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@vitejs/plugin-vue":"^5.0.0","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hello-mcp_2.1.3_1758197174065_0.8389927666739927","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"@aqing2025/hello-mcp","version":"2.1.4","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","_id":"@aqing2025/hello-mcp@2.1.4","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"hello-mcp":"dist/cli.js"},"dist":{"shasum":"e85d747e0db1aae75338cc6be808b417c86dfce3","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.4.tgz","fileCount":94,"integrity":"sha512-3WDnrrjA5158E55q2gUji82ZteLq7eiCZ6LemkRX43nT/Y/+F/su/JWQ6BzI2HiM8tNSWYXn3npdLUHDL2bFMw==","signatures":[{"sig":"MEUCIQC4p6cHnHeosnq74Sl8RrdvJlDfMW73JHDkCSOPcYuL+gIgNMVAR6f4OVGn1FIB/93qpWUsHf1yJR6v/EOSSwvRc4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803991},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c154592b5624e93e8f236221aec675b6da2a57c5","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","test":"jest","build":"tsc && npm run build-vue","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev-vue":"cd src/static && vite","lint:fix":"eslint src/ --ext .ts --fix","build-vue":"cd src/static && vite build","test:watch":"jest --watch","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs"},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.8.2","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"22.1.0","dependencies":{"pg":"^8.16.3","vue":"^3.4.0","cors":"^2.8.5","jimp":"^0.22.10","open":"^9.1.0","vuex":"^4.1.0","katex":"^0.16.22","dotenv":"^16.3.1","helmet":"^7.1.0","marked":"^16.2.0","mysql2":"^3.14.4","express":"^4.18.2","mermaid":"^11.0.0","@types/pg":"^8.15.5","commander":"^11.1.0","engine.io":"^6.6.4","socket.io":"^4.7.2","node-fetch":"^3.3.2","vue-router":"^4.2.0","compression":"^1.7.4","highlight.js":"^11.11.1","find-free-port":"^2.0.0","engine.io-parser":"^5.2.3","socket.io-client":"^4.7.2","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","vite":"^5.0.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","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@vitejs/plugin-vue":"^5.0.0","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hello-mcp_2.1.4_1758203192690_0.7915841826795913","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"@aqing2025/hello-mcp","version":"2.1.5","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","_id":"@aqing2025/hello-mcp@2.1.5","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"hello-mcp":"dist/cli.js"},"dist":{"shasum":"9cca36dc53b64354d70bd28fa9f4b29d761312c7","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.5.tgz","fileCount":166,"integrity":"sha512-cAihIgCf2oZbzIdK0LY5mwJY0g4GNlVhMgi4oCmK4+cxIbiGvLQ2Mj54D1UgC14pLoaAMpYMiERdnvV2OZR1Jg==","signatures":[{"sig":"MEUCIQCNzDTw2z/LsWAvmbu/WKekHOsYWYA1XmnG+NoFFpRxRQIgGNBLEGidkOLP2z6wH/pAWiyUAi/hMBAnIlzK47EaGp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260773},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c154592b5624e93e8f236221aec675b6da2a57c5","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","test":"jest","build":"tsc && npm run build-vue","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev-vue":"cd src/static && vite","lint:fix":"eslint src/ --ext .ts --fix","build-vue":"cd src/static && vite build","test:watch":"jest --watch","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs"},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.8.2","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"22.1.0","dependencies":{"pg":"^8.16.3","vue":"^3.4.0","cors":"^2.8.5","jimp":"^0.22.10","open":"^9.1.0","vuex":"^4.1.0","katex":"^0.16.22","redis":"^4.6.12","dotenv":"^16.3.1","helmet":"^7.1.0","marked":"^16.2.0","mysql2":"^3.14.4","express":"^4.18.2","mermaid":"^11.0.0","@types/pg":"^8.15.5","commander":"^11.1.0","engine.io":"^6.6.4","socket.io":"^4.7.2","node-fetch":"^3.3.2","vue-router":"^4.2.0","compression":"^1.7.4","highlight.js":"^11.11.1","find-free-port":"^2.0.0","engine.io-parser":"^5.2.3","socket.io-client":"^4.7.2","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","vite":"^5.0.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","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@vitejs/plugin-vue":"^5.0.0","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hello-mcp_2.1.5_1758523444882_0.5245181467175233","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"@aqing2025/hello-mcp","version":"2.1.6","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","_id":"@aqing2025/hello-mcp@2.1.6","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"hello-mcp":"dist/cli.js"},"dist":{"shasum":"58e90793d814f306490344f18ee20b1c4ec7a91e","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.6.tgz","fileCount":166,"integrity":"sha512-ER1lK+9dOZvHrm7F2Y0ZjAdxzSV/5e/90hshEwi5bRA0YuzDXHIK/aGrHadBccQa+pzOBmipe0EZnJvIVBeyXw==","signatures":[{"sig":"MEUCIQCop400BsJOYbddLyIA76s+x19kmee4ly4iA90hhibn1gIgBsfdRiYtJBWnQlFVTfqSPWos21/eS5X/HjX3SkZxD3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260820},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d2ef8d945368ebc0f4bc8f8fe96f061d58fee27c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","test":"jest","build":"tsc && npm run build-vue","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev-vue":"cd src/static && vite","lint:fix":"eslint src/ --ext .ts --fix","build-vue":"cd src/static && vite build","test:watch":"jest --watch","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs"},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.8.2","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"22.1.0","dependencies":{"pg":"^8.16.3","vue":"^3.4.0","cors":"^2.8.5","jimp":"^0.22.10","open":"^9.1.0","vuex":"^4.1.0","katex":"^0.16.22","redis":"^4.6.12","dotenv":"^16.3.1","helmet":"^7.1.0","marked":"^16.2.0","mysql2":"^3.14.4","express":"^4.18.2","mermaid":"^11.0.0","@types/pg":"^8.15.5","commander":"^11.1.0","engine.io":"^6.6.4","socket.io":"^4.7.2","node-fetch":"^3.3.2","vue-router":"^4.2.0","compression":"^1.7.4","highlight.js":"^11.11.1","find-free-port":"^2.0.0","engine.io-parser":"^5.2.3","socket.io-client":"^4.7.2","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","vite":"^5.0.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","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@vitejs/plugin-vue":"^5.0.0","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hello-mcp_2.1.6_1758525942330_0.7828889559277523","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"@aqing2025/hello-mcp","version":"2.1.7","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","_id":"@aqing2025/hello-mcp@2.1.7","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"bin":{"hello-mcp":"dist/cli.js"},"dist":{"shasum":"da28ec6945ce8b5cb6dc80f404806bb7f6266fcd","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.7.tgz","fileCount":166,"integrity":"sha512-0kL1hgV8iNOorNemJdbjaOgj9yae8R5aG8kTvpjA6mdB9nEOrBvnipHBDxdXv2e69aZZ3kRaqt0Nh5xDyaZUhA==","signatures":[{"sig":"MEYCIQCpVSPLVeinw9abxDthUBBcgn3sVUKVtMGvKzZ0ig/2HwIhAMM6c5X26zxWbBZWN3AmyuftzKV1omQ94gJCKNckuvvM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260812},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d2ef8d945368ebc0f4bc8f8fe96f061d58fee27c","scripts":{"dev":"tsx watch --clear-screen=false src/cli.ts","lint":"eslint src/ --ext .ts","test":"jest","build":"tsc && npm run build-vue","clean":"node -e \"const fs=require('fs'); if(fs.existsSync('dist')){fs.rmSync('dist', {recursive: true, force: true})}\"","start":"node dist/cli.js","dev-vue":"cd src/static && vite","lint:fix":"eslint src/ --ext .ts --fix","build-vue":"cd src/static && vite build","test:watch":"jest --watch","prepublishOnly":"npm run clean && npm run build","prepare-release":"node scripts/prepare-release.cjs"},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"repository":{"url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git","type":"git"},"_npmVersion":"10.8.2","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","directories":{},"_nodeVersion":"22.1.0","dependencies":{"pg":"^8.16.3","vue":"^3.4.0","cors":"^2.8.5","jimp":"^0.22.10","open":"^9.1.0","vuex":"^4.1.0","katex":"^0.16.22","redis":"^4.6.12","dotenv":"^16.3.1","helmet":"^7.1.0","marked":"^16.2.0","mysql2":"^3.14.4","express":"^4.18.2","mermaid":"^11.0.0","@types/pg":"^8.15.5","commander":"^11.1.0","engine.io":"^6.6.4","socket.io":"^4.7.2","node-fetch":"^3.3.2","vue-router":"^4.2.0","compression":"^1.7.4","highlight.js":"^11.11.1","find-free-port":"^2.0.0","engine.io-parser":"^5.2.3","socket.io-client":"^4.7.2","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.14.0","jest":"^29.7.0","vite":"^5.0.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","@types/express":"^4.17.17","@types/node-fetch":"^2.6.6","@types/compression":"^1.7.3","@vitejs/plugin-vue":"^5.0.0","@typescript-eslint/parser":"^6.7.0","@typescript-eslint/eslint-plugin":"^6.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hello-mcp_2.1.7_1758528120042_0.5484935499067876","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"@aqing2025/hello-mcp","version":"2.1.8","description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","main":"dist/index.js","bin":{"hello-mcp":"dist/cli.js"},"type":"module","engines":{"node":">=18.0.0"},"keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"author":{"name":"Aqing"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git"},"homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"scripts":{"build":"tsc && npm run build-vue","build-vue":"cd src/static && vite build","dev":"tsx watch --clear-screen=false src/cli.ts","dev-vue":"cd src/static && vite","start":"node dist/cli.js","test":"jest","test:watch":"jest --watch","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})}\"","prepare-release":"node scripts/prepare-release.cjs","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","@types/pg":"^8.15.5","commander":"^11.1.0","compression":"^1.7.4","cors":"^2.8.5","dotenv":"^16.3.1","engine.io":"^6.6.4","engine.io-parser":"^5.2.3","express":"^4.18.2","find-free-port":"^2.0.0","helmet":"^7.1.0","highlight.js":"^11.11.1","jimp":"^0.22.10","katex":"^0.16.22","marked":"^16.2.0","mermaid":"^11.0.0","mysql2":"^3.14.4","node-fetch":"^3.3.2","open":"^9.1.0","pg":"^8.16.3","redis":"^4.6.12","socket.io":"^4.7.2","socket.io-client":"^4.7.2","vue":"^3.4.0","vue-router":"^4.2.0","vuex":"^4.1.0"},"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","@vitejs/plugin-vue":"^5.0.0","eslint":"^8.50.0","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^3.14.0","typescript":"^5.2.2","vite":"^5.0.0"},"overrides":{"phin":"npm:minipass-fetch@^1.4.1","node-domexception":"npm:undici-types@^5.26.5"},"_id":"@aqing2025/hello-mcp@2.1.8","gitHead":"6dcd6503d1ad16def9b4ae4853eee48a1e9f9a25","types":"./dist/index.d.ts","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-jgkIpxGP0Wh6ZRatqNoapQlVHgdr4hRcVL2JlzQl+nZR0fpAwb2RFlf06VhgA93TOzH0QzgpmizIERP1UYyj6A==","shasum":"1e50b81860da2570485e23d33c7ee6ac89ddc445","tarball":"https://registry.npmjs.org/@aqing2025/hello-mcp/-/hello-mcp-2.1.8.tgz","fileCount":166,"unpackedSize":1261112,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCpA5za/ZLE2nTpurq6GdFUHGyHjclO6nMBh7wSyj1zMAIgXPjt0trsBdtyy5vdw63oZIkjs0DCgc6ob4ivXUjsKmA="}]},"_npmUser":{"name":"aqing2025","email":"2574682138@qq.com"},"directories":{},"maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hello-mcp_2.1.8_1765966096508_0.8022782383481657"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-18T12:06:13.922Z","modified":"2025-12-17T10:08:16.827Z","2.1.3":"2025-09-18T12:06:14.276Z","2.1.4":"2025-09-18T13:46:32.896Z","2.1.5":"2025-09-22T06:44:05.092Z","2.1.6":"2025-09-22T07:25:42.580Z","2.1.7":"2025-09-22T08:02:00.249Z","2.1.8":"2025-12-17T10:08:16.666Z"},"bugs":{"url":"https://github.com/sanshao85/mcp-feedback-collector-web/issues"},"author":{"name":"Aqing"},"license":"MIT","homepage":"https://github.com/sanshao85/mcp-feedback-collector-web#readme","keywords":["mcp","feedback","ai","chat","nodejs","model-context-protocol","claude","anthropic"],"repository":{"type":"git","url":"git+https://github.com/sanshao85/mcp-feedback-collector-web.git"},"description":"基于Node.js的MCP工具 - 支持AI工作汇报和用户反馈收集","maintainers":[{"name":"aqing2025","email":"2574682138@qq.com"}],"readme":"# 🎯 Hello MCP\n基于Node.js的MCP工具，支持AI工作汇报、用户反馈收集和数据库操作。\n\n## 🚀 快速开始\n\n### 安装和运行\n\n```bash\n# 直接运行（推荐）\nnpx @aqing2025/hello-mcp\n\n# 或者全局安装\nnpm install -g @aqing2025/hello-mcp\nhello-mcp\n```\n\n### MCP配置\n\n在Claude Desktop配置文件中添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"hello-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"@aqing2025/hello-mcp\"],\n      \"env\": {\n        \"MCP_WEB_PORT\": \"5000\",\n        \"MCP_DIALOG_TIMEOUT\": \"3600\"\n      }\n    }\n  }\n}\n```\n\n## ✨ 功能特性\n\n- 🎯 **AI工作汇报收集** - 通过Web界面收集用户对AI工作的反馈\n- 🗄️ **强大数据库操作** - 支持MySQL和PostgreSQL的全面数据库管理\n  - 📜 **批量脚本执行** - 执行完整SQL脚本文件，支持注释和多语句\n  - 🔄 **事务管理** - ACID事务支持，确保数据一致性  \n  - 📤 **智能导出** - 导出表结构/数据为SQL/CSV/JSON格式，含中文注释\n  - 🚀 **批量操作** - 批量执行SQL语句，提供详细执行统计\n- 🖼️ **图片支持** - 支持上传和处理图片反馈\n- 🔄 **实时通信** - 基于Socket.IO的实时数据传输\n- 🛡️ **安全可靠** - 内置安全措施和错误处理\n- 📱 **响应式设计** - 适配各种设备和屏幕尺寸\n- 🎨 **现代UI** - 简洁美观的用户界面\n- 🔧 **易于配置** - 灵活的配置选项和环境变量支持\n\n## 🏗️ 项目架构\n\n### 前端架构 (src/static/)\n```\nsrc/static/\n├── index.html                    # 入口HTML文件\n├── main.js                       # 应用入口文件\n├── App.vue                       # 根组件\n├── vite.config.js               # Vite构建配置\n├── components/                  # 组件目录\n│   ├── common/                  # 通用组件\n│   │   ├── Collapse.vue         # 折叠面板\n│   │   ├── ConnectionStatus.vue # 连接状态\n│   │   ├── CountdownTimer.vue   # 倒计时器\n│   │   ├── LoadingButton.vue    # 加载按钮\n│   │   ├── Modal.vue            # 模态框\n│   │   └── StatusMessage.vue    # 状态消息\n│   ├── database/                # 数据库相关组件\n│   │   └── DatabaseConnectionModal.vue # 数据库连接管理\n│   ├── feedback/                # 反馈相关组件\n│   │   ├── FeedbackForm.vue     # 反馈表单\n│   │   ├── ImageUpload.vue      # 图片上传\n│   │   └── WorkSummaryCard.vue  # 工作汇报卡片\n│   ├── layout/                  # 布局组件\n│   │   └── NavigationBar.vue    # 导航栏\n│   └── settings/                # 设置相关组件\n│       ├── AdvancedSettings.vue # 高级设置\n│       └── SettingsCard.vue     # 设置卡片\n├── router/                      # 路由配置\n│   └── index.js                 # 路由定义\n├── store/                       # Vuex状态管理\n│   └── index.js                 # 状态管理配置\n└── views/                       # 页面组件\n    ├── FeedbackView.vue         # 反馈页面\n    └── SettingsView.vue         # 设置页面\n```\n\n**技术栈**: Vue 3 + Vite 5.0 + Vuex 4.1 + Vue Router 4.2 + Socket.IO Client\n\n### 后端架构 (src/)\n```\nsrc/\n├── cli.ts                       # CLI入口文件\n├── index.ts                     # 主入口文件\n├── config/                      # 配置管理\n│   ├── index.ts                 # 配置创建和验证\n│   └── settings-storage.ts      # 设置存储\n├── database/                    # 数据库模块\n│   ├── connection-manager.ts    # 连接管理器\n│   ├── database-service.ts      # 数据库服务\n│   ├── unified-database-tools.ts # 统一数据库工具\n│   ├── types.ts                 # 数据库类型定义\n│   └── index.ts                 # 模块导出\n├── server/                      # 服务器模块\n│   ├── mcp-server.ts           # MCP服务器实现\n│   └── web-server.ts           # Web服务器实现\n├── types/                       # 类型定义\n│   └── index.ts                 # 全局类型定义\n├── utils/                       # 工具函数\n│   ├── image-processor.ts       # 图片处理工具\n│   ├── image-to-text-service.ts # 图片转文字服务\n│   ├── logger.ts               # 日志工具\n│   ├── performance-monitor.ts   # 性能监控\n│   ├── port-manager.ts         # 端口管理\n│   ├── process-manager.ts      # 进程管理\n│   └── session-storage.ts      # 会话存储\n└── __tests__/                   # 测试文件\n    ├── basic.test.ts           # 基础测试\n    ├── config.test.ts          # 配置测试\n    ├── image-processor.test.ts # 图片处理测试\n    ├── integration.test.ts     # 集成测试\n    └── port-manager.test.ts    # 端口管理测试\n```\n\n**技术栈**: Node.js + TypeScript + Express + Socket.IO + MCP SDK\n\n## 🗄️ 数据库工具\n\n### 支持的数据库\n- **MySQL** - 高性能关系型数据库\n- **PostgreSQL** - 功能丰富的开源数据库\n\n### 统一工具：database_operation\n通过单一工具支持所有数据库操作：\n- `connect` - 连接数据库\n- `query` - 执行SELECT查询\n- `execute` - 执行INSERT/UPDATE/DELETE命令\n- `list_databases` - 列出数据库\n- `list_tables` - 列出表\n- `describe_table` - 获取表结构\n- `disconnect` - 断开连接\n- `status` - 获取连接状态\n\n### 连接示例\n```json\n{\n  \"operation\": \"connect\",\n  \"connectionId\": \"my-db\",\n  \"connectionConfig\": {\n    \"type\": \"mysql\",\n    \"host\": \"localhost\",\n    \"port\": 3306,\n    \"database\": \"testdb\",\n    \"user\": \"root\",\n    \"password\": \"password\"\n  }\n}\n```\n\n### 查询示例\n```json\n{\n  \"operation\": \"query\",\n  \"connectionId\": \"my-db\",\n  \"sql\": \"SELECT * FROM users WHERE age > ?\",\n  \"params\": [18]\n}\n```\n\n## ⚙️ 配置参数\n\n### 环境变量配置\n- `MCP_WEB_PORT` - Web服务端口 (默认: 5000)\n- `MCP_DIALOG_TIMEOUT` - 对话超时时间 (默认: 3600000ms, 1小时)\n- `MCP_ENABLE_DATABASE_TOOLS` - 启用数据库工具 (默认: true)\n- `MCP_ENABLE_IMAGE_TO_TEXT` - 启用图片转文字 (默认: true)\n- `MCP_MAX_FILE_SIZE` - 最大文件大小 (默认: 10MB)\n- `LOG_LEVEL` - 日志级别 (默认: info)\n\n### Web界面配置参数详细列表\n\n#### 反馈收集设置\n- **超时时间** (dialogTimeout)\n  - 类型: 数字 (秒)\n  - 范围: 10-3600秒\n  - 默认值: 86400秒 (24小时)\n  - 说明: 反馈收集的超时时间\n\n- **自动打开浏览器** (autoOpenBrowser)\n  - 类型: 布尔值 (开关)\n  - 默认值: true\n  - 说明: 是否在启动时自动打开浏览器\n\n- **工作汇报模板** (defaultWorkSummary)\n  - 类型: 文本 (多行)\n  - 默认值: 空\n  - 说明: 默认的工作汇报内容模板\n\n#### 数据库操作设置\n- **查询超时** (defaultTimeout)\n  - 类型: 数字 (毫秒)\n  - 范围: 1000-300000毫秒\n  - 默认值: 30000毫秒 (30秒)\n  - 说明: 数据库查询的超时时间\n\n- **最大行数** (defaultMaxRows)\n  - 类型: 数字\n  - 范围: 1-100000行\n  - 默认值: 1000行\n  - 说明: 查询结果最大返回行数\n\n- **默认模式** (defaultSchema)\n  - 类型: 文本\n  - 默认值: 空 (PostgreSQL使用)\n  - 说明: PostgreSQL数据库的默认模式名称\n\n#### 数据库连接管理\n每个数据库连接包含以下配置参数：\n\n- **连接ID** (id)\n  - 类型: 文本 (必填)\n  - 说明: 连接的唯一标识符\n  - 示例: \"main-db\", \"analytics-db\"\n\n- **数据库类型** (type)\n  - 类型: 选择 (必填)\n  - 选项: MySQL, PostgreSQL\n  - 说明: 数据库服务器类型\n\n- **主机地址** (host)\n  - 类型: 文本 (必填)\n  - 默认值: localhost\n  - 说明: 数据库服务器地址\n\n- **端口** (port)\n  - 类型: 数字 (必填)\n  - 范围: 1-65535\n  - 默认值: MySQL=3306, PostgreSQL=5432\n  - 说明: 数据库服务器端口\n\n- **数据库名** (database)\n  - 类型: 文本 (必填)\n  - 说明: 要连接的数据库名称\n\n- **用户名** (user)\n  - 类型: 文本 (必填)\n  - 说明: 数据库用户名\n\n- **密码** (password)\n  - 类型: 密码 (必填)\n  - 说明: 数据库密码\n\n- **SSL连接** (ssl)\n  - 类型: 布尔值 (开关)\n  - 默认值: false\n  - 说明: 是否启用SSL安全连接\n\n#### 连接管理功能\n- **连接测试** - 测试单个或所有数据库连接\n- **连接状态监控** - 实时显示连接状态 (已连接/错误/测试中/未知)\n- **连接统计** - 显示已配置、活跃、MySQL、PostgreSQL连接数量\n- **连接编辑** - 修改现有连接配置\n- **连接删除** - 删除不需要的连接 (需确认)\n\n## 🔧 本地开发\n\n### 构建运行\n```bash\ngit clone <repository-url>\ncd mcp-feedback-collector-web\nnpm install\nnpm run build\n```\n\n### 开发模式\n```bash\nnpm run dev        # 后端开发模式\nnpm run dev-vue    # 前端开发模式\n```\n\n## 📄 许可证\n\nMIT License - 作者：Aqing\n","readmeFilename":"README.md"}