{"_id":"@democratize-quality/mcp-server","_rev":"14-a5629400c49a0f798b0af1e72bd195a9","name":"@democratize-quality/mcp-server","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"@democratize-quality/mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.0.0","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"6e0293dea776bc03b6a0806db0ff5737cf817034","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":48,"integrity":"sha512-Y2gbmC3+rZ4iRRel/pTqOw3XYlGaPVloq7IEFYx3B/Wgpqq2EKKgnzQDlsuQUcQpUjT6JdbshIcN9Dv6Ykvxew==","signatures":[{"sig":"MEUCIDQMmG0p5KzEbH12T/2MRYYm6Vj1DZSogFCVERXKFgFpAiEAlG8aXBi7DZulh0NkUIP9MLKQGfSs/DV6jsYifTZtoCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@democratize-quality%2fmcp-server@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410556},"main":"mcpServer.js","gitHead":"b82199dafd5f66d7d8dd498d6f06075daab50f35","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^4.0.10","express":"^5.1.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.0_1753700045904_0.22730727167546605","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@democratize-quality/mcp-server","version":"1.0.1","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.0.1","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"a1583605f7c528f8dee985b474bfe0e3a59d0a2f","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.0.1.tgz","fileCount":48,"integrity":"sha512-12jrWAi2gTwn4TrZl5SEgBaOGo7bG6DM+0ikEyv3m2VV5G3oeQcs4UgWYc5NpbqaHb31S+C3oGKRUE4Shxktxw==","signatures":[{"sig":"MEUCIEdmjw1KHvJHBr0SwlXchB15yOSA1AnxXEzxgSKf45M3AiEAk6aVDdEtUQJQiX9Ob1aPtJ1ypfm4Wf5KugWMEIHG9ls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@democratize-quality%2fmcp-server@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411138},"main":"mcpServer.js","gitHead":"89e75bb5c077bf43405823be12049344eafef7ee","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.0.10","express":"^5.1.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.1_1757587615215_0.07523449182535424","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@democratize-quality/mcp-server","version":"1.1.0","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.0","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"ce4b9bf231bc20c8d802c3846b569b01d741e0a5","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.0.tgz","fileCount":57,"integrity":"sha512-biwaYesb482mGVb2UoJlsHaNWj1V47JH8F951YZ4sV0xNJKT9mYzVnicpALoHVmdQx7AAlY0FXWFxXGNeZHKTw==","signatures":[{"sig":"MEUCIQDXbMeQKCflq1bIglM2o0C4OfRlrfEnVLQcunMOY33JNwIgb73sYkl293A5H4OKwnP3E3CLc/+iHDKFwAXUFgoTPfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@democratize-quality%2fmcp-server@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578882},"main":"mcpServer.js","gitHead":"23ffab8506b8708942b7131756eb1118d0ba2ba4","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.0.10","express":"^5.1.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.0_1760606001186_0.5553182811302628","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@democratize-quality/mcp-server","version":"1.1.1","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.1","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"07dd64dcc403dd87038b3d55398585ea2bd04e76","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.1.tgz","fileCount":63,"integrity":"sha512-WSfUeYcec6fI5GEtkmlg0INcnVMeX6XYDTjDSjHFHh+BEs1O4NmWqiLoXUdCoAti9e6jZgEo9eArPVUkv9MAUA==","signatures":[{"sig":"MEQCID2aUnXpQjLAEBbW8wnUrDRXqmu640so7ghDsBKUI0OpAiAOQ9fd0q4L2sH7taBYDTEgpB2+je6Uj2SVxrovbT1K6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@democratize-quality%2fmcp-server@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":705477},"main":"mcpServer.js","gitHead":"0879ad35b2827c257fb7295651fe4c432b130313","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.1_1761042875324_0.21678320641406246","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@democratize-quality/mcp-server","version":"1.1.2","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.2","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"c732e714040cebd1275f1cdcd0c38e6589af18cd","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.2.tgz","fileCount":64,"integrity":"sha512-q+QWxT5lB7IHS/gAlniQIG3cMwtNhaCggSUBWqRFlFUROx4WORyzd5mpwisI6QSYJo+EIk0XVb6O0KwBxsG6Tg==","signatures":[{"sig":"MEQCIGZVKUb4Go/gC/VVXjFG/Wzw4c4pthwtY9ToEXZl/jcNAiBic4M67qfan+MniVOYLshT7Yj4yfFeRZVCtonqKVn3PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":725659},"main":"mcpServer.js","gitHead":"52f823ef1df8ce10e4b81a47dcaf1a2c3c6dc27a","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.2_1761187685577_0.3926889094124455","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@democratize-quality/mcp-server","version":"1.1.3","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.3","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"8c82cdedb5d17e734b9ef360714f675c3956f701","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.3.tgz","fileCount":64,"integrity":"sha512-rHi2VSENE7xu+t02hko6ilcNLVAjAagego0fEItTztz+ROqis78XaPxYz4ODki9TS1Dknbna35foBETpOrA0qA==","signatures":[{"sig":"MEYCIQD7YiTVpbdinkc6fy3pIALazVorAqr70onYaP9eO/0g0wIhANKHx704YwuxVAFToSgDuxrSC7EGlaWPlbcEBKxILLu7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785447},"main":"mcpServer.js","gitHead":"44cd0f955d3ae9a34546cd7754056c1ac5fafd4e","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.3_1761384858817_0.429342063428521","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@democratize-quality/mcp-server","version":"1.1.4","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.4","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"571d11ea48af62ed3bc6864fe2fc3988a80d9c99","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.4.tgz","fileCount":65,"integrity":"sha512-6uq5Hgf5s0907yDQ4SInKsDwaF1ftO9Nc0tbqBwVJ99MP2YcUFNz9esP6l7RzJ/4GtNlLZCUXV8I6YEZTmIrjQ==","signatures":[{"sig":"MEQCIG37t4uy+IkTQI9S5dHhCYzNeBuEYfUHFTmrDAqywbCdAiBl2Ph7JoKN7/j6ACq5heRhflblGV5YjZXkosUPAo8G2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803863},"main":"mcpServer.js","gitHead":"f4be2a03be4a54d7d8a177ec27ca40b82683369f","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.4_1761390945467_0.37749092511709614","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@democratize-quality/mcp-server","version":"1.1.5","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.5","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"f140aa4f6375524054c489767f62a1e31f6ec451","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.5.tgz","fileCount":65,"integrity":"sha512-2U9Rbp/T7ducHIJAixYjjAt4M0dcKmBpyPuvRxan5+23Ye8O7rNe8huN1HfDhZns9WYj5S/gfy4E5wSQWUXSvQ==","signatures":[{"sig":"MEQCIHNmdFWripX4mJbOtCeo5Pi0yD+FBtmcIdHgj+7luAg0AiBjvec6HFdslabqcJa6gEh3UdWh0doZF56ToUNpxQGdBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803865},"main":"mcpServer.js","gitHead":"56e8ac1b432878f659b10f3e0f046f3b86971365","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.5_1761391520985_0.4627438541498572","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@democratize-quality/mcp-server","version":"1.1.6","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.6","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"170eb04b1263a7d337ba66ff35fa328fbab47957","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.6.tgz","fileCount":65,"integrity":"sha512-J1CuRZdx8vkrqC4Sitxiv+OlNaBaq5RXqHytSGOcD3VOyDFs+00upubwACffv3hfUtUh6vmDcq0zVSWn18pnVA==","signatures":[{"sig":"MEYCIQD4yOmGEVZNNp3AAXNM/8yoxChGN4uoEXuHDXnrfvVw3QIhAMxU0jakzdVKOL73r+YKpPRw/rzsI0i7yjQna6lij+yK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803945},"main":"mcpServer.js","gitHead":"8c553830d6eadf11d04e1a7fb57bfdef1ec97676","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.6_1761392115963_0.14114196475744745","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@democratize-quality/mcp-server","version":"1.1.7","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.7","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"55b4dd394c3777f11cc77217e83830c524e1e295","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.7.tgz","fileCount":68,"integrity":"sha512-Dp32lNz8/0iD9C4eUsiOOSnIw3T6Dr+l8YXGvmiEQ+Fr+uBsxafBVgJrrTUFd3dFCocQKBJs2KNHmYuRLi2s3g==","signatures":[{"sig":"MEYCIQDjZYlGLnopvA26ax9DbSvclu+jvH2AzMgDN1jYkDBxCwIhANpD4pnMUs/EFR8H+Jkfz3I1TBBH1k8+c9R51fjVwI+b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":841082},"main":"mcpServer.js","gitHead":"5d41ddd3a2f3ff3fdd67c49b927bf23d1f53aad9","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.8.0","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.7_1771118747953_0.0931028058220309","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@democratize-quality/mcp-server","version":"1.1.8","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"ISC","_id":"@democratize-quality/mcp-server@1.1.8","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"40f71ae85ec98afa05d08074e79d0e9f7947ea06","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.8.tgz","fileCount":69,"integrity":"sha512-TNA4Eq3YDxCg2HfleardnQOkouLX40dsnVZepqL7f0Qp91u1TIOiZCXNj0ocBzi/9OoPeMN4YeJJWr3tz0H+DQ==","signatures":[{"sig":"MEYCIQCM7msfKU6cLF2ktBY7tnokVEWY/S+tCokzOlLe3ucfeAIhAOLKZmUU6wFdkeJjOsM4JAIMHjQ8x/OiAyu/oxaFPVzf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866215},"main":"mcpServer.js","gitHead":"d700d24d64a6176a62e9e72f568726bcfe6d7b5f","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.8.0","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.8_1771140552176_0.30930579282123083","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@democratize-quality/mcp-server","version":"1.1.9","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"AGPL-3.0-or-later","_id":"@democratize-quality/mcp-server@1.1.9","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"cli.js","democratize-quality-mcp":"cli.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"45afa80e006a628203341bf546b9db7a3236f1be","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.1.9.tgz","fileCount":69,"integrity":"sha512-lapU9lELWFWWlMxGFKKzd7q3YTepjHxRjwxjL7VaJuyYGvyREV1dHD6GssGR7F5kDEheDe8Df+gwmOSxozmM9w==","signatures":[{"sig":"MEUCIQDqQ2tMCigktwem/Pd7gw0gaY/38dcsF1A0d/9Bxr6ttwIgbkCJUB9va1wV+GwntBMpR53F7z4Uf8KMcIMP/ySH7/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":903956},"main":"mcpServer.js","gitHead":"2662805c3fda155ce9f84b431d6bec9dfe5418a5","scripts":{"dev":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","mcp":"NODE_ENV=production node mcpServer.js","test":"node test-mcp.js","start":"NODE_ENV=production node mcpServer.js","server":"node run-server.js","inspector":"npx @modelcontextprotocol/inspector node mcpServer.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server --help\n  npx dq-mcp-server --help\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","server:prod":"node run-server.js --production","server:debug":"node run-server.js --debug","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run prepare-publish","prepare-publish":"node prepare-publish.js"},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.8.0","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","express":"^5.1.0","graphql":"^16.11.0","body-parser":"^2.2.0","json-rpc-2.0":"^1.7.1","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.9_1773309290901_0.7147765338791794","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@democratize-quality/mcp-server","version":"1.2.0","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"AGPL-3.0-or-later","_id":"@democratize-quality/mcp-server@1.2.0","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"bin":{"dq-mcp-server":"dist/server.js","democratize-quality-mcp":"dist/server.js"},"mcp":{"server":{"env":{"NODE_ENV":"production"},"args":["mcpServer.js"],"command":"node"}},"dist":{"shasum":"dda430fb01b088d02f4295f02077ae1344a85a23","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.2.0.tgz","fileCount":16,"integrity":"sha512-bZawxJk8ykpNMrOC3b4IHC6vA1GToNGzSB4xmed7YJGpCHkswkF08recvCe6Q+E81u6Sht8XaooEWSi2t6guFQ==","signatures":[{"sig":"MEYCIQCzwwZ+4E1QraA5MD/SbW5Bxo6LOcxNiQI1ClI/cnKaBwIhAMzn/JQSH2Gvh6D6WHKggDueiI9eCeZ03GfcgWJi5Dh5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159839},"main":"dist/server.js","types":"./dist/server.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d398939ebae7c1ac781ced76e29dadfdec5cb64f","scripts":{"dev":"tsc --watch","mcp":"node dist/server.js","test":"node test-mcp.js","build":"npm run clean && tsc && npm run make-executable","clean":"rm -rf dist","start":"node dist/server.js","prepare":"npm run build","inspector":"npx @modelcontextprotocol/inspector node dist/server.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node dist/server.js","docs:clean":"rm -rf docs/","docs:watch":"nodemon scripts/generate-docs.js","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server\n  npx dq-mcp-server\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'","docs:generate":"node scripts/generate-docs.js","prepublishOnly":"npm run test","make-executable":"node -e \"import('fs').then(fs => fs.chmodSync('dist/server.js', '755'))\""},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"repository":{"url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git","type":"git"},"_npmVersion":"11.8.0","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","directories":{},"_nodeVersion":"22.13.1","dependencies":{"zod":"^4.0.10","yaml":"^2.8.1","graphql":"^16.11.0","@faker-js/faker":"^9.0.0","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","typescript":"^5.6.3","@types/node":"^22.8.7"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.2.0_1773397064474_0.45981844834466346","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@democratize-quality/mcp-server","version":"1.2.1","main":"dist/server.js","bin":{"democratize-quality-mcp":"cli.js","dq-mcp-server":"cli.js"},"publishConfig":{"access":"public"},"scripts":{"build":"npm run clean && tsc && npm run make-executable","make-executable":"node -e \"import('fs').then(fs => fs.chmodSync('dist/server.js', '755'))\"","clean":"rm -rf dist","dev":"tsc --watch","start":"node dist/server.js","mcp":"node dist/server.js","mcp:debug":"MCP_FEATURES_ENABLEDEBUGMODE=true node dist/server.js","test":"node test-mcp.js","docs:generate":"node scripts/generate-docs.js","docs:watch":"nodemon scripts/generate-docs.js","docs:clean":"rm -rf docs/","inspector":"npx @modelcontextprotocol/inspector node dist/server.js","prepare":"npm run build","prepublishOnly":"npm run test","postinstall":"echo '\n🎯 Democratize Quality MCP Server installed successfully!\n\nQuick start:\n  npx @democratize-quality/mcp-server\n  npx dq-mcp-server\n\nDocumentation: https://github.com/democratize-quality/mcp-server#readme\n'"},"keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"author":{"name":"Raj Uppadhyay"},"license":"AGPL-3.0-or-later","description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","repository":{"type":"git","url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git"},"bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"mcp":{"server":{"command":"node","args":["dist/server.js"],"env":{"NODE_ENV":"production"}}},"dependencies":{"@faker-js/faker":"^9.0.0","@modelcontextprotocol/sdk":"^1.0.4","chrome-launcher":"^1.2.0","chrome-remote-interface":"^0.33.3","graphql":"^16.11.0","yaml":"^2.8.1","zod":"^4.0.10"},"devDependencies":{"@types/node":"^22.8.7","nodemon":"^3.1.10","typescript":"^5.6.3"},"engines":{"node":">=18.0.0"},"gitHead":"d398939ebae7c1ac781ced76e29dadfdec5cb64f","types":"./dist/server.d.ts","_id":"@democratize-quality/mcp-server@1.2.1","_nodeVersion":"22.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-l8Uju3ds+xFUpr/96KdeScnIgg5qLbBF9I+Iw7N/IveEUq+qEIgCljJNnAcY4d7lIESsuPeWHf0e2S8cOfcf0g==","shasum":"68f0ff50334e222c87b2cf32fc325205309fc177","tarball":"https://registry.npmjs.org/@democratize-quality/mcp-server/-/mcp-server-1.2.1.tgz","fileCount":71,"unpackedSize":942493,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDK38ZvkJOgzKeqqopzW74QIy8h3lBTPwP7Z8dbC1cZJAiADTKsRjjSfectbMmXpoYlTC6FIBhSZwZ89wxHJ8gOoNQ=="}]},"_npmUser":{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"},"directories":{},"maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_1.2.1_1773398295319_0.5186160859969295"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-28T10:54:05.755Z","modified":"2026-03-13T10:38:15.938Z","1.0.0":"2025-07-28T10:54:06.096Z","1.0.1":"2025-09-11T10:46:55.431Z","1.1.0":"2025-10-16T09:13:21.393Z","1.1.1":"2025-10-21T10:34:35.523Z","1.1.2":"2025-10-23T02:48:05.863Z","1.1.3":"2025-10-25T09:34:19.105Z","1.1.4":"2025-10-25T11:15:45.715Z","1.1.5":"2025-10-25T11:25:21.217Z","1.1.6":"2025-10-25T11:35:16.288Z","1.1.7":"2026-02-15T01:25:48.141Z","1.1.8":"2026-02-15T07:29:12.355Z","1.1.9":"2026-03-12T09:54:51.134Z","1.2.0":"2026-03-13T10:17:44.612Z","1.2.1":"2026-03-13T10:38:15.519Z"},"bugs":{"url":"https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues"},"author":{"name":"Raj Uppadhyay"},"license":"AGPL-3.0-or-later","homepage":"https://github.com/uppadhyayraj/democratize-quality-mcp-server#readme","keywords":["mcp","model-context-protocol","browser-automation","api-testing","quality-assurance","testing","democratize-quality","chrome-devtools","end-to-end-testing"],"repository":{"type":"git","url":"git+https://github.com/uppadhyayraj/democratize-quality-mcp-server.git"},"description":"MCP Server for democratizing quality through browser automation and comprehensive API testing capabilities","maintainers":[{"name":"uppadhyayraj","email":"uppadhyayraj@hotmail.com"}],"readme":"# 🎯 Democratize Quality MCP Server\n\n**Intelligent API Testing Made Simple** - A comprehensive Model Context Protocol (MCP) server that brings professional-grade API testing capabilities to everyone, from QA engineers to developers.\n\n> Transform your API testing workflow with AI-powered agents that plan, generate, and heal your tests automatically.\n\n---\n\n## 📦 Quick Installation\n\n### Option 1: Skills Installation (Recommended)\n\n**The fastest way to get started** - Install with intelligent testing skills that work across multiple AI coding tools:\n\n```bash\nnpx @democratize-quality/mcp-server@latest --agents\n```\n\n**What this does:**\n- ✅ Installs the MCP server\n- ✅ Sets up 4 AI-powered testing skills\n- ✅ Configures VS Code integration automatically\n- ✅ Creates project folders (`.agents/skills/`, `.github/skills/`, `.claude/skills/`, `.vscode/`)\n- ✅ Works with: GitHub Copilot, Codex CLI, Claude Code, Cursor, and 10+ other tools\n\n## 🎥 Video Tutorial\n\n[![Watch: API Test Skills Walkthrough](https://raw.githubusercontent.com/uppadhyayraj/pr-review-ai-agent/refs/heads/main/dq-api-test-agent.png)](https://www.youtube.com/watch?v=aEpdALTMCos)\n\n**[▶️ Watch the complete walkthrough](https://www.youtube.com/watch?v=aEpdALTMCos)** - Learn how to use the API Test Skills to build comprehensive test coverage for REST and GraphQL APIs.\n\n**One-Click Alternative:**\n\n[<img src=\"https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"Install in VS Code\">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522democratize-quality%2522%252C%2522type%2522%253A%2522stdio%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540democratize-quality%252Fmcp-server%2522%255D%252C%2522cwd%2522%253A%2522%2524%257BworkspaceFolder%257D%2522%252C%2522env%2522%253A%257B%2522NODE_ENV%2522%253A%2522production%2522%252C%2522OUTPUT_DIR%2522%253A%2522.%252Fapi-test-reports%2522%257D%257D) [<img alt=\"Install in VS Code Insiders\" src=\"https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5\">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522democratize-quality%2522%252C%2522type%2522%253A%2522stdio%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540democratize-quality%252Fmcp-server%2522%255D%252C%2522cwd%2522%253A%2522%2524%257BworkspaceFolder%257D%2522%252C%2522env%2522%253A%257B%2522NODE_ENV%2522%253A%2522production%2522%252C%2522OUTPUT_DIR%2522%253A%2522.%252Fapi-test-reports%2522%257D%257D)\n\n**Prerequisites:**\n- Node.js 14+ installed\n- One of these AI coding tools:\n  - GitHub Copilot (VS Code or CLI)\n  - Codex CLI (OpenAI)\n  - Claude Code (Anthropic)\n  - Cursor, Roo Code, or other Agent Skills-compatible tools\n- Active internet connection\n\n### Option 2: Manual Installation\n\n**For Claude Desktop or other MCP clients:**\n\nAdd to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"democratize-quality\": {\n      \"command\": \"npx\",\n      \"args\": [\"@democratize-quality/mcp-server\"],\n      \"env\": {\n        \"NODE_ENV\": \"production\",\n        \"OUTPUT_DIR\": \"./api-test-reports\"\n      }\n    }\n  }\n}\n```\n\n**Global installation option:**\n```bash\nnpm install -g @democratize-quality/mcp-server\n\n# Then use anywhere\ndemocratize-quality-mcp --help\n```\n\n### CLI Integration Options\n\n<details>\n<summary><b>🤖 Codex CLI (OpenAI)</b></summary>\n\n#### Using Codex CLI Commands\n\nAdd the MCP server using the Codex CLI:\n\n```bash\ncodex mcp add democratize-quality -- npx @democratize-quality/mcp-server\n```\n\nWith environment variables:\n\n```bash\ncodex mcp add democratize-quality \\\n  --env NODE_ENV=production \\\n  --env OUTPUT_DIR=./api-test-reports \\\n  -- npx @democratize-quality/mcp-server\n```\n\n#### Using config.toml\n\nAlternatively, edit `~/.codex/config.toml` (or `.codex/config.toml` for project-scoped configuration):\n\n```toml\n[mcp_servers.democratize-quality]\ncommand = \"npx\"\nargs = [\"@democratize-quality/mcp-server\"]\n\n[mcp_servers.democratize-quality.env]\nNODE_ENV = \"production\"\nOUTPUT_DIR = \"./api-test-reports\"\n```\n\n#### Verify Installation\n\nIn the Codex TUI, use `/mcp` to see your active MCP servers.\n\n📚 **Learn more:** [Codex MCP Documentation](https://developers.openai.com/codex/mcp)\n\n</details>\n\n<details>\n<summary><b>🐙 GitHub Copilot CLI</b></summary>\n\n#### Using Copilot CLI Commands\n\nAdd the MCP server using the Copilot CLI:\n\n```bash\n/mcp add democratize-quality stdio npx @democratize-quality/mcp-server\n```\n\n#### Using .copilot/mcp-config.json\n\nFor project-scoped configuration, create `.copilot/mcp-config.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"democratize-quality\": {\n      \"type\": \"local\",\n      \"command\": \"npx\",\n      \"args\": [\"@democratize-quality/mcp-server\"],\n      \"tools\": [\"*\"],\n      \"env\": {\n        \"NODE_ENV\": \"production\",\n        \"OUTPUT_DIR\": \"./api-test-reports\"\n      }\n    }\n  }\n}\n```\n\n#### Exclude Unnecessary Files\n\nAdd to your `.gitignore`:\n\n```gitignore\n.copilot/logs/\n.copilot/config.json\n```\n\n#### For DevContainers (Optional)\n\nConfigure the `XDG_CONFIG_HOME` environment variable to use project-scoped configuration:\n\n```bash\n# In postCreateCommand.sh or similar\nGH_CLI_CONFIG_DIR=\"/workspaces/your-repo\"\n\nif ! grep -q 'export XDG_CONFIG_HOME=' ~/.zshrc; then\n    echo \"export XDG_CONFIG_HOME=\\\"$GH_CLI_CONFIG_DIR\\\"\" >> ~/.zshrc\nfi\n```\n\n#### Verify Installation\n\nUse `/mcp show` to confirm the server is configured:\n\n```bash\n/mcp show\n```\n\n📚 **Learn more:** [Managing GitHub Copilot CLI MCP Server Configuration](https://dev.to/mikoshiba-kyu/managing-github-copilot-cli-mcp-server-configuration-in-your-repository-58i6)\n\n</details>\n\n<details>\n<summary><b>🔮 Claude Code (Anthropic)</b></summary>\n\n#### Using Claude Code CLI Commands\n\nAdd the MCP server using the Claude Code CLI:\n\n```bash\nclaude mcp add --transport stdio democratize-quality -- npx @democratize-quality/mcp-server\n```\n\nWith environment variables:\n\n```bash\nclaude mcp add --transport stdio \\\n  --env NODE_ENV=production \\\n  --env OUTPUT_DIR=./api-test-reports \\\n  democratize-quality -- npx @democratize-quality/mcp-server\n```\n\n#### Using .mcp.json (Project Scope)\n\nCreate `.mcp.json` in your project root for team-shared configuration:\n\n```bash\nclaude mcp add --scope project --transport stdio democratize-quality -- npx @democratize-quality/mcp-server\n```\n\nThis creates a `.mcp.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"democratize-quality\": {\n      \"command\": \"npx\",\n      \"args\": [\"@democratize-quality/mcp-server\"],\n      \"env\": {\n        \"NODE_ENV\": \"production\",\n        \"OUTPUT_DIR\": \"./api-test-reports\"\n      }\n    }\n  }\n}\n```\n\n#### Configuration Scopes\n\n- **Local scope** (default): `--scope local` - Personal configuration stored in `~/.claude.json`\n- **Project scope**: `--scope project` - Shared configuration in `.mcp.json` (checked into version control)\n- **User scope**: `--scope user` - Available across all your projects in `~/.claude.json`\n\n#### Managing Your Servers\n\n```bash\n# List all configured servers\nclaude mcp list\n\n# Get details for a specific server\nclaude mcp get democratize-quality\n\n# Remove a server\nclaude mcp remove democratize-quality\n\n# Check server status in Claude Code\n/mcp\n```\n\n#### Verify Installation\n\nIn Claude Code, use `/mcp` to see your active MCP servers and authenticate if needed.\n\n📚 **Learn more:** [Claude Code MCP Documentation](https://code.claude.com/docs/en/mcp#project-scope)\n\n</details>\n\n---\n\n## 🛠️ Available Tools\n\nThis MCP server provides **7 powerful tools** for comprehensive API testing:\n\n### 🤖 AI-Powered Testing Tools\n\n| Tool | Purpose | When to Use |\n|------|---------|-------------|\n| **`api_planner`** | Analyzes API schemas (OpenAPI/Swagger, GraphQL) and creates comprehensive test plans with realistic sample data | Starting a new API testing project, documenting API behavior, validating API endpoints |\n| **`api_generator`** | Generates executable tests (Jest, Playwright, Postman) from test plans using AI-powered code generation | Converting test plans to runnable code in TypeScript or JavaScript |\n| **`api_healer`** | Debugs and automatically fixes failing tests by analyzing errors and applying healing strategies | Tests break after API changes, schema updates, or authentication issues |\n| **`api_project_setup`** | Detects project configuration (framework and language) for smart test generation | Before using `api_generator` - auto-detects Playwright/Jest and TypeScript/JavaScript |\n\n### 🔧 Core API Testing Tools\n\n| Tool | Purpose | When to Use |\n|------|---------|-------------|\n| **`api_request`** | Executes HTTP requests with validation and request chaining | Making individual API calls, testing specific endpoints, chaining multiple requests |\n| **`api_session_status`** | Queries test session status and logs | Checking progress of test sequences, viewing request history |\n| **`api_session_report`** | Generates comprehensive HTML test reports | Creating shareable test documentation with detailed analytics |\n\n**Key Capabilities:**\n- ✅ **Smart Validation**: Automatic \"expected vs actual\" comparison with detailed failure messages\n- 🔗 **Request Chaining**: Extract data from one response and use in subsequent requests\n- 📊 **Session Tracking**: Monitor multi-step API workflows across multiple requests\n- 📈 **Visual Reports**: Interactive HTML reports with timing analysis and validation results\n- 🎯 **All HTTP Methods**: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD\n- 🔒 **Authentication**: Support for Bearer tokens, API keys, custom headers\n- 🎨 **Realistic Sample Data**: Auto-generates context-aware test data (names, emails, dates, etc.)\n- 🔍 **Optional Validation**: Validate endpoints by making actual API calls with response time metrics\n\n\n## 🌐 Agent Skills (Universal AI Capabilities)\n\nWhen you install with `--agents`, you get 4 intelligent testing skills that work across all major AI coding tools:\n\n### 1. 📋 /api-planning - The Strategist\n\n**What it does:** Analyzes your API and creates comprehensive test strategies\n\n**Best for:**\n- Starting new testing projects\n- Documenting API behavior\n- Creating test scenarios for complex workflows\n- Security and edge case planning\n\n**Example: Analyze a Real API**\n```\n1. In your AI coding tool, type /api-planning or mention API planning in your prompt\n\n2. Analyze this API and create a comprehensive test plan: \nhttps://fakerestapi.azurewebsites.net/swagger/v1/swagger.json\n\n3. Skill: I'll call the API planner once to analyze the OpenAPI schema at the provided URL and generate a comprehensive test plan with realistic sample data plus live validation of 5 endpoints; expected outcome: a saved test plan in ./api-test-reports/fakerest-test-plan.md and a validation summary. I'll run the planner now. \n\n4. When prompted, allow the tool call \"Run api_planner democratize-quality (MCP Server)\"\n\n```\n\n**What you get:**\n- Comprehensive markdown test plan with 40+ test scenarios\n- Realistic sample requests for each endpoint\n- Expected response structures\n- Error scenarios and edge cases\n- Ready for test generation\n\n### 2. 🔧 /test-generation - The Builder\n\n**What it does:** Converts test plans into executable code\n\n**Best for:**\n- Generating Jest test suites\n- Creating Playwright automation scripts\n- Building Postman collections\n\n**Example: Generate Tests from Plan**\n```\n1. Once you have the test plan, type /test-generation or mention test generation\n   Open the test plan MD file (so it's in context) and enter:\n   Create Playwright tests in TypeScript for the Books API section\n\n2. Skill: I'm going to detect the project's test framework/language (required first step) so I can generate Playwright TypeScript tests in the correct layout; expected outcome: detection result with suggested framework/language. Then ask you to allow the another tool \"Run api_project_setup democratize-quality (MCP Server)\" for capturing the project info e.g. if you have an empty project then it will ask to select the framework/language otherwise if your project is playwright typescript it will create playwright test(s) accordingly.\n\n3. After you answer, it invokes tool \"Run api_generator democratize-quality (MCP Server)\" which will actually generate your tests, click \"Allow\"\n\nCreated files:\n✅ With Books CRUD operations\n✅ Show on screen instructions for running the tests\n\nTests include:\n- ✅ GET /api/v1/Books - List all books\n- ✅ GET /api/v1/Books/{id} - Get book by ID\n- ✅ POST /api/v1/Books - Create new book\n- ✅ PUT /api/v1/Books/{id} - Update book\n- ✅ DELETE /api/v1/Books/{id} - Delete book\n- ✅ Error handling for invalid IDs\n- ✅ Validation for required fields\n\n```\n\n**Example: Generate Postman Collection**\n```\nYou: /test-generation create a Postman collection from the entire test plan\n\nSkill: Creating Postman collection for Fake REST API...\n\nGenerated:\n✅ postman/FakeRestAPI.postman_collection.json\n✅ postman/environment.json (with base URL variables)\n\nSample Collection includes:\n- 📁 Books (5 requests)\n- 📁 Users (4 requests)\n- 📁 Authors (4 requests)\n- 📁 Activities (3 requests)\n- 📁 CoverPhotos (4 requests)\n\nImport into Postman and start testing!\n```\n\n### 3. ⚡ /test-execution - The Runner\n\n**What it does:** Executes API tests directly from test plans without code\n\n**Best for:**\n- Running tests immediately after planning\n- Quick API validation without writing code\n- Executing specific test sections\n- Generating comprehensive HTML test reports\n\n**Example: Execute Tests from Plan**\n```\n1. After creating a test plan, type /test-execution or mention test execution\n   \nYou: Execute tests from section 1 of the test plan\n\n2. Skill: I'll execute the tests from section 1 of your test plan using the api_request tool with a unique session ID. After execution, I'll generate an HTML report with all results.\n\n3. When prompted, allow the tool call \"Run api_request democratize-quality (MCP Server)\"\n\nExecution Results:\n✅ GET /api/v1/Books - List all books (200 OK, 145ms)\n✅ GET /api/v1/Books/1 - Get book by ID (200 OK, 98ms)\n✅ POST /api/v1/Books - Create new book (201 Created, 203ms)\n✅ PUT /api/v1/Books/1 - Update book (200 OK, 156ms)\n✅ DELETE /api/v1/Books/1 - Delete book (204 No Content, 87ms)\n\nTest Summary:\n- Total: 5 tests\n- Passed: 5 (100%)\n- Failed: 0 (0%)\n- Total Time: 689ms\n\n📊 HTML Report: ./api-test-reports/test-execution-1739597400000-report.html\n```\n\n**Example: Execute Full Test Plan**\n```\nYou: /test-execution run all tests from the test plan and generate a report\n\nSkill: Executing entire test plan...\n\nProgress:\n📋 Section 1: Books API (5 tests)\n  ✅ GET /api/v1/Books\n  ✅ GET /api/v1/Books/{id}\n  ✅ POST /api/v1/Books\n  ✅ PUT /api/v1/Books/{id}\n  ✅ DELETE /api/v1/Books/{id}\n\n📋 Section 2: Authors API (4 tests)\n  ✅ GET /api/v1/Authors\n  ✅ GET /api/v1/Authors/{id}\n  ✅ POST /api/v1/Authors\n  ✅ DELETE /api/v1/Authors/{id}\n\n📋 Section 3: Users API (4 tests)  \n  ✅ GET /api/v1/Users\n  ✅ POST /api/v1/Users\n  ❌ PUT /api/v1/Users/{id} - 404 Not Found\n  ✅ DELETE /api/v1/Users/{id}\n\nFinal Summary:\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nTotal: 13 tests\nPassed: 12 (92.3%)\nFailed: 1 (7.7%)\nTotal Time: 1.8s\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n📊 Comprehensive HTML Report Generated:\n./api-test-reports/full-plan-execution-report.html\n\nOpen in browser for:\n- Detailed request/response logs\n- Timing analysis and charts\n- Visual pass/fail indicators\n- Validation results\n```\n\n**Example: Execute with CRUD Workflow**\n```\nYou: /test-execution run the Books CRUD tests with request chaining\n\nSkill: Executing CRUD workflow with request chaining...\n\nStep 1: CREATE book\n  ✅ POST /api/v1/Books\n  📌 Extracted: bookId = 42\n\nStep 2: READ created book\n  ✅ GET /api/v1/Books/42\n  📌 Verified: Book exists with correct data\n\nStep 3: UPDATE book\n  ✅ PUT /api/v1/Books/42\n  📌 Verified: Book updated successfully\n\nStep 4: DELETE book\n  ✅ DELETE /api/v1/Books/42\n  📌 Verified: Book deleted (204 No Content)\n\nWorkflow Complete: All 4 operations successful! ✅\n\n📊 Report: ./api-test-reports/crud-workflow-report.html\n```\n\n### 4. 🔬 /test-healing - The Fixer\n\n**What it does:** Automatically diagnoses and repairs failing tests\n\n**Best for:**\n- Fixing broken tests after API changes\n- Updating endpoint URLs\n- Resolving authentication issues\n- Schema mismatch corrections\n\n**Example: Fix Failing Tests**\n```\nYou: /test-healing the Books tests are failing with 404 errors. \nPlease analyze and fix them.\n\nSkill: Analyzing test failures in tests/books.spec.ts...\n\nIssues found:\n❌ Endpoint changed: /api/Books → /api/v1/Books\n❌ Response schema updated: added \"pageCount\" field\n❌ ID format changed: number → string\n\nApplying fixes:\n✅ Updated all endpoint URLs to include /v1/ prefix\n✅ Updated response assertions to include pageCount\n✅ Fixed ID type in test data (42 → \"42\")\n✅ Backed up original file to tests/books.spec.ts.backup\n\nRe-running tests... ✅ All 15 tests now passing!\n```\n\n**Example: Fix Schema Mismatches**\n```\nYou: /test-healing fix assertion errors in tests/users.spec.ts\n\nSkill: Analyzing assertion failures...\n\nFound 3 schema mismatches:\n❌ Expected userName, API returns username (camelCase issue)\n❌ Password field removed from response (security update)\n❌ New field added: profileImageUrl\n\nHealing actions:\n✅ Updated assertions: userName → username\n✅ Removed password field validation\n✅ Added profileImageUrl to expected response\n✅ Updated TypeScript interfaces\n\nTests healed successfully! ✅ 12/12 passing\n```\n\n---\n\n## 💡 Usage Examples - E2E Testing Scenarios\n\n### Scenario 1: Testing the Fake REST API (Complete Workflow)\n\n**Real-world example using: https://fakerestapi.azurewebsites.net**\n\n**Step 1: Plan your tests**\n```\n/api-planning analyze the OpenAPI spec at \nhttps://fakerestapi.azurewebsites.net/swagger/v1/swagger.json \nand create a comprehensive test plan focusing on Books and Authors endpoints\n```\n\n**What happens:**\n- ✅ Skill analyzes the Fake REST API schema\n- ✅ Identifies 5 resource types (Books, Authors, Users, Activities, CoverPhotos)\n- ✅ Creates 40+ test scenarios covering:\n  - Happy paths (GET all books, GET book by ID, CREATE book)\n  - Error cases (404 for invalid IDs, 400 for bad data)\n  - Edge cases (empty lists, ID boundaries)\n  - Data validation (response schema checks)\n- ✅ Generates realistic sample data:\n  ```json\n  {\n    \"id\": 1,\n    \"title\": \"The Great Gatsby\",\n    \"description\": \"A classic American novel\",\n    \"pageCount\": 180,\n    \"excerpt\": \"In my younger and more vulnerable years...\",\n    \"publishDate\": \"1925-04-10T00:00:00Z\"\n  }\n  ```\n\n**Step 2: Generate executable tests**\n```\n/test-generation create Playwright tests in TypeScript from the test plan, \nfocusing on the Books API section\n```\n\n**What you get:**\n- `tests/books.spec.ts` - Complete Books CRUD test suite\n  ```typescript\n  import { test, expect } from '@playwright/test';\n  \n  test.describe('Books API', () => {\n    test('GET /api/v1/Books - should return all books', async ({ request }) => {\n      const response = await request.get('https://fakerestapi.azurewebsites.net/api/v1/Books');\n      expect(response.ok()).toBeTruthy();\n      expect(response.status()).toBe(200);\n      const books = await response.json();\n      expect(Array.isArray(books)).toBeTruthy();\n    });\n    \n    test('POST /api/v1/Books - should create a new book', async ({ request }) => {\n      const newBook = {\n        id: 201,\n        title: \"Test Book\",\n        pageCount: 350\n      };\n      const response = await request.post('https://fakerestapi.azurewebsites.net/api/v1/Books', {\n        data: newBook\n      });\n      expect(response.status()).toBe(200);\n    });\n  });\n  ```\n\n**Step 3: Run and heal tests**\n```\n# Run tests\nnpx playwright test tests/books.spec.ts\n\n# If any tests fail due to API changes:\n/test-healing fix the failing tests in tests/books.spec.ts\n```\n\n**What healer fixes:**\n- ✅ Endpoint URL updates (if API version changes)\n- ✅ Response schema corrections (new/removed fields)\n- ✅ Data type adjustments (string vs number IDs)\n- ✅ Status code updates\n\n### Scenario 2: Quick API Documentation with Postman\n\n**Goal:** Generate a ready-to-use Postman collection for the Fake REST API\n\n```\nStep 1:\n/api-planning create test plan from \nhttps://fakerestapi.azurewebsites.net/swagger/v1/swagger.json\nwith validation enabled to test actual endpoints\n\nStep 2:\n/test-generation create Postman collection from the test plan \nwith all endpoints and example requests\n\nStep 3: \nImport the generated collection into Postman and start testing!\n```\n\n**What you get:**\n- 📦 `postman/FakeRestAPI.postman_collection.json` - Complete collection\n- 🌍 `postman/environment.json` - Environment variables\n- ✅ 20+ pre-configured requests across all resource types\n- 📝 Example request bodies with realistic data\n- ✔️ Response validation tests included\n\n**Result:** Professional Postman collection ready to share with your team\n\n### Scenario 3: Quick API Validation Without Code\n\n**Goal:** Execute API tests immediately without generating code files\n\n```\nStep 1:\n/api-planning create test plan from \nhttps://fakerestapi.azurewebsites.net/swagger/v1/swagger.json\nfocusing on Books and Users endpoints\n\nStep 2:\n/test-execution run all tests from the test plan and generate HTML report\n\nStep 3:\nOpen the generated HTML report to see detailed results!\n```\n\n**What you get:**\n- ⚡ Instant test execution without writing code\n- 📊 Interactive HTML report with:\n  - Pass/fail indicators for each endpoint\n  - Request/response details\n  - Response timing analysis\n  - Visual charts and statistics\n- ✅ Quick validation of API before writing automated tests\n- 🔄 Easy to re-run for regression testing\n\n**Use cases:**\n- Quick API health checks\n- Validating API after deployments\n- API exploration and documentation\n- Testing APIs before committing to test code\n- Sharing test results with non-technical stakeholders\n\n**Alternative workflow with specific sections:**\n```\nYou: /test-execution execute section 1 (Books API) from the test plan\n\nResult:\n✅ 5/5 tests passed\n📊 Report: ./api-test-reports/books-section-report.html\n```\n\n---\n\n## 🔧 Calling Individual Tools\n\n### When to Use Individual Tools\n\n**Use skills (/api-planning, /test-generation, /test-execution, /test-healing) when:**\n- You want AI assistance and recommendations\n- You're working on complex, multi-step workflows\n- You need explanations and best practices\n\n**Use individual tools when:****\n- You need precise control over parameters\n- You're automating tests in CI/CD\n- You're integrating with other tools\n- You want to script repetitive tasks\n\n### Tool 1: `api_planner`\n\n**Purpose:** Analyze API schemas and generate comprehensive test plans with realistic sample data\n\n**Basic usage:**\n```javascript\n// In Claude Desktop or MCP client\n{\n  \"tool\": \"api_planner\",\n  \"parameters\": {\n    \"schemaUrl\": \"https://api.example.com/swagger.json\",\n    \"schemaType\": \"openapi\",\n    \"outputPath\": \"./test-plan.md\"\n  }\n}\n```\n\n**With endpoint validation:**\n```javascript\n{\n  \"tool\": \"api_planner\",\n  \"parameters\": {\n    \"schemaUrl\": \"https://petstore3.swagger.io/api/v3/openapi.json\",\n    \"schemaType\": \"openapi\",\n    \"outputPath\": \"./api-test-plan.md\",\n    \"includeAuth\": true,\n    \"includeSecurity\": true,\n    \"includeErrorHandling\": true,\n    \"testCategories\": [\"functional\", \"security\", \"edge-cases\"],\n    \"validateEndpoints\": true,\n    \"validationSampleSize\": 3,\n    \"validationTimeout\": 5000\n  }\n}\n```\n\n**Parameters explained:**\n- `schemaUrl` - URL to fetch API schema (OpenAPI/Swagger, GraphQL introspection endpoint)\n- `schemaContent` - Direct schema content as JSON/YAML string (alternative to schemaUrl)\n- `schemaType` - Type of schema: `openapi`, `swagger`, `graphql`, `auto` (default: auto)\n- `apiBaseUrl` - Base URL of the API (overrides schema baseUrl if provided)\n- `includeAuth` - Include authentication testing scenarios (default: true)\n- `includeSecurity` - Include security testing scenarios (default: true)\n- `includeErrorHandling` - Include error handling scenarios (default: true)\n- `outputPath` - File path to save test plan (default: ./api-test-plan.md)\n- `testCategories` - Types of tests: `functional`, `security`, `performance`, `integration`, `edge-cases`\n- `validateEndpoints` - Make actual API calls to validate endpoints (default: false)\n- `validationSampleSize` - Number of endpoints to validate, use -1 for all (default: 3)\n- `validationTimeout` - Timeout per validation request in ms (default: 5000)\n\n### Tool 2: `api_generator`\n\n**Purpose:** Generate executable tests (Playwright, Jest, Postman) from test plans using AI\n\n**Generate Playwright tests:**\n```javascript\n{\n  \"tool\": \"api_generator\",\n  \"parameters\": {\n    \"testPlanPath\": \"./test-plan.md\",\n    \"outputFormat\": \"playwright\",\n    \"outputDir\": \"./tests\",\n    \"includeSetup\": true,\n    \"language\": \"typescript\"\n  }\n}\n```\n\n**Generate Jest tests:**\n```javascript\n{\n  \"tool\": \"api_generator\",\n  \"parameters\": {\n    \"testPlanPath\": \"./test-plan.md\",\n    \"outputFormat\": \"jest\",\n    \"outputDir\": \"./tests\",\n    \"testFramework\": \"jest\",\n    \"baseUrl\": \"https://api.example.com\"\n  }\n}\n```\n\n**Generate Postman collection:**\n```javascript\n{\n  \"tool\": \"api_generator\",\n  \"parameters\": {\n    \"testPlanPath\": \"./test-plan.md\",\n    \"outputFormat\": \"postman\",\n    \"outputDir\": \"./postman\",\n    \"includeAuth\": true\n  }\n}\n```\n\n**Generate all formats:**\n```javascript\n{\n  \"tool\": \"api_generator\",\n  \"parameters\": {\n    \"testPlanPath\": \"./test-plan.md\",\n    \"outputFormat\": \"all\",\n    \"outputDir\": \"./tests\",\n    \"language\": \"typescript\"\n  }\n}\n```\n\n**Parameters explained:**\n- `testPlanPath` - Path to test plan markdown file\n- `testPlanContent` - Direct test plan content as markdown (alternative to testPlanPath)\n- `outputFormat` - Format: `playwright`, `postman`, `jest`, `all` (default: all)\n- `outputDir` - Directory to save generated tests (default: ./tests)\n- `sessionId` - Session ID for tracking generated tests\n- `includeAuth` - Include authentication setup (default: true)\n- `includeSetup` - Include test setup/teardown code (default: true)\n- `testFramework` - Framework: `jest`, `mocha`, `playwright-test`\n- `baseUrl` - Base URL for API (optional)\n- `language` - Language: `javascript`, `typescript` (default: typescript)\n\n### Tool 3: `api_healer`\n\n**Purpose:** Debug and automatically fix failing API tests\n\n**Fix specific test file:**\n```javascript\n{\n  \"tool\": \"api_healer\",\n  \"parameters\": {\n    \"testPath\": \"./tests/auth.test.js\",\n    \"testType\": \"auto\",\n    \"autoFix\": true,\n    \"backupOriginal\": true\n  }\n}\n```\n\n**Fix multiple test files:**\n```javascript\n{\n  \"tool\": \"api_healer\",\n  \"parameters\": {\n    \"testFiles\": [\"./tests/auth.test.js\", \"./tests/users.test.js\"],\n    \"testType\": \"playwright\",\n    \"healingStrategies\": [\"schema-update\", \"endpoint-fix\", \"auth-repair\"]\n  }\n}\n```\n\n**Analysis only (no fixes):**\n```javascript\n{\n  \"tool\": \"api_healer\",\n  \"parameters\": {\n    \"testPath\": \"./tests/api.test.js\",\n    \"analysisOnly\": true\n  }\n}\n```\n\n**Parameters explained:**\n- `testPath` - Path to a specific test file to heal\n- `testFiles` - Array of test file paths (alternative to testPath)\n- `testType` - Type: `jest`, `playwright`, `postman`, `auto` (default: auto)\n- `sessionId` - Session ID for tracking healing process\n- `maxHealingAttempts` - Max attempts per test (default: 3)\n- `autoFix` - Automatically apply fixes (default: true)\n- `backupOriginal` - Create backup files (default: true)\n- `analysisOnly` - Only analyze without fixing (default: false)\n- `healingStrategies` - Specific strategies: `schema-update`, `endpoint-fix`, `auth-repair`, `data-correction`, `assertion-update`\n\n### Tool 4: `api_project_setup`\n\n**Purpose:** Detect project configuration for test generation\n\n**Detect project configuration:**\n```javascript\n{\n  \"tool\": \"api_project_setup\",\n  \"parameters\": {\n    \"outputDir\": \"./tests\"\n  }\n}\n```\n\n**What it does:**\n- Scans for `playwright.config.ts/js`, `jest.config.ts/js`, `tsconfig.json`\n- Auto-detects framework (Playwright/Jest) and language (TypeScript/JavaScript)\n- Returns configuration or prompts user if ambiguous\n- **Must be called BEFORE `api_generator`** for optimal test generation\n\n**Response (when auto-detected):**\n```json\n{\n  \"success\": true,\n  \"autoDetected\": true,\n  \"config\": {\n    \"framework\": \"playwright\",\n    \"language\": \"typescript\",\n    \"hasTypeScript\": true,\n    \"hasPlaywrightConfig\": true,\n    \"configFiles\": [\"playwright.config.ts\", \"tsconfig.json\"]\n  },\n  \"nextStep\": \"Call api_generator with outputFormat: 'playwright' and language: 'typescript'\"\n}\n```\n\n**Response (when user input needed):**\n```json\n{\n  \"success\": true,\n  \"needsUserInput\": true,\n  \"prompts\": [\n    {\n      \"name\": \"framework\",\n      \"question\": \"Which test framework would you like to use?\",\n      \"choices\": [\"playwright\", \"jest\", \"postman\", \"all\"]\n    },\n    {\n      \"name\": \"language\",\n      \"question\": \"Which language would you like to use?\",\n      \"choices\": [\"typescript\", \"javascript\"]\n    }\n  ]\n}\n```\n\n**Parameters:**\n- `outputDir` - Directory for tests (default: `./tests`). Used to locate project root\n- `promptUser` - Force user prompts even if config detected (default: false)\n\n### Tool 5: `api_request`\n\n**Purpose:** Execute individual HTTP requests with validation\n\n**Simple GET request:**\n```javascript\n{\n  \"tool\": \"api_request\",\n  \"parameters\": {\n    \"method\": \"GET\",\n    \"url\": \"https://api.example.com/users/1\",\n    \"expect\": {\n      \"status\": 200,\n      \"contentType\": \"application/json\"\n    }\n  }\n}\n```\n\n**POST with authentication:**\n```javascript\n{\n  \"tool\": \"api_request\",\n  \"parameters\": {\n    \"method\": \"POST\",\n    \"url\": \"https://api.example.com/users\",\n    \"headers\": {\n      \"Authorization\": \"Bearer your-token-here\",\n      \"Content-Type\": \"application/json\"\n    },\n    \"data\": {\n      \"name\": \"John Doe\",\n      \"email\": \"john@example.com\"\n    },\n    \"expect\": {\n      \"status\": 201,\n      \"body\": {\n        \"name\": \"John Doe\",\n        \"email\": \"john@example.com\"\n      }\n    }\n  }\n}\n```\n\n**Request chaining (use response in next request):**\n```javascript\n{\n  \"tool\": \"api_request\",\n  \"parameters\": {\n    \"sessionId\": \"user-workflow\",\n    \"chain\": [\n      {\n        \"name\": \"create_user\",\n        \"method\": \"POST\",\n        \"url\": \"https://api.example.com/users\",\n        \"data\": { \"name\": \"Jane Doe\" },\n        \"extract\": { \"userId\": \"id\" }\n      },\n      {\n        \"name\": \"get_user\",\n        \"method\": \"GET\",\n        \"url\": \"https://api.example.com/users/{{ create_user.userId }}\",\n        \"expect\": { \"status\": 200 }\n      }\n    ]\n  }\n}\n```\n\n**Parameters explained:**\n- `method` - HTTP method (GET, POST, PUT, DELETE, PATCH, etc.)\n- `url` - Target endpoint\n- `headers` - Custom headers (authentication, content-type)\n- `data` - Request body for POST/PUT/PATCH\n- `expect` - Validation rules (status, headers, body)\n- `sessionId` - Group related requests\n- `chain` - Execute multiple requests in sequence\n\n### Tool 6: `api_session_status`\n\n**Purpose:** Check status of API test sessions\n\n**Check session progress:**\n```javascript\n{\n  \"tool\": \"api_session_status\",\n  \"parameters\": {\n    \"sessionId\": \"user-workflow\"\n  }\n}\n```\n\n**Response example:**\n```json\n{\n  \"sessionId\": \"user-workflow\",\n  \"totalRequests\": 5,\n  \"successfulRequests\": 4,\n  \"failedRequests\": 1,\n  \"status\": \"completed\",\n  \"startTime\": \"2025-10-23T10:00:00Z\",\n  \"endTime\": \"2025-10-23T10:05:00Z\",\n  \"duration\": \"5 minutes\"\n}\n```\n\n### Tool 7: `api_session_report`\n\n**Purpose:** Generate comprehensive HTML test reports\n\n**Generate report:**\n```javascript\n{\n  \"tool\": \"api_session_report\",\n  \"parameters\": {\n    \"sessionId\": \"user-workflow\",\n    \"outputPath\": \"./reports/user-workflow-report.html\",\n    \"includeCharts\": true\n  }\n}\n```\n\n**What you get:**\n- 📊 Visual charts (success rate, response times)\n- 📋 Request/response details\n- ✅ Validation results (pass/fail with diffs)\n- 🕐 Timing information\n- 📸 Screenshots (if applicable)\n\n---\n---\n\n## ⚙️ Configuration\n\n### Environment Variables\n\n```bash\nNODE_ENV=production              # Run in production mode (default)\nOUTPUT_DIR=./api-test-reports    # Where to save reports (default)\nMCP_FEATURES_ENABLEDEBUGMODE=true # Enable detailed logging\n```\n\n### Command-Line Options\n\n```bash\nnpx @democratize-quality/mcp-server [options]\n\nOptions:\n  --help, -h        Show help information\n  --version, -v     Display version number\n  --agents          Install AI testing agents for GitHub Copilot\n  --debug           Enable debug mode with detailed logs\n  --verbose         Show detailed installation output\n  --port <number>   Specify server port (if needed)\n```\n\n### VS Code MCP Configuration\n\nAfter running `--agents`, this file is created at `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"democratize-quality\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"@democratize-quality/mcp-server\"],\n      \"cwd\": \"${workspaceFolder}\",\n      \"env\": {\n        \"NODE_ENV\": \"production\",\n        \"OUTPUT_DIR\": \"./api-test-reports\"\n      }\n    }\n  }\n}\n```\n\n### Output Directory Locations\n\n- **VS Code/Local Projects**: `./api-test-reports` in your project\n- **Claude Desktop**: `~/.mcp-browser-control` in your home directory\n- **Custom Location**: Set `OUTPUT_DIR` environment variable\n\n---\n\n---\n\n## � Troubleshooting\n\n### Agent Installation Issues\n\n<details>\n<summary><strong>Agents not appearing in GitHub Copilot Chat</strong></summary>\n\n**Solution:**\n1. Restart VS Code completely\n2. Verify `.vscode/mcp.json` exists in your project root\n3. Check that GitHub Copilot extension is installed and active\n4. Reload the workspace: `Cmd/Ctrl + Shift + P` → \"Developer: Reload Window\"\n\n</details>\n\n<details>\n<summary><strong>\"democratize-quality server not found\" error</strong></summary>\n\n**Solution:**\n1. Test the server: `npx @democratize-quality/mcp-server --help`\n2. Check `.vscode/mcp.json` configuration\n3. Try reinstalling skills: `npx @democratize-quality/mcp-server --agents`\n4. Ensure Node.js 14+ is installed\n\n</details>\n\n<details>\n<summary><strong>Installation overwrites existing MCP config</strong></summary>\n\n**Solution:**\n- Automatic backups are created: `.vscode/mcp.json.backup.{timestamp}`\n- The installer safely merges configurations\n- To restore: Copy backup file back to `mcp.json`\n\n</details>\n\n<details>\n<summary><strong>Permission errors during installation</strong></summary>\n\n**Solution:**\n1. Check directory permissions for `.github/` and `.vscode/`\n2. Run with elevated permissions if needed: `sudo npx @democratize-quality/mcp-server --agents`\n3. Ensure write access to project directory\n\n</details>\n\n### Common Runtime Issues\n\n<details>\n<summary><strong>API test reports not appearing in expected location</strong></summary>\n\n**Solution:**\n- Check the configured `OUTPUT_DIR` environment variable\n- For Claude Desktop: Look in `~/.mcp-browser-control/`\n- For VS Code: Look in `./api-test-reports/` in your project\n- Set custom location: `OUTPUT_DIR=/your/custom/path`\n\n</details>\n\n<details>\n<summary><strong>Server not starting in Claude Desktop</strong></summary>\n\n**Solution:**\n1. Test package availability: `npx @democratize-quality/mcp-server --help`\n2. Check Claude Desktop logs for detailed errors\n3. Verify configuration in `claude_desktop_config.json`\n4. Try running in terminal first to isolate issues\n\n</details>\n\n<details>\n<summary><strong>API validation failures not showing details</strong></summary>\n\n**Solution:**\n- Enhanced validation automatically shows \"expected vs actual\"\n- Check generated HTML reports for detailed comparisons\n- Enable debug mode: `MCP_FEATURES_ENABLEDEBUGMODE=true`\n- Review session logs with `api_session_status` tool\n\n</details>\n\n### Getting Help\n\n**Enable debug mode for detailed logging:**\n```bash\n# CLI\nnpx @democratize-quality/mcp-server --debug\n\n# Environment variable\nMCP_FEATURES_ENABLEDEBUGMODE=true node mcpServer.js\n```\n\n**Log levels:**\n- **Production**: Essential startup messages and errors only\n- **Debug**: Detailed request/response logs and validation details\n\n---\n\n## � Additional Resources\n\n### Documentation\n\n- 📖 [Getting Started Guide](docs/getting-started.md) - Complete setup walkthrough\n- 🔧 [Tool Reference](docs/api/tool-reference.md) - Detailed tool documentation\n- 🎯 [API Tools Usage Guide](docs/api_tools_usage.md) - Advanced examples and patterns\n- 🔷 [GraphQL Support Guide](GRAPHQL-SUPPORT.md) - GraphQL testing capabilities and features\n- �‍💻 [Developer Guide](docs/development/adding-tools.md) - Extend the server\n- ⚙️ [Configuration Guide](docs/development/configuration.md) - Advanced settings\n- � [Examples](docs/examples/) - Real-world usage examples\n\n### Quick Links\n\n| Resource | Description |\n|----------|-------------|\n| [GitHub Repository](https://github.com/uppadhyayraj/democratize-quality-mcp-server) | Source code and issues |\n| [Discussions](https://github.com/uppadhyayraj/democratize-quality-mcp-server/discussions) | Community Q&A |\n| [Issue Tracker](https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues) | Bug reports and feature requests |\n| [NPM Package](https://www.npmjs.com/package/@democratize-quality/mcp-server) | Package information |\n\n---\n\n## 🏗️ Architecture\n\n### Project Structure\n\n```\ndemocratize-quality-mcp-server/\n├── src/\n│   ├── tools/\n│   │   ├── api/              # API testing tools\n│   │   │   ├── api-planner.js\n│   │   │   ├── api-generator.js\n│   │   │   ├── api-healer.js\n│   │   │   ├── api-project-setup.js\n│   │   │   ├── api-request.js\n│   │   │   ├── api-session-status.js\n│   │   │   └── api-session-report.js\n│   │   └── base/             # Tool framework\n│   ├── skills/               # Agent Skills definitions\n│   │   ├── api-planning/\n│   │   │   └── SKILL.md\n│   │   ├── test-generation/\n│   │   │   └── SKILL.md\n│   │   └── test-healing/\n│   │       └── SKILL.md\n│   ├── config/               # Configuration management\n│   └── utils/                # Utility functions\n├── docs/                     # Documentation\n├── mcpServer.js             # Main MCP server\n└── cli.js                   # Command-line interface\n```\n\n### Key Features\n\n- **🔍 Automatic Tool Discovery**: Tools are automatically loaded and registered\n- **⚙️ Configuration System**: Environment-based config with sensible defaults\n- **🛡️ Error Handling**: Comprehensive validation and detailed error reporting\n- **📊 Session Management**: Track and manage multi-step API test workflows\n\n---\n\n## 🔒 Security Considerations\n\n### Security Posture\n\n- **✅ API-Only Mode**: Enabled by default for secure deployments\n- **✅ Standard HTTP Libraries**: All requests use trusted Node.js libraries\n- **✅ No File System Access**: API tools only write to configured output directory\n- **✅ No Browser Automation**: No browser processes in API-only mode\n\n### Production Deployment Best Practices\n\n```json\n{\n  \"mcpServers\": {\n    \"democratize-quality\": {\n      \"command\": \"npx\",\n      \"args\": [\"@democratize-quality/mcp-server\"],\n      \"env\": {\n        \"NODE_ENV\": \"production\",\n        \"OUTPUT_DIR\": \"~/api-test-reports\"\n      }\n    }\n  }\n}\n```\n\n### Security Recommendations\n\n1. **📁 Secure Output Directory**: Set appropriate permissions on report directories\n2. **🔄 Regular Updates**: Keep the package updated for security patches\n3. **🌍 Environment Separation**: Use different configs for dev vs production\n4. **📊 Monitoring**: Enable debug mode during initial deployment to monitor usage\n5. **� API Keys**: Never commit API keys or tokens to version control\n6. **🌐 Network Security**: Use HTTPS endpoints for production API testing\n\n---\n\n## 👨‍💻 Development & Contributing\n\n### Adding New Tools\n\n1. Create tool file in `src/tools/api/`\n2. Extend `ToolBase` class\n3. Define tool schema and implementation\n4. Tools are automatically discovered!\n\n**Example tool structure:**\n```javascript\nconst ToolBase = require('../base/ToolBase');\n\nclass MyApiTool extends ToolBase {\n  static definition = {\n    name: \"my_api_tool\",\n    description: \"Performs custom API testing operations\",\n    input_schema: {\n      type: \"object\",\n      properties: {\n        endpoint: { type: \"string\", description: \"API endpoint URL\" }\n      },\n      required: [\"endpoint\"]\n    }\n  };\n\n  async execute(parameters) {\n    // Implementation\n    return {\n      success: true,\n      data: { /* results */ }\n    };\n  }\n}\n\nmodule.exports = MyApiTool;\n```\n\n### Running Tests\n\n```bash\n# Run test suite\nnpm test\n\n# Run MCP inspector for development\nnpm run inspector\n\n# Start server in debug mode\nnpm run dev\n```\n\n### Contributing Guidelines\n\n1. 🍴 Fork the repository\n2. 🌿 Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. ✅ Add tests for your changes\n4. 📝 Update documentation\n5. 🔍 Ensure tests pass (`npm test`)\n6. 📤 Submit a pull request\n\n**What to include in PRs:**\n- Clear description of changes\n- Test coverage for new features\n- Updated documentation\n- Examples of usage (if applicable)\n\n---\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).\n\nCopyright (C) 2025 Democratize Quality\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU Affero General Public License as published by the Free \nSoftware Foundation, either version 3 of the License, or (at your option) any \nlater version.\n\nIf you modify this software and run it as a network service, you must make your \nmodified source code available to users of that service under the same license.\n\nSee the [LICENSE](LICENSE) file for the full license text, or visit  \nhttps://www.gnu.org/licenses/agpl-3.0.html\n\n---\n\n## �🙏 Acknowledgments\n\nBuilt with the [Model Context Protocol](https://modelcontextprotocol.io/) framework.\n\nSpecial thanks to the MCP community and all contributors!\n\n---\n\n<div align=\"center\">\n\n**Ready to democratize quality through intelligent API testing!** 🎯\n\nMade with ❤️ by [Raj Uppadhyay](https://github.com/uppadhyayraj)\n\n[⭐ Star on GitHub](https://github.com/uppadhyayraj/democratize-quality-mcp-server) • [📦 View on NPM](https://www.npmjs.com/package/@democratize-quality/mcp-server) • [🐛 Report Bug](https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues) • [💡 Request Feature](https://github.com/uppadhyayraj/democratize-quality-mcp-server/issues)\n\n</div>\n","readmeFilename":"README.md"}