{"_id":"@structured-world/gitlab-mcp","_rev":"142-cf1522e04b3e1895813e9510bc8bd51b","name":"@structured-world/gitlab-mcp","dist-tags":{"latest":"10.0.1"},"versions":{"4.0.0":{"name":"@structured-world/gitlab-mcp","version":"4.0.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.0.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"17f436e6c55cebd578827780fb0cc53d4de5596f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.0.0.tgz","fileCount":176,"integrity":"sha512-9fDtrRUz6xOOEhFYKxvLkAEnlH61Nch6dnQKxhKp+PlQN9ne/TS/Cv0OWMJZeTu3MWRYEenAS30OufMZrm7GiQ==","signatures":[{"sig":"MEYCIQC2mLfvOGpvMgNcITHjwB6lMcrCV/sYqut9jOihdLVo9AIhAMlNc/c7GkIn9D42zG49QmD9hGuWT33X932Uzu44o70g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1009553},"engines":{"node":">=18"},"gitHead":"d5b0a576c8073bfca9cced5b5bb365b511591e79","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.0.0_1758060714995_0.45749682581172446","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@structured-world/gitlab-mcp","version":"4.1.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.1.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"fcc45cb579b3dffe55e0b88586703ebce79ccea1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.1.0.tgz","fileCount":176,"integrity":"sha512-ZuVzGODhSDd/43HhaNABVqEPnfteu1qB9G6RFewyxViZrDUPpiv1wT3FpXJ4zdZuy+vwudgC/qlt6txJymu0Rw==","signatures":[{"sig":"MEUCIQD8eyEzgtHEMJquL+sx175TlxGoyGaQ1qt9XkZs5+DUZQIgO7sw03Paw4vzMczyYAxrR6QMJ0Mk64EjIYZCpL4M8pg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1181905},"engines":{"node":">=18"},"gitHead":"42a5c1d383ca2e55271620a606f647c01bcac94e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.1.0_1758075286548_0.2695858510091078","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"@structured-world/gitlab-mcp","version":"4.1.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.1.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"897b7ba741c5fd66a2d8b759ec0c06397b4a2735","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.1.1.tgz","fileCount":179,"integrity":"sha512-an5mIX5MRXAL/OcSkXuYATkIKsbxR85UmxYUzbKRh11Ozfa04GP4F85lPrCzGqUpsUzvqlSDJF03VCZJy8ODKg==","signatures":[{"sig":"MEUCIAckKWnNRO1jpM73lwxq7/d7AbqgK5NWjF7QQW4uVAXWAiEAp0xLjN7EEhdJhQ3IkdW0Z9anX6gO6tNpKIzCIKyMa7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1171081},"engines":{"node":">=18"},"gitHead":"23f43d517c76f3fcd76a8ef2f276fc4d0ae4719e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.1.1_1758095637699_0.6433773643257881","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@structured-world/gitlab-mcp","version":"4.2.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.2.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"5ab0e38fabbca44abad5caa3e0cf019af8ee411f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.2.0.tgz","fileCount":182,"integrity":"sha512-iH2wLaMizRdQwuywkSCNDbrKUE0lMry2gJkAshUK7Qra9qwZXMntLzPLtJKfhvgE62JteSJMq2zt4RV3hHOeuA==","signatures":[{"sig":"MEUCIQCQfA0u2giPbZhKcqO7342tyHT7cykG185651lsE0pUsgIgXq7xXGNM83yyJHwnd+BMoEZCYhbt0KHa/biKYjgvQeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1197211},"engines":{"node":">=18"},"gitHead":"ed369c30dc1f40321612b4c1828124f79344d5e0","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.2.0_1758115098060_0.9118449982364973","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@structured-world/gitlab-mcp","version":"4.2.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.2.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"3aedd951935808f3f73c1903cd3b0f07fb7744dd","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.2.1.tgz","fileCount":182,"integrity":"sha512-QLFOThv8Py6rNZ+CGC/Wi7ZBVYA/k9K3akwrzlfvmTGudQML1k8mka01xAi0TZ0BNfdSQrQr3XqyqjjOchKxpg==","signatures":[{"sig":"MEUCIQDcBhvg0GkS8Mtobr783yYofNNes2c52U0Qt0TeLFox9wIgN83xq6aKChnNYeI6djkj/mEkLzs1YPrYxKqpgobNyZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196269},"engines":{"node":">=18"},"gitHead":"985484233dfedde4ac37b670f7eaab14446f9d42","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.2.1_1758126542538_0.25277179639990255","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@structured-world/gitlab-mcp","version":"4.3.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.3.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"54f74162a9e9a37ff5fe2938c592799d064e6c20","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.3.0.tgz","fileCount":182,"integrity":"sha512-ciPvXWtvc8l6JcVxMH0LPNQ0h/qwpKjLBJSUqSwln3i2CdutAlmqKm4XlJ/CtzlCV3skvth+163B6iOF8OT+SQ==","signatures":[{"sig":"MEYCIQCew0ZovH6Triylgw/Utf486bI7tTmU36hWz4slFG5AsAIhAJuDgifZEdK8xNuj2YrfYCzMoS939GZI6gZCDx2MHArV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1209886},"engines":{"node":">=18"},"gitHead":"d49527c2deb93a0e87a82b31cdd0fdcb7f997a7d","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.3.0_1758136024515_0.37549790895136503","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"@structured-world/gitlab-mcp","version":"4.3.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.3.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"ec3de79518ca61e576a905b7cd25234b484f9eef","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.3.1.tgz","fileCount":182,"integrity":"sha512-aFG36JyFMFDQjeQJ2r1WvWoOeiHrKjCBgVBDuH1DyoLPorVDMUtKoVtL54eZS+rRPVHTOiArv9KCzbPVEdEDug==","signatures":[{"sig":"MEQCICy2QFmkJPGLhgx7EtEpEc2zwcm2YjL2AWuRfEgE3v2RAiA8hEHR1N0ZpbJEeEE25qlwwbZF8pZqZ9gTWejnIdX3Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1215531},"engines":{"node":">=18"},"gitHead":"bd74e9ce0be2cdd5f30aa41c680c844fd540968b","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.3.1_1758138566782_0.03936155828915555","host":"s3://npm-registry-packages-npm-production"}},"4.3.2":{"name":"@structured-world/gitlab-mcp","version":"4.3.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.3.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"b8dc6d36ad6f71c484b41e277626a841770a2a76","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.3.2.tgz","fileCount":188,"integrity":"sha512-EBo+zmXYb4emnrlrDl0PbthoQJuvSUWLt+3Gj4Wn68XDcMn5WGYaGtYedWyCXVle4WOOT4ts8H5yv4EBDEl/Kg==","signatures":[{"sig":"MEUCIQCoyvlezEmw2r29mM2IXq/h26blY9+NzIrV5WQwNVfHRgIgJDPpYbgz1l3SOdpZSMrlHlxbm0greOMnPO850iMSOmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1237436},"engines":{"node":">=18"},"gitHead":"391ec346036859f4b996b43623c3a6924038064e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.3.2_1758203481685_0.8816539467992577","host":"s3://npm-registry-packages-npm-production"}},"4.3.3":{"name":"@structured-world/gitlab-mcp","version":"4.3.3","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.3.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"c44809dc21f41c98d60936e56d3c10895c15ae69","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.3.3.tgz","fileCount":188,"integrity":"sha512-i9RuWGAn+R+jzXrdFdujxmcnuRYLqozdVoF1MaBS1UPlsnwhG4hWkhPGL7ULxnfSbJqX4pwU/TR9g3JY3pJqCg==","signatures":[{"sig":"MEUCIBMaFKKupkTT2wwocxXBZzY4wCxfLX3yrCnkcqjH0PJrAiEAq6381pfoMnzbIaFWcXFzNoiKR0nRrxCJfD7L1Fe3xts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243137},"engines":{"node":">=18"},"gitHead":"30a09f9b241006b1a5fedecf65808e43eeea3c42","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.3.3_1758229760357_0.7583872411590726","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"@structured-world/gitlab-mcp","version":"4.4.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.4.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"cbd16db27917f57701aacb62a117774b806ae5ac","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.4.0.tgz","fileCount":188,"integrity":"sha512-fI8rVyZ3XY+Tnffx8CLl1g03V6enTfXyixcCZqWyCkTrOlAMlkKqFDyO7FvINZ1Cs7Nc2xrC1F0lBj8Usu+oDQ==","signatures":[{"sig":"MEQCIHAheOLyp9NhdZU1mFee/nU7rQrQBiRaOVuIW1ZSB0ktAiAov/ZXdHY+XzrnwkvtX5iryVJa+JJwUjIPV21e7jeYjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1245925},"engines":{"node":">=18"},"gitHead":"235c0add7a6aa10667e4baef524f28c1d3da2d7e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.4.0_1758233350852_0.03966185530808408","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"@structured-world/gitlab-mcp","version":"4.5.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@4.5.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"894c005de30f57a757aaee71cd9dd7aa547edc8f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-4.5.0.tgz","fileCount":188,"integrity":"sha512-oyYUUWOQsHiF/GCEUQNcXwWgxp+GEXqBE/wsFhMm//pufKPTGjudx/xEEx++zfcZEGGK8FoCmR1l/BcN0K5H/A==","signatures":[{"sig":"MEYCIQCLjxrg7SIjdZU5KdPqNQ/7CCk9H9G7lsIpxKWYGiXcVAIhAMhFKUmd/I2WO5Q+bU0uq1hsV4xHgb9VjuJSKmrx3R1N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1246669},"engines":{"node":">=18"},"gitHead":"b17074d5bb3d0d0d53fbf70cf84e76e40b115e4e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_4.5.0_1758257256817_0.6600776124973229","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@structured-world/gitlab-mcp","version":"5.1.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.1.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"753e953ced72d3f169047e4440500904e0687da3","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.1.0.tgz","fileCount":188,"integrity":"sha512-uqQCIG+N3Wp3kMDYqZnqhSrdJMWZj/SSpp4fgw8MYtNSLguCcpBg+JH2bSGlh5CfknyZTk1HFhmGPN5MCjtyxQ==","signatures":[{"sig":"MEQCIC8GXyRv2V9bky4yJVEnxMp/POmtkC2hAVzLgQbAV2qpAiB1WrWm2WXYih62sA52OluaXAs9zhffvthw8XvPgRBacQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1246238},"engines":{"node":">=18"},"gitHead":"514eaca49945b1ee199b9e2d5c57a44adc975c19","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.1.0_1758282638716_0.15903822079049568","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@structured-world/gitlab-mcp","version":"5.2.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.2.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"30c4ddb6adee56e31a2507e5033d31e94d34bd04","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.2.0.tgz","fileCount":188,"integrity":"sha512-H6TUdVrNGNlVwIsKNsdEpMnXgxvg5xbVxkClBULB/LTgHH+NwzTWtsNLWRzzWSQhfn142POZfD8jrgPL8uuDWg==","signatures":[{"sig":"MEYCIQDOHS4fAfIQBg3tWydPSohC8ZbJaTBcTVVhWhYKU1o9MAIhAPOwCfTW3aB6MIzr4mN0fSumA1Vmjm93D8KuQiqv6e1D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247137},"engines":{"node":">=18"},"gitHead":"87e36c0fa13527cbde0fc1b21b1598e7b14b0c97","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.2.0_1758313131546_0.9930016062619278","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@structured-world/gitlab-mcp","version":"5.3.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.3.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"f23af238183e6825f3f6997dd685ece2284222cc","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.3.0.tgz","fileCount":191,"integrity":"sha512-NrsooHO5zKbv94Ht6xaVPZ/bVLJrWNy+nhUiERdS749Q5eA1N3UoGbQjnd72q/eZQ9BjJgQcaB5h2yW8IpxQEg==","signatures":[{"sig":"MEQCIBJGXMjH9dKm4IgZnzYRzlsBK482cCvjfr6QP5eRCWjeAiBu0nwPgoe+rsGRM09+w441rxAWwzZP7R3FzpH/EeC6pA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1255085},"engines":{"node":">=18"},"gitHead":"2d16f19fb7a9f35a37fd6e284114d94dd06811c5","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.3.0_1758441657583_0.6353680646429134","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"@structured-world/gitlab-mcp","version":"5.4.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.4.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"f3ae4340ebe00ae50f62a30c8442a0f9cef67b21","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.4.0.tgz","fileCount":191,"integrity":"sha512-SGtBLGDYc39ovxabIgYWn9TG8Vs5c8gDS6kHqJu+jUKgw3W6zUX1EhR/BS7TG/e7TZ03guFNQcqwsYoPWhZiTw==","signatures":[{"sig":"MEYCIQCXS0GVTK4LNR3NnjsWHZ3+oemHgL1N71kqvxz0L2sKCwIhANj/KNim4yAxoGrPfQCqOZS1bt9tCxVzwJYbHv6ACzNL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260061},"engines":{"node":">=18"},"gitHead":"42e6988b1804a53848bf70cf94d458272def6995","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.4.0_1758445098112_0.6859493975365862","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"@structured-world/gitlab-mcp","version":"5.5.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.5.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"bc2399a317797b005be2fc886e700778030d0c2a","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.5.0.tgz","fileCount":191,"integrity":"sha512-7uei7BSrrkuYPBOsep8I54wXvdmLPv80GbxpHor1pg8tt+OCGNKEhyeLTAxzWhMHHMFPJajIGT9kxTE6z5M99g==","signatures":[{"sig":"MEUCIEDtsg0pSXEoTYC/PNGKJbIDynj0d5mQ9/xUziGB0W6TAiEAt6I16BGxQ9G5Qj/xd7XgBi4QLU1rg1eynOnSoOKG0DM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1265058},"engines":{"node":">=18"},"gitHead":"958ec1540f2cf3f2a9aa5df82fa2c5ffcc3a7c97","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.5.0_1758450319124_0.5446126748180418","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"@structured-world/gitlab-mcp","version":"5.6.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.6.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"9cb397148f14fcc4ac6a99f10a539d4bdef29f27","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.6.0.tgz","fileCount":191,"integrity":"sha512-e5hjoBgoPA1EGbmJNeKMC54Sd5kLPaJFrNAfnj4F6zasUvBuBFb0rCGK80IjOugYZJkqHy37Vd+saBd8sDTl+w==","signatures":[{"sig":"MEYCIQCPuU8DZ5vB8OqIRGgZ9YscX9bhzpMwJrvD/atIFzWqjQIhAIZPHLKlZo0edrZ5NO3Nt2lS4te0X4RCm6Iau/sE+Cow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1276547},"engines":{"node":">=18"},"gitHead":"7983049c171b353b71904ea10dceedf63aadd883","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.6.0_1758486815698_0.5239323116338985","host":"s3://npm-registry-packages-npm-production"}},"5.6.1":{"name":"@structured-world/gitlab-mcp","version":"5.6.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.6.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"d0b4bf5f2da521137523c053d9474b1ea1a4c1f7","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.6.1.tgz","fileCount":191,"integrity":"sha512-6jTj8oVBgOTbmzggFGpuzeymMJiidtMm1g/aSsS5If724tfUnei9aQd+6+SZpiv+Iouq++dW6pUCE7GDlXndDA==","signatures":[{"sig":"MEUCIQDmlrLMzEe9+cBOwvoym0U8VsRazzDLy9eBpeue10XC1QIgYpWfPea8ENjwX2kXBxkKmHa72PdRWQe7PO0ZAfG3BkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275741},"engines":{"node":">=18"},"gitHead":"c956c3306ac0061fc38cd698947a501bab9f2d9d","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.6.1_1758599852615_0.5121734086316094","host":"s3://npm-registry-packages-npm-production"}},"5.7.0":{"name":"@structured-world/gitlab-mcp","version":"5.7.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.7.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"3e2b87e40a04f1619c7f5ecdfd51d0e4f079844c","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.7.0.tgz","fileCount":191,"integrity":"sha512-JbyMBWUhgoKka0WHecoF/rZKww3ePkjoEFsom5F0pmEHzZck1kMV7lWelXIsGC7+7bLb8CPdHdX5l0k26Y6GIA==","signatures":[{"sig":"MEYCIQCwS4QRX0VmwuOFiQt+aah4/gs3TDnm49gsceulxQqCAAIhANc+nHroPIhHP/r2k5Ph4TYrb04XzNlzWODlo2m8C/3d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275491},"engines":{"node":">=18"},"gitHead":"2d86e419ad4008bcc3e98e7b073421b01eb08dbe","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^3.23.8","pino":"^9.9.5","express":"^5.1.0","graphql":"^16.11.0","form-data":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.1","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.18.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.1.3","dotenv":"^17.2.2","eslint":"^9.35.0","ts-jest":"^29.4.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.0.0","@eslint/js":"^9.35.0","typescript":"^5.9.2","@types/jest":"^30.0.0","@types/node":"^22.18.3","@types/express":"^5.0.3","auto-changelog":"^2.5.0","semantic-release":"^24.2.8","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^11.0.6","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.7.0_1758621212406_0.23260425824625974","host":"s3://npm-registry-packages-npm-production"}},"5.8.0":{"name":"@structured-world/gitlab-mcp","version":"5.8.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@5.8.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/main.js"},"dist":{"shasum":"7c9a24a3d4a24611547abdaafa6bded2ce1d06e1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-5.8.0.tgz","fileCount":230,"integrity":"sha512-7YfVz57m+zaTwuMf6xjpm2tWHJ+qD1i06WMbq6kDmytPVzyapM1N16CQDznvWA+eBSruVOMKPCJaiBiS5/j73Q==","signatures":[{"sig":"MEQCIG4KuzpcNmWZ+V/4iSDaCQPm9QaDy+OH5kCSxH7hfToWAiAyi58heIvOn2l6z9yhp960fm0DdsyS6O1dPZxfMs0ilA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1349629},"engines":{"node":">=24"},"gitHead":"81e6c190635c07b1da1a1f469c1cc9d14413f40f","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/scripts/list-tools.js","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"polaz","email":"mail@polaz.com"},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.1.13","pino":"^10.1.0","undici":"^7.16.0","express":"^5.1.0","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.2","transliteration":"^2.3.5","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.23.0","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.1","ts-jest":"^29.4.5","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.1.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.1","@types/express":"^5.0.5","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.2","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.48.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_5.8.0_1764175551852_0.46521969706578714","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@structured-world/gitlab-mcp","version":"6.0.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.0.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"8d086f58a9bf0c01a1af2c0916ca993210eff44e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.0.0.tgz","fileCount":293,"integrity":"sha512-7gXmVPJZgG+x0MWdnbhDCbarmZ4p+EtOvCoen3/p61iAjgc3PV8quECxIG9l87xzRj/XcORKYOipuQbGjr7k9Q==","signatures":[{"sig":"MEUCIESMiGr8r+CB4tGuucNcYLjCzBxLGeVNdaYji3yK+8HUAiEAk8itS6lLzJGIc6kz1RIM291jYOtCWL0s8QfIDcEJVhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1779497},"engines":{"node":">=24"},"gitHead":"946a3b264a36712afd1b9728b84dd5b589e455e1","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.0","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.0.0_1768822685918_0.595088462037743","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@structured-world/gitlab-mcp","version":"6.1.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.1.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"a2a302c25645d5307d9a6a4bacb662b868ab0620","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.1.0.tgz","fileCount":293,"integrity":"sha512-s/XQfwKi5yxPr5U8rhqlSLI9Hk8w/KRv6LIPJ/JtcXLrjtZsOE5UdbV6WhLGLW0kls9e9lr2nTUA5RPksMvB6Q==","signatures":[{"sig":"MEUCIGkYn6LdJmC0/U1kIi6ctQ+UlYjNVWez6K6Qrex6efxwAiEA4XEHFw9aD5GBavc0O5Q6WQQFBPBmKLp2zrRUOHptY3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1781637},"engines":{"node":">=24"},"gitHead":"b5577657f755e96e710720c96ce4bef3e0fc5c64","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.0","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.1.0_1768828496081_0.07690509802055989","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@structured-world/gitlab-mcp","version":"6.2.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.2.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"3f3380bc47d1bdaedaa8418fb19e39b44a68797a","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.2.0.tgz","fileCount":293,"integrity":"sha512-husRLtUq270MWu3qQ5Y+OgvmSkqxssdZT6waoffPvjWiLte6leG5pcr7m6Y0w7Kze2ro8zmXopFBXwDQExTnEg==","signatures":[{"sig":"MEUCIQC7OvfxqAntAR3WDcGmOTl6nkW1hlSV+4DgioWTpTkwUgIgKuHypR/L5lOpyNZibUaqAWqt1kiuBQ2IOvB+wHqultE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1787601},"engines":{"node":">=24"},"gitHead":"2e5181fa348ab4d3efccf2d3c188cdd7b9ac650e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.0","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.2.0_1768832769822_0.20099928440894588","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"@structured-world/gitlab-mcp","version":"6.2.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.2.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"10a0b0434e80a550ecf4330c2dfb022392102066","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.2.1.tgz","fileCount":293,"integrity":"sha512-GP14iOEq892ucaKjbKKeP+vSg5DNfaBpI7yJP243SsGhfIWIna/VKlReK+ese608cyx6F0JEiSWiX81Buh0BRQ==","signatures":[{"sig":"MEUCIEHTk3vexSgxVD40kO09Uo3vM7cAmN4Lgl+QEgs4r+G2AiEAiECowIcC8B7qvMDakjp1Q8splFsvxaIQrMt+7NXZAF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1785131},"engines":{"node":">=24"},"gitHead":"3920bad04741ec6eb11ae73926843b675b1b843e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.2.1_1768834918368_0.27480991081599293","host":"s3://npm-registry-packages-npm-production"}},"6.2.2":{"name":"@structured-world/gitlab-mcp","version":"6.2.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.2.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"03debac1e4c763b626ac2a1fbdd513ae5d062b65","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.2.2.tgz","fileCount":293,"integrity":"sha512-z3YStHfhUwm5hdkef/B2UOLvauoRpR4OtvyTCExTfg/dAvs9uIQ5Bf7CVwqrAYZT+zQL7ZGHIm9zXcWBo+QqWQ==","signatures":[{"sig":"MEUCIHG2s/22V+MY21XEhEdWmq+ikoG7ghCPVaSCeLA2pkKYAiEAsoS1Rn4VQW6KjZthBVJtqOkybiWPCwKoOchCshPFf1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1787564},"engines":{"node":">=24"},"gitHead":"80e0c4141a48064ce4f43720ffa1a647f1516c93","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.2.2_1768835975867_0.2909294237820459","host":"s3://npm-registry-packages-npm-production"}},"6.2.3":{"name":"@structured-world/gitlab-mcp","version":"6.2.3","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.2.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"11fe150a2d7aa42f1713f9196f15cbefd0452796","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.2.3.tgz","fileCount":293,"integrity":"sha512-0WOZzCGb7NqLqJsSxkaLOkzZAgTVva2IWLceYiI2bUuO846Yeh6TZ1qdkqoNIarrtrTKDicjDVxbhpVcJUhQyg==","signatures":[{"sig":"MEYCIQDcvXs9S8VyBi4gnMCsjHUoKcUdBTtdAhxBD1pp4Tzd9gIhAN2jSYgvTjSdHZjxRGnKKiIdx9EW7O1taY+5X5i/CcFw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1754047},"engines":{"node":">=24"},"gitHead":"ddf3c31cf91dfe7e08b879bc44e17c7353a5b999","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.2.3_1768843684635_0.9792455966314617","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@structured-world/gitlab-mcp","version":"6.3.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.3.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"6742c585c8708f966c2f7bdd80f4cc7f03712719","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.3.0.tgz","fileCount":293,"integrity":"sha512-U93DzVJ7gfxy+K2nQQJUoych5lU0K6iuJ2dSU2OBQWkeOFQ6p93ydRCc1sLBUoBe5HWG7lYi1v6Go3QYOrbAMw==","signatures":[{"sig":"MEQCIHhjQRCuSgohieA/JtpDjYul+OXK2GAwQG+yWo4mrSTIAiAHXWOTCR37UC/37VrdMA9deY7kdVjzJiDozvZNQJ9PIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1746517},"engines":{"node":">=24"},"gitHead":"cf6834790f9d0ef47a8da12ae51301a2396851c8","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.3.0_1768845257333_0.4010761674478196","host":"s3://npm-registry-packages-npm-production"}},"6.3.1":{"name":"@structured-world/gitlab-mcp","version":"6.3.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.3.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"4c8a46272b9e46fe148a4a674a351c2f0a359893","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.3.1.tgz","fileCount":293,"integrity":"sha512-LY08dSRX0NRkIk52G0TNCHCExAF1usVQTKmF3AOnFjg/lacNr6GfcqLqxl0Cv5b5Pmbybp/A6W0GIayjQumCLw==","signatures":[{"sig":"MEYCIQDNlTDY4NJfWJs8Smsb6wMbToHlzGlOpTLGzkTqc70y/gIhAP0xmct1ytq0Iu82AdVWr6a3dP8mXvtWF6vJASiZeyo/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1746518},"engines":{"node":">=24"},"gitHead":"6c44e643a71b977fa2a0ae67fe4ddd20eb82bc5b","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.3.1_1768845689250_0.3813070935982199","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"@structured-world/gitlab-mcp","version":"6.4.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.4.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"0041ed28e97aee0ffb78c76c501beaad4ea428ec","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.4.0.tgz","fileCount":293,"integrity":"sha512-4lqtIx/Iwx1Z2b5wl4FB/csVfa56k9bYYgYQi1lsbwLmSzootk6u9IS5goV70+LI0jd8HGuMcmP5roHgLKG2Og==","signatures":[{"sig":"MEUCIQCYSvEGXrYtyfSyD2fJ5Lr9fC5pony8kd48klGYRwHQVwIgQpphNSfFdt+B/DhrURKBG3GbNRxPwQRTuDpuhUkQiqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1744328},"engines":{"node":">=24"},"gitHead":"58c611f76178bcb51297af6ae906451526a77ed1","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.4.0_1768846255195_0.8342323148719211","host":"s3://npm-registry-packages-npm-production"}},"6.4.1":{"name":"@structured-world/gitlab-mcp","version":"6.4.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.4.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"5d4d40677de5db0a58ebd3423328bfa7c716f905","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.4.1.tgz","fileCount":293,"integrity":"sha512-XNa0L8mO7WUof8154AVbqVcAWtCqAX4DbtLIjAF6bdBlGkHSHy/4MJPlnoCsCHU0Uz05HfLoQxKnvxME66vphQ==","signatures":[{"sig":"MEYCIQDav10FeMyDBXik63QoJ77tRzlVVQAv1PBQQr4v2wmyZQIhANI/zg1hHhD675LemPX8uw9I/CfPPe+bUfSAuK9kk2JJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1744329},"engines":{"node":">=24"},"gitHead":"6583dc53fb84fcaced2e2b7c438bc0796023b8af","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.4.1_1768846790594_0.45798529033768554","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"@structured-world/gitlab-mcp","version":"6.5.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.5.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"d08cca2d67d9832c86dd7174f4e0c9b148ea346d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.5.0.tgz","fileCount":305,"integrity":"sha512-ONtCxuMU8Krc+biMC8UzjtOiwdbnoUILxbFPE8bLHT7WEg9P9Lflu3+xKogXSXrC3TjUi7qPTD+7XJErCDqcyA==","signatures":[{"sig":"MEYCIQCjIk0TJgmUr3ktM4k1pqruFmPNSjTfcNl+1dR3yEbrtgIhAOWcg3FpFbewyeZpLgZryrqcapG8AZIhxl/XeHvAKkAs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1779798},"engines":{"node":">=24"},"gitHead":"6f29c5c08f29742485c213d75e532183c8ad4334","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.5.0_1768848808954_0.40649912198282867","host":"s3://npm-registry-packages-npm-production"}},"6.6.0":{"name":"@structured-world/gitlab-mcp","version":"6.6.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.6.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"a7a668de81ad80a63ef0aa30b6aa9bad9869d381","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.6.0.tgz","fileCount":305,"integrity":"sha512-AelbyTQix2gRX1DaRipAwrurSo+pxunkCfRtZm5S7oc4MKp5+A12sm6vtdQGa2YMxbgK2a+9yxEwCFcKdkU9Qg==","signatures":[{"sig":"MEUCIEBPahNgOUf8Mi9yaWqXuKNTKbqXMq5sVqCHABnsiF3fAiEAqVlknJnoO2DmX0pj/7QcgFkMBO7w/Jh/E9LNDxvAa1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1770781},"engines":{"node":">=24"},"gitHead":"055dc7487682a1e5475d4111b1c207275130c42b","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.6.4","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.6.0_1768850523628_0.3941024658813834","host":"s3://npm-registry-packages-npm-production"}},"6.7.0":{"name":"@structured-world/gitlab-mcp","version":"6.7.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.7.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"5021b20930a6c49cb9f0bd3f78d2359f5ecad2de","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.7.0.tgz","fileCount":317,"integrity":"sha512-GMgqg90lCalh47vT4IFV5WIhxws0XHgulTzqkUz5onUOhYC1smsB3WVbDQz62DzfrLLRjXEIdThul29SUPCXIg==","signatures":[{"sig":"MEUCIE3chXEHD7ZM/2fZp1CF0iOvImxIs75EWozWoU7T+d80AiEAwdiksLsjJ/dtmcJSzDtiVOK9uGhv1reiM75h0ZOkemU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1809722},"engines":{"node":">=24"},"gitHead":"595cf1e4c2189008f1e477b37304e88d545be4f9","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.7.0_1768852990641_0.6862547177611407","host":"s3://npm-registry-packages-npm-production"}},"6.8.0":{"name":"@structured-world/gitlab-mcp","version":"6.8.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"MIT","_id":"@structured-world/gitlab-mcp@6.8.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"a1af1996c08df806321960108325253b26f41449","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.8.0.tgz","fileCount":329,"integrity":"sha512-/Zq0wWo6Fi91nYcSHcrjLxVhR6eGnESOjm6alrHLWOgd7o/eQXan9HCmbYn8bltLX3i5lYN0OEjczHLG64MKUA==","signatures":[{"sig":"MEYCIQCmaY1o1DU1ehJ7/othL3Htn0CIjcNfR07oExNeuN9DswIhAKFBYEH5QxVpa2fcaYNlccqiLx6sx+56jsZp3d6UncB6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1842679},"engines":{"node":">=24"},"gitHead":"7796b22695ac5ffe66b0e34b409a118954b53671","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.8.0_1768854440440_0.20103904545050555","host":"s3://npm-registry-packages-npm-production"}},"6.9.0":{"name":"@structured-world/gitlab-mcp","version":"6.9.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.9.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"51f1d3369b782f8876cab52a31597e9214447a8e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.9.0.tgz","fileCount":333,"integrity":"sha512-gWmfWvEdbxSYVH78zaPr0N8kBmPwjksE+iikX+WLHOM9FnXfmOq5U8Izwc9siQqIBYjjiz6bL7K4X+rAM4Ve1w==","signatures":[{"sig":"MEUCIQCClDzwOXKY18NVsxXgJbcTipPgeg9F3i9EQYTgpN2ikQIgKRP58v2XUkW4Rj8ApegyXTdTSSbhvOLdp4FLBaYo9kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1914677},"engines":{"node":">=24"},"gitHead":"5fcea9dcf93b4b76ec261ed4d58bed667409aae4","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/scripts/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.9.0_1768864269135_0.7339351002531211","host":"s3://npm-registry-packages-npm-production"}},"6.10.0":{"name":"@structured-world/gitlab-mcp","version":"6.10.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.10.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"8db0340e6b514b33e521d20c18219b909a7d2344","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.10.0.tgz","fileCount":336,"integrity":"sha512-cfL1q9OuhOOo2iUw5RJ8dnfM5ci6Eaeirr2wo1FlIndlLPe3O93NkH4oSMTMLJeygjw2MZalQyrquSuDzOlziA==","signatures":[{"sig":"MEUCIAuBgzFY0ApS3ZqPz5oLI3OanBQZ+ugVk9liW4r5MNJsAiEAhLkHSGUBKJTzkkbL89nsIZEnC6XHbuAqCvDq1VbW1Fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1982258},"engines":{"node":">=24"},"gitHead":"acdb83d75b4cad2353aa5365ff52258f1694fe89","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.10.0_1768894319124_0.3962095511611041","host":"s3://npm-registry-packages-npm-production"}},"6.11.0":{"name":"@structured-world/gitlab-mcp","version":"6.11.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.11.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f3d1062b83821ac99fd8b1c5bb993c7eef815f88","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.11.0.tgz","fileCount":336,"integrity":"sha512-Z3Ry1BKV/YeVDSAuXPejBjJXETFcE4UzCR27LZf445fFO7grrS1aZQ905r08kUJfvuCAODK7hooafTfFhHqE/g==","signatures":[{"sig":"MEUCIC/f1O+lHvo0lSE+f8AFBYB38WJjECPxJV9Cwj7ydUh0AiEA9VOu0lvV22omP1F3mD7RaZvWdqj5bnIRPjcEeJ5Q8GI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1985501},"engines":{"node":">=24"},"gitHead":"cd401a180408a109d484cf80a803110dd0213607","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.11.0_1768897138305_0.5463035599621366","host":"s3://npm-registry-packages-npm-production"}},"6.12.0":{"name":"@structured-world/gitlab-mcp","version":"6.12.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.12.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"b250958dc81ef8cbe94d84dab1222222855f415b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.12.0.tgz","fileCount":336,"integrity":"sha512-dSypgV4IcBoRvOmmKBt4nO70bXCgDffBHOkqR5DY2r5SsVDONVpOq7GFZkLIzaCV3YGChUP0d0Z3538vFR2b/Q==","signatures":[{"sig":"MEUCIDAmZc9t5ezbHEKEm9OfeMs9pTI/OTAwbfLklVAC6Z9/AiEA7CsWtGPiHBo3QJYHICsu4vtzTR4UjAVzh5W3v4WuW4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1995996},"engines":{"node":">=24"},"gitHead":"afc1eccebe0932003e34282ee4e039aa2204faed","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.4","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.12.0_1768898119075_0.02705325084291399","host":"s3://npm-registry-packages-npm-production"}},"6.13.0":{"name":"@structured-world/gitlab-mcp","version":"6.13.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.13.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"fc2a4307d9e5c905b6cb42fcfdf8f56108bf18a7","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.13.0.tgz","fileCount":351,"integrity":"sha512-bo96BdhSb1CzF49lh7xeEVZcKA8H3ieE1VB4Pmvk8A7BYGPCJrfPtW4Amirem4DgDd0hJrEQzaZpie66t5yWEQ==","signatures":[{"sig":"MEUCIAa/ZZlaFDeioAgFxtZOQXubQQ3zBp5qdseXoxo7/vPIAiEA2qOVhbyc3OYxcm2Qpa1TREJuhEgTkb9kI7OBcGogclI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2088548},"engines":{"node":">=24"},"gitHead":"1255ea52b0221c30c84c3a0c270ffd1fe7e9191e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.13.0_1768924171370_0.6109488204662177","host":"s3://npm-registry-packages-npm-production"}},"6.14.0":{"name":"@structured-world/gitlab-mcp","version":"6.14.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.14.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f3ca29116948e32dff83a02868b1581456cfa55e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.14.0.tgz","fileCount":358,"integrity":"sha512-b5xBGhQrJkouuUOPxDn9ufXvHc+pTsISr9DPjBSa/EGD9LHFf01EO2qB1S8M9gWaQjxepmuZr/YcKR774LpcUQ==","signatures":[{"sig":"MEUCIC9DjLJLGMAoacOFnDWzalyC0HHHZpKXfZASDLHbR8PQAiEAyeeXvziJkIQdP5o6FyKuH9yG7WBe7im+X9xSwHNv3zI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2095243},"engines":{"node":">=24"},"gitHead":"1c2a34b230f29e3d6914920dccf14a3ceb00f0de","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.14.0_1768925002074_0.4277249722115888","host":"s3://npm-registry-packages-npm-production"}},"6.15.0":{"name":"@structured-world/gitlab-mcp","version":"6.15.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.15.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"2282bd27a243a48fede4eab4947ce6498ccc21d1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.15.0.tgz","fileCount":358,"integrity":"sha512-uI/h2furBjD2ZlffiflUxQaIbs5Qd1HhoW7zPJgl7n7ef/Ds7ie04j3nDsLUb6xi0GM+ozQQfbk0Gm0lHC7UmQ==","signatures":[{"sig":"MEUCIGL2HcajnEJljpla0YEWbZVzbv9gmU+pKLdRSmLno5lLAiEA9s8b+9jzCCAq+vR6YfQsDw2i8VZ6SSJFvXoje3gB33E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2146209},"engines":{"node":">=24"},"gitHead":"143831c7d945aa594dcd86f760b0e6d45e772029","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.15.0_1768927985216_0.013260544897218063","host":"s3://npm-registry-packages-npm-production"}},"6.16.0":{"name":"@structured-world/gitlab-mcp","version":"6.16.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.16.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"0dce058cdce9496d4bb444f45ecfb92f7afa77aa","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.16.0.tgz","fileCount":367,"integrity":"sha512-Vr1khnNxD1H8kykFJ+4Ws5aal+NJBYo1MbpNTDwED/iDMmEFIcV2S1cFNRdD/T7UBkSeUarnrYTdksLuUV6a0w==","signatures":[{"sig":"MEYCIQDTXXzGThBQzNJ7O0M7bwa3YSx2Fmcetu6pgfnKGtw1xQIhAKZNnenmRkBKT4VFFH1mTlnRojh5TzElCtO6xDHpApbt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2198876},"engines":{"node":">=24"},"gitHead":"8498d1b1647ca0e5d0e27f2928783bcd71599eb1","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.16.0_1768932952577_0.10917564122936185","host":"s3://npm-registry-packages-npm-production"}},"6.17.0":{"name":"@structured-world/gitlab-mcp","version":"6.17.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.17.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"58cd5e7fbdc1b3f502e00ecad32b656d0798ba9e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.17.0.tgz","fileCount":379,"integrity":"sha512-oH5NXEbyhkvbO4625BIwOKIcoeUDW3XUG0F7wjcwmg2b7ZghgeW7XfOEnqthkJVMWeeBgcw1plwBQ9dpZxoCJg==","signatures":[{"sig":"MEQCIHBwGHfdolRGBBOrDSb9mSGewa2VMUvDibZ32NV5qgtLAiBnUYN5u7dE03jNeM+ezJ3D6Mi3zn3tX0Gx7cVKZ5B9eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2252460},"engines":{"node":">=24"},"gitHead":"012eb1d171cb3765ef8dc5a058b9873ae777bf13","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.17.0_1768942274773_0.8879842845337729","host":"s3://npm-registry-packages-npm-production"}},"6.18.0":{"name":"@structured-world/gitlab-mcp","version":"6.18.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.18.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"9c6af5ecddefc7f83cde67efcb5ec7f2c4ef9282","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.18.0.tgz","fileCount":382,"integrity":"sha512-xhiHPczyo6OIkZ+g9UdZaBxZ71CjORp+pos+EyIOd7eDSmDbPDRErOMwbi4/VMBZy2yi7trv57Uw7VpyMXHmlA==","signatures":[{"sig":"MEQCIEOWSos4zzUARn0HPOcCLy8m5wsyXtUhCKpFLel5VCX0AiBgXgUexInqeKaIFwILbGxAOoaNpnqqR2tdVW0TsdJ9BA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2323017},"engines":{"node":">=24"},"gitHead":"52ceb10d888b248154a8ccb3b863d82be1020c31","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.18.0_1768997086341_0.28926036551369627","host":"s3://npm-registry-packages-npm-production"}},"6.19.0":{"name":"@structured-world/gitlab-mcp","version":"6.19.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.19.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"2748614bc1752957b3c41e8bd105844c999a014f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.19.0.tgz","fileCount":382,"integrity":"sha512-41GISseXZIHdD+RNwyy8rmqAx4J2ZXJkRF5QsevX9MA3JAAOVJV5+aV6LrBCcZHp+Cg7IXUso+Yq59Sj0U+7nQ==","signatures":[{"sig":"MEQCIGTAv4QhXqvr9n+HJ9HUkMsT/f+3kO/Ijh/f8ZuWpdkEAiAj8M1EsOaPQoT/vpv8Uh3hK7/Fa/ez+7f8/JIJ1heHlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2336185},"engines":{"node":">=24"},"gitHead":"575f30801b90646f0d42ec9f07c8fc804b9e9cdd","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.2","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.19.0_1769000313054_0.2914110418004161","host":"s3://npm-registry-packages-npm-production"}},"6.20.0":{"name":"@structured-world/gitlab-mcp","version":"6.20.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.20.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"5ca7cf1c3bd35bac0ab232be3acb899dac57ef7f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.20.0.tgz","fileCount":394,"integrity":"sha512-PWFFw5nR2o1gCM/sW6TkGvgtNj94E4SB69BdvdT89QpDCbLlw6BShqSjn+oOTfGu310NmJouCFQw7A0zt7lR1Q==","signatures":[{"sig":"MEUCIECImf6IrcdOS6oYvAfhA8pUxxzWngRk7kSqNnjaubpSAiEAows5vgVJZm1YzZcWZE6cFKAmhbGok/y/ZdmDbbUudZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2374014},"engines":{"node":">=24"},"gitHead":"0e5b89974a3755a05d03a61b80d39b6499b74b23","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.20.0_1769008970071_0.40669228512283406","host":"s3://npm-registry-packages-npm-production"}},"6.21.0":{"name":"@structured-world/gitlab-mcp","version":"6.21.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.21.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"8a575ff0607b6817899b31bd08521285fd130aac","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.21.0.tgz","fileCount":406,"integrity":"sha512-jbmzjLxxHhrMxvv2oFNFuIRBeUqe7TTShFIywEs9VQq9KhzwL4rQSWoH57Pw7NeDCesVuzJTQaKmE6msZriTNQ==","signatures":[{"sig":"MEUCIQDovxvMboQTC8rF+V1hw0TbD1hcsjKBfriT1joMCCFPMQIgIBEyLgZKozhV0zMkhbtrv0Pp+sA+d5Te0MGsqpnuLb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2430581},"engines":{"node":">=24"},"gitHead":"77c4e624f916fa38a0aaa9cf8574bf9cb4e1529f","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.21.0_1769012784177_0.37317161401525856","host":"s3://npm-registry-packages-npm-production"}},"6.22.0":{"name":"@structured-world/gitlab-mcp","version":"6.22.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.22.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"1dfabd7cd8b3563793a0ba985df20018266236b2","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.22.0.tgz","fileCount":418,"integrity":"sha512-EM42FdoVw8WYSvg097DBYJDqHg4ItwzH2DFdbGuWpprgbtIntu4yIj3AZeBYVywheJDidXq4Ud2krehAYURa1A==","signatures":[{"sig":"MEQCIHCxJYYGX9iNIa9ta+ZQKdVfdEk0ROKPqsG/Jb11cn2EAiB+b26esnlgOPAl88RcuacV+APmotA7m0Udpfj/LcfU8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2478544},"engines":{"node":">=24"},"gitHead":"b1113d7b0f975f2523c31974051180002230f207","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.22.0_1769019552405_0.12251988445155715","host":"s3://npm-registry-packages-npm-production"}},"6.23.0":{"name":"@structured-world/gitlab-mcp","version":"6.23.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.23.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"7a754e2325e93c1b1e98dca6d3225bb64c8dbeb8","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.23.0.tgz","fileCount":427,"integrity":"sha512-f2WN/UcTAQJkZysrjmkEVNy5xelO75DVohgooDe9nrHDRS+XW1yv9NWxudsx9UCCcRa1POYPPEy0J1NkrJF+kw==","signatures":[{"sig":"MEUCIQDzHaJ+0W+JSJtv87vKa0igQucMZql40ij2r2a3Nc6xTwIgTcTerK3ad85IjFtUSzJA7aWhUYJau3x6B3gcSfHJdfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2505019},"engines":{"node":">=24"},"gitHead":"3b2d98978e8c57a6d457f95c4bf56217151c7487","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.2.0","undici":"^7.18.2","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.2.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.0","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.23.0_1769021415118_0.998375813072724","host":"s3://npm-registry-packages-npm-production"}},"6.23.1":{"name":"@structured-world/gitlab-mcp","version":"6.23.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.23.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"e622d724f2c696bd129c9a0ef1c035d31867e403","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.23.1.tgz","fileCount":427,"integrity":"sha512-50E0acN5hBO+GHtbqt/ax7NmMWP+STRWUsUQgQgbTQmoQfkhGJ1YlM/b2q/O1tF9eo3OXes8dxiKupBiH3Y/7Q==","signatures":[{"sig":"MEUCIQDyyVaqMgdq2NtG6DWDQFo5M0+tII6515yAJrnLMUIrhwIgKS/Yi8Vu6SETbti0rcxoG4h0vU6Cf9vNN4bw8iCnXG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2507245},"engines":{"node":">=24"},"gitHead":"40ee477eb81f51a3985dca07b85c56dae6ec0409","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.23.1_1769022031620_0.2851196203693869","host":"s3://npm-registry-packages-npm-production"}},"6.23.2":{"name":"@structured-world/gitlab-mcp","version":"6.23.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.23.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"2bea433496b37b0d6655a1f22d3fa29a640e47cd","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.23.2.tgz","fileCount":427,"integrity":"sha512-465HsiOrN2CWeyZv8tuIYDFKlIjBt/gh2JbJYkiJIF+k449MKAteUYO8dpovut0yKhC+sY1NbmC+iQpLHd+Qkg==","signatures":[{"sig":"MEUCIQDVxSzTaL+NYuF8pyzGwzhpS8q9TwlCsqIYZ8dd9pYI9wIgS8yCe2BIBY9hvLkMp368G8M7hM2SO0zQ0GX9kDe0RhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2513930},"engines":{"node":">=24"},"gitHead":"93bafc5442df70bf9306fb3fb20a32f79589e13c","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.23.2_1769025317264_0.21394936032290057","host":"s3://npm-registry-packages-npm-production"}},"6.24.0":{"name":"@structured-world/gitlab-mcp","version":"6.24.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.24.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"7c8a2d804a9414dba0468a8a9085c92f4a34165c","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.24.0.tgz","fileCount":445,"integrity":"sha512-sRKNewCkIaSh2nM4V3GkNw+IxbTRKf4iNAgxTpwkG+NUXv0cXs5y4qjNwskgeOCDJMzg/ZPVHHUvk1i377toCw==","signatures":[{"sig":"MEYCIQD+u3wmjR+LCEa2W+DfXuLr6zItvEXbdnCxC9R/u0RS2wIhAJ1ibSAM+CnMKFy5TpDFeKJRzBIKZxVGVK1pqKigs43f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2577817},"engines":{"node":">=24"},"gitHead":"0e2010c83ba5e6a60f02d43ab3314d2163570c5f","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.24.0_1769030895653_0.4505593539616044","host":"s3://npm-registry-packages-npm-production"}},"6.24.1":{"name":"@structured-world/gitlab-mcp","version":"6.24.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.24.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"27b3fd83dffcc004b8973bb17bc9694377dc03b1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.24.1.tgz","fileCount":445,"integrity":"sha512-d0gpDS13kuxGhnDD7PSQX5laWhwXDx16re+Kk1VaoaT6oS92+VUCloDf+GFx2wyVpmBqGwHQvCD86ovmcmfqiw==","signatures":[{"sig":"MEYCIQC/tOKTza/Nk/X3gL4qD/cB4j0SCyFbWQYVRlCvRaGtwAIhANt4lTbyTd1sGtdLvnfbIJ2oBuLnJ+KiDyZ1AK3LikmK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2577946},"engines":{"node":">=24"},"gitHead":"b1d0b2c81125b56b101c67d2667889030ebd6007","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.24.1_1769034092702_0.36376776325884674","host":"s3://npm-registry-packages-npm-production"}},"6.25.0":{"name":"@structured-world/gitlab-mcp","version":"6.25.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.25.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"b045cefa59a7b7dc763d95fccf17d1038cc0ce78","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.25.0.tgz","fileCount":445,"integrity":"sha512-ozcHf8Ke6aFt12O8ep2lW2MRxiByLHhoUaG5RcHAe3Ng8clqc+5KVgUy2EugR0yKjNYHQqbLfeJD0VzU0CKFkg==","signatures":[{"sig":"MEUCIFyDzhPik/mBPr4uI9l4yv9ZfxE18u80ALKnIdrUC8lZAiEAwds2c1cVBD+ObBJ9cGgc5Ja4lx9Tc5C47/OAAQKQJnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2590887},"engines":{"node":">=24"},"gitHead":"b2f2fc6d0c7eb7907b35637b96cb31af77ae688a","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.25.0_1769042383711_0.4035126250692367","host":"s3://npm-registry-packages-npm-production"}},"6.26.0":{"name":"@structured-world/gitlab-mcp","version":"6.26.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.26.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"be59e0d085926f43f5127b52733bd1695b29b20c","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.26.0.tgz","fileCount":463,"integrity":"sha512-QQ8SdRQx3Jf4pnSi9dICrnE7TLoesRuyPjzVAUYfph3ghB6Yf3FnLbsag1agdLJv16+o6x6iZQFASPzwyCgiHg==","signatures":[{"sig":"MEQCIBTvv9j1tHeOCHxjck2rjH6EnOZfBvnHhcK9le5oaPk+AiBLmGyDJFwrDOAlr7LzvHm1mqG/OOkhkrMctBOY/G37Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2647233},"engines":{"node":">=24"},"gitHead":"1f154c45cae51e0b9f5800603f9dd89de796498c","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.26.0_1769078978024_0.30542040948960025","host":"s3://npm-registry-packages-npm-production"}},"6.26.1":{"name":"@structured-world/gitlab-mcp","version":"6.26.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.26.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"90e456ec6b5459ec1234f1ea3034b7f949923744","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.26.1.tgz","fileCount":463,"integrity":"sha512-TE/VeEKSZUJR1fpbnFoGvsX+8fhR9SjfRbHMfVMkLlA+/Jh17qTmiGi47UMIkP5aLDoo+j+SqNTgcn5/rdgl9A==","signatures":[{"sig":"MEYCIQDj3CNitMn+EcPmJ5feKGuebAqMwXZbslh8W6ArsO+1ZAIhAO21WJ6Kt8yyjibv0+DdHqchosWfuhqW9aYbOzaulgcN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2646923},"engines":{"node":">=24"},"gitHead":"7e1c8704bddb3c1a87a66be1627227c20e562210","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.26.1_1769079848158_0.5454650285507197","host":"s3://npm-registry-packages-npm-production"}},"6.27.0":{"name":"@structured-world/gitlab-mcp","version":"6.27.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.27.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"d580be361c156505c0c23a97c1fac9182019ca06","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.27.0.tgz","fileCount":463,"integrity":"sha512-V4x9ku6EXVmRkZBm2DXxminP/dmUDFkXFi5D+AJ6FgzG+qyBYA08XkrpMf7zz01LtdZqcrtA2OeWS7OSKZfjJg==","signatures":[{"sig":"MEYCIQDjqHZzSO2sk7/ePfTrXXuXeOYiZJW6ZDaqxfcSRJ+EZwIhAJG87Xsi7dHTyUM+5K6YsDudn8pnRdPuCtiHtUeK+lC4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2642908},"engines":{"node":">=24"},"gitHead":"ce5a352fe72ca47584c4f9723649950e2b4dffc5","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.27.0_1769084993790_0.28912556492259056","host":"s3://npm-registry-packages-npm-production"}},"6.27.1":{"name":"@structured-world/gitlab-mcp","version":"6.27.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.27.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f9c6eb86fd10de67a5e31d81a553802510c6a6ea","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.27.1.tgz","fileCount":463,"integrity":"sha512-9T9siCFshA/XeGUIK+5JQ6aQ4QT3HV+v9BhmmO5Kh1z9UV4wUkI38ZyHAymFHcAxo25OvlMtClJkNB2utLj8/w==","signatures":[{"sig":"MEUCIQCwPLBapx+qnOhcd6Ad4C+eZK3zRNrkM0yT4zj1Dp5J7gIgBvm8aa9nbmO9N4WeKrGMN3GVFsorhLSqvur0RGeKOHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2637217},"engines":{"node":">=24"},"gitHead":"3ad0361d492d5786bda2aef42575d8950f3da00d","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.27.1_1769098217864_0.9919469508537018","host":"s3://npm-registry-packages-npm-production"}},"6.28.0":{"name":"@structured-world/gitlab-mcp","version":"6.28.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.28.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"1971d2952216b066ecc5d57a329b7a00336c5315","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.28.0.tgz","fileCount":466,"integrity":"sha512-cxeDc2cyQ0dlUUOJP6TV0VGTY9lwY/OzV69HLGp4jE9/t3bXNBFgBZOw41nP1zNZk+O0v/Xv71B1nLpZFKXvTw==","signatures":[{"sig":"MEUCIFzcW1HL+GdrLgjTPLFIvaPwOFRPUhQ4tpH4z0SSpCiGAiEAz9CcKCCQiZc6z+lOmDGKWTNkGQzPC33QkvgWlyOMVVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2649487},"engines":{"node":">=24"},"gitHead":"dfb16bb2e4e31aebeccbfc6783edc8f9837d665c","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.28.0_1769101773945_0.9534989709902031","host":"s3://npm-registry-packages-npm-production"}},"6.29.0":{"name":"@structured-world/gitlab-mcp","version":"6.29.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.29.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"553e2a519615cd35283ceb2be193e9884489d120","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.29.0.tgz","fileCount":502,"integrity":"sha512-u4CcA1rjacqs/GcnzL6sBmiOX5XZ4ZamauCMqfsKj4k9InWHS3jnwbYDOXd+9NYHLiY9bQthsf6zapeP+OA5Zw==","signatures":[{"sig":"MEUCIG4D9QLYVyA6jOByMGWofrEJyBtfB+k0uIH5M/NG2CHrAiEAmtAmvgrW5C9teMlw6O2/9hj/Ek/C3AzOVBI0+ZNt/lY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2805447},"engines":{"node":">=24"},"gitHead":"29a8b0d841c97121e33f5bae265eec368b7055d1","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.29.0_1769102468968_0.7793565419853332","host":"s3://npm-registry-packages-npm-production"}},"6.29.1":{"name":"@structured-world/gitlab-mcp","version":"6.29.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.29.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"872eef6a0d8bdecd83c655a866c5331632046ca0","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.29.1.tgz","fileCount":502,"integrity":"sha512-TdkukoU/45dnzapX1xlXns3825hb/PArmDW//coxicV4zDLfy3PRvfv6Tr+t2pyE5BUxLWSPeicUdblfxgnzeA==","signatures":[{"sig":"MEUCIDJl9EjoGgezQ0tAPKmQndqrRax6YOhUNUdbPoYf20ITAiEA4l+2n7qizD6C27hghu0VD7AH58Z2zYUUci14rPRO6GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.29.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2808981},"engines":{"node":">=24"},"gitHead":"b765cb1ded7142781de91158e379e00c18b32821","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"yarn jest --runInBand","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:unit":"cross-env JEST_UNIT_ONLY=true yarn jest","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.5","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^0.11.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.29.1_1769107297141_0.5741109152643631","host":"s3://npm-registry-packages-npm-production"}},"6.30.0":{"name":"@structured-world/gitlab-mcp","version":"6.30.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.30.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"2f57f1b11bf544bf02d65e946e5e2bd0d06b50a1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.30.0.tgz","fileCount":502,"integrity":"sha512-Ueqgcp6dOHUQHa1thnq/bRvff8Wln+AFFFwiyfyFO8TgoG7qu04xwg5oI2rEmBurhGxMZSsORo/H4fCJUlkMLg==","signatures":[{"sig":"MEYCIQCNtfuq8oLSRH1vqb/NtgFxwDvpC71f8iv+YwGEIl1ArQIhAKcaPMDcrD6MD+Bm772eGN1dza12mp9jSgTfY3dRNuVT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2836295},"engines":{"node":">=24"},"gitHead":"da2da8b0dbac1f2f8db4a90a63f4e2b56f5c17bc","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.30.0_1769120089812_0.9935164704474866","host":"s3://npm-registry-packages-npm-production"}},"6.30.1":{"name":"@structured-world/gitlab-mcp","version":"6.30.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.30.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"7134c705cb6ee0e6e35991a90fa0f4556b8d54e6","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.30.1.tgz","fileCount":502,"integrity":"sha512-yBocua7svdBlxmNI4hd1+SCga1IlwjR+HDGMDI5Kr2XExoYGBnACXPEgQPd3JdTrahdPIg/OaGEUq+xmo691SA==","signatures":[{"sig":"MEYCIQDHfE3E4/e9dgd8QSZUQ11nmCWxjeImlXIRjn7POkNhnwIhAIk9HdWNGxywDhmhrNUJ0SF4b8I01GnaAeb5jwft/XSA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.30.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2835133},"engines":{"node":">=24"},"gitHead":"fd8e8ca759da7d62529dc771f366cc01d08f17e5","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.30.1_1769177716233_0.030392606950283785","host":"s3://npm-registry-packages-npm-production"}},"6.31.0":{"name":"@structured-world/gitlab-mcp","version":"6.31.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.31.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"56f190bb8c698646eec736634be8024d6ce16c58","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.31.0.tgz","fileCount":534,"integrity":"sha512-/XRFM7eDS4EzH85fZ1z6AurQ9g7d48QqVMSjH/DubFWNokucATewQXlCISvRwRtESQTUHa6KuNdPzcvPoPpw+Q==","signatures":[{"sig":"MEYCIQCuJSpX3Uc6rrI3OIwLTl4V0+RcMinyp1C3+yvRNLPiigIhAJ2bYUl5GWKRVjUE3ABohEAj2/LHU8ZfysuTI8eFV0iX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2905632},"engines":{"node":">=24"},"gitHead":"f90e1204626d33170b8c8ef0ba4478ddd3efcaf4","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.31.0_1769181988017_0.45729670664918065","host":"s3://npm-registry-packages-npm-production"}},"6.31.1":{"name":"@structured-world/gitlab-mcp","version":"6.31.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.31.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"b45abff8a7547423ebd44f268cbcf508f3b455f5","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.31.1.tgz","fileCount":537,"integrity":"sha512-RcgsedmmEHG6OaKCdniQ5QOJMHChrlI62qC1L5hBGv4LVeyI89QgAcRDc3zJ2Oy88GGsKFGyRgZQJ2CQAyvMDA==","signatures":[{"sig":"MEUCIQD1ZwHgsF9mZSQBj4Pt6EEa5UhGMk9f7q006SQFN9zbtAIgRTR5sW/0Nki0zzq0Lw7QVL8C8rU707Gc4WglFTWXK0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.31.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2906954},"engines":{"node":">=24"},"gitHead":"01b206549621dc1de4dca7d11cff0060f18dba45","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.31.1_1769184198763_0.8683816296258748","host":"s3://npm-registry-packages-npm-production"}},"6.31.2":{"name":"@structured-world/gitlab-mcp","version":"6.31.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.31.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"d14783a61170ea9de9aba306357273158313608a","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.31.2.tgz","fileCount":537,"integrity":"sha512-lKXkQPYp539A2sk48LFaqLzDC7YpQ1PoJQRQzG5cdiFhWWvk05EcEmEWvfuhfD923ii+zvMVSh1aSWQoGe1ViQ==","signatures":[{"sig":"MEUCIEGoseRwOLaTvCSJT+YSKbJH1vGi2seOSyxBQoZg2FADAiEApLSPYhRBIzX1Kg292Ym1mgxuicx9rTFQIdaQ3ru8Fog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.31.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2912268},"engines":{"node":">=24"},"gitHead":"173b06795609f06ac068656a7dad1d439d14f080","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.31.2_1769192140164_0.10038366692711542","host":"s3://npm-registry-packages-npm-production"}},"6.32.0":{"name":"@structured-world/gitlab-mcp","version":"6.32.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.32.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"42db1a6a760a3adfaa0a36bf8a3bdee086d77690","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.32.0.tgz","fileCount":540,"integrity":"sha512-7asmohdV4JeDSOiaFrPPlgTWme6ugf4vyrq6i6xE28DVawNmeQNmiLusVuCXZJwOjudxrRKO5yBGQbm8vp9unA==","signatures":[{"sig":"MEQCIE1tnS9u2xfhRLWvEIdC/VNa82gr05+FtuYrsfqOIObAAiAuA4g8Tv1cRBzJuzDtAmZUoK+0YFCP1w/6exe9uLn9Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.32.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929453},"engines":{"node":">=24"},"gitHead":"15ec8d9fa74adb467c2e90beb5f6569b196087d0","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.32.0_1769197366417_0.5380771190133236","host":"s3://npm-registry-packages-npm-production"}},"6.33.0":{"name":"@structured-world/gitlab-mcp","version":"6.33.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.33.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f5a0d65ed4bcfc32a75702f61995b710ff8cc794","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.33.0.tgz","fileCount":540,"integrity":"sha512-1JX1UKrY/GhhhPNnE3aOPhhO/bRxiVXr36ZLI9+8ZQvNW+zadJh96m0rR9FINBULx3FrCGbolK9VPwhzBMithg==","signatures":[{"sig":"MEUCIQDPdOXrWP8HBs2M37wDXvZMxyxM3P9bYzlukAXf99eG/gIgKXhYKNK0/SzdrEfk0hx0nRZjYVNji7AB8H8mGZZ0+rI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.33.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929533},"engines":{"node":">=24"},"gitHead":"a0f49c944abe19aae98dbc9509f4ecf455143c14","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.33.0_1769198639986_0.1823519536505196","host":"s3://npm-registry-packages-npm-production"}},"6.33.1":{"name":"@structured-world/gitlab-mcp","version":"6.33.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.33.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"25c6d744ef485dfde45563410d423defdef7067e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.33.1.tgz","fileCount":540,"integrity":"sha512-VSXnwNxuv47eIUMBFDcg6d1TlOdDE6h7aP9eXRpcxnInH7DUxH9/lIYakL7VAEEQBWHjKF9I9r9Xzjoith+lng==","signatures":[{"sig":"MEQCICmjMbFlHBoVS5YZeRPC/fA81VLkLvdBbhCjPucGcnEjAiBUcUZO+Sd6curt/A34vrhM5XtQBb18xZlh87OVA4PbrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.33.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929573},"engines":{"node":">=24"},"gitHead":"b0b530825e5891de25a12ec0f361d647f583e2b9","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.33.1_1769199863333_0.14299557490339176","host":"s3://npm-registry-packages-npm-production"}},"6.33.2":{"name":"@structured-world/gitlab-mcp","version":"6.33.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.33.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"40a52a823678205c0991d0f7b38fb2ee2342123e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.33.2.tgz","fileCount":540,"integrity":"sha512-+j1Onx3dq2483tRUFewae/R8IFyI9d9Tst+iubpkrDcYZbjWTRLekFLPCnOG6WIKsmf5ItRSAJ/OzeXqGOE+JA==","signatures":[{"sig":"MEUCIQDEX2O2VqKwOJHkqqBn99lrSdvRAlTmGDBjpQWeSwUY3AIge27KZkhkwJohYLxsI8fA2BGJ75Hyfdbpp7WDnHdULl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.33.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929573},"engines":{"node":">=24"},"gitHead":"60b752354fa7ab241b6e6fb197d7501bffbddd03","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.33.2_1769202236822_0.09914578753705205","host":"s3://npm-registry-packages-npm-production"}},"6.33.3":{"name":"@structured-world/gitlab-mcp","version":"6.33.3","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.33.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"c83b9ce3701bd89994bb22a67196e258a69b81a3","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.33.3.tgz","fileCount":540,"integrity":"sha512-dQiFVlClG0H3yQHzhINiYvMElASjPGhKgMQCRTJPifOC9Emp16OtnCx5hivx6SwLXiFZgBRppAZLEeNu5PcZeQ==","signatures":[{"sig":"MEUCIAbibGIovs9KrJQYFK2Z3ffCd76vK/gff4+6efe6mOVcAiEA4YXEtABNUMUJU0EejfDVPDhAcgkYkY2WR0r8qBeAPP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.33.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929520},"engines":{"node":">=24"},"gitHead":"6e5d5286e390b01ea424040af483d301243e1ad9","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.33.3_1769204565070_0.4885985504058321","host":"s3://npm-registry-packages-npm-production"}},"6.34.0":{"name":"@structured-world/gitlab-mcp","version":"6.34.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.34.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"82aac011b0e3b822dca258f6d6f88e226df44539","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.34.0.tgz","fileCount":540,"integrity":"sha512-D/HtY6U8cY2fs1sITVq+3vNIIWVj4Zs+/jtDxj49b6sQ0YxXT1fE3FnpVAxFz5F2lmNKiWRGx53Q5H2MQ6jrvA==","signatures":[{"sig":"MEUCIQDrXWXMeAlQClgsdNKTJ5pjjJh2UZjV6ZwOxdvSQV2WqAIgdCOkUtLzddDxvygFgs3gjn6veb+clewoPpI8mXmWr1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.34.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929519},"engines":{"node":">=24"},"gitHead":"6e679c74bc30e09c0eac5b640d990ac9507b9c5e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.34.0_1769205489119_0.5154149013486227","host":"s3://npm-registry-packages-npm-production"}},"6.34.1":{"name":"@structured-world/gitlab-mcp","version":"6.34.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.34.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"9bf03345430452be3b9b0b417968037f6807f7d6","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.34.1.tgz","fileCount":540,"integrity":"sha512-w2reqLkPFqZWu6gLv+oyC1ZDTSNHZORsaE0ghV6D/2YEtslAyvWB8tvBsgljrXFZMMyOibOEpKrgA0JsC7qs8Q==","signatures":[{"sig":"MEUCICbMi4YFbRT+B8KePe+JmKVcZ/QyEFxSN7/86a0YI0kKAiEA7Lwo2HMxaJGeyx7NP9NCsr0cteEcSvyXUg+nL4VPj7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.34.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929521},"engines":{"node":">=24"},"gitHead":"2820f70ab4237bad56977a139e8ea9cb2e9ae26e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.34.1_1769206665981_0.41599859462124233","host":"s3://npm-registry-packages-npm-production"}},"6.35.0":{"name":"@structured-world/gitlab-mcp","version":"6.35.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.35.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"7442e96670d197aafd46c1bd92102c16d7e985ac","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.35.0.tgz","fileCount":540,"integrity":"sha512-WsFCxTgQpgyXtFx06sQ+lm5kV1ThIz5lK/EgRnYGNsEOF/5Xe61QaoeY50t5Pdx/5bcNJz5bVgQ4dh0s5L7Aeg==","signatures":[{"sig":"MEQCIC2gjL8ILh9BsE1FafBWZBYATCSJ0qxa05A6bdBWDvXCAiB6enqHIEtG+jS0ILQNrH6+MhFKP++TRuxoVi9cc5/2Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.35.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2929518},"engines":{"node":">=24"},"gitHead":"1e34a93b0f0b75e6e5e4494a753d535a7a8e3b26","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.35.0_1769207356194_0.2909934154809781","host":"s3://npm-registry-packages-npm-production"}},"6.36.0":{"name":"@structured-world/gitlab-mcp","version":"6.36.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.36.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f8e2fcfed1289fa6b28b9e921cd511267359cd89","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.36.0.tgz","fileCount":540,"integrity":"sha512-Hc2v8zwIHWy72kU1Shbkh01lm20ZxvDBdm5Kfsr+Ydq7+YjWrVOFBc7KNyHy7HnE09u8xpzCVmfMw5nnWmg2CQ==","signatures":[{"sig":"MEUCIDBJQZKho+nuCRKzdo3S94maten4D9AL54qKPuy+5yBiAiEArmFryOVCcXBXsko7S547txdLcBzX/4bjLcjAbkE8LKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.36.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2938547},"engines":{"node":">=24"},"gitHead":"9ecbeb41f0444af3f5226e2032f147227c5a04eb","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.36.0_1769208017999_0.8571063847535738","host":"s3://npm-registry-packages-npm-production"}},"6.37.0":{"name":"@structured-world/gitlab-mcp","version":"6.37.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.37.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"f9420051bd0f7ac86d325db915032b414998fdc5","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.37.0.tgz","fileCount":540,"integrity":"sha512-2Q55HG2T9yXbVPuoUuuUEllcnlO/McjOyJdrH+DMCFFEVjYMi92NVa/8R2g84xQ11g2SQI6IPp8X0zcj6B1Zpw==","signatures":[{"sig":"MEUCIH8vxeGUu1bXFvL0Fk4BbSnAubed6W+0gt45cMpHw3OVAiEAnmpHzWYOtLjHdgxjKK3T6v4LHISc8O9qwcA+/zuHUVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.37.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2977296},"engines":{"node":">=24"},"gitHead":"ed24d1eee8aebcfda50b856c97c4517be9786b07","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.37.0_1769214738010_0.9231341296622841","host":"s3://npm-registry-packages-npm-production"}},"6.38.0":{"name":"@structured-world/gitlab-mcp","version":"6.38.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.38.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"5a0189581aa806754bce6693c940188f7a3ff2f7","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.38.0.tgz","fileCount":549,"integrity":"sha512-evQHVN67GWUSRUqDNmO9NWNEO9tdQyreluT0ZSN0pkj28W2ZfzVGaIb4SgwzQwtrJjucCNMbsXJeOMjUQ1WX8g==","signatures":[{"sig":"MEUCIQDySetgPLv8COmA9cA/P0wXtl5wBGG2ux7llG4E2yJSTwIgL37DiWg2IqdDZOFIt92RmkDekKm4+8QRmXOz1RXXO/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.38.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2963795},"engines":{"node":">=24"},"gitHead":"a5c1a365f15745ffd4a284dc286a266c8971d12d","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.38.0_1769247636291_0.5615785047825059","host":"s3://npm-registry-packages-npm-production"}},"6.38.1":{"name":"@structured-world/gitlab-mcp","version":"6.38.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.38.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"12dd71f5cd27a2bb35d0fc4c2913772c5d1c0b3e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.38.1.tgz","fileCount":549,"integrity":"sha512-oet0d3daxABhj5kACbq52NhNJjVtApFxw+IVSWiibE84DWZF5CUB4zV/UPwLLz3HrDiCnIxDLmfz4Y0aEf49eQ==","signatures":[{"sig":"MEUCIHLS1PKh138xlY2R6I2ek2VXLxfcoPe9v9JkHzudnot+AiEAq8NRyUq9JBuXLJrd4RnnfScWooR5R4MF6OKpjlup2mI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.38.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2963958},"engines":{"node":">=24"},"gitHead":"c486056ce72687bde41b1bd91dd898bfea2794db","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.38.1_1769248550884_0.4389754525935654","host":"s3://npm-registry-packages-npm-production"}},"6.39.0":{"name":"@structured-world/gitlab-mcp","version":"6.39.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.39.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"c1bfcc824eb1421ed0ef776e86341645b6b34ada","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.39.0.tgz","fileCount":552,"integrity":"sha512-1pCQgppIZ6DNSlm7+wsd4769VtDtetxY3ghPjFCEGKp3LO+Dbrq3cD6uyXHq958xc0kVTGlV0d8JS2wWC3M6VA==","signatures":[{"sig":"MEYCIQDrLpxoFBXPmUXxnJDgaDW9Kxv+gwcHDE1a56cBCyxoMQIhANZ5akBt1EZdepu4/9y6fcmI5go6fUMEGYvJjc2QPvGV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.39.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2969378},"engines":{"node":">=24"},"gitHead":"7bb4d2b5ecc269a4d1b9bfa22999b890406cd93e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.39.0_1769250812035_0.7610330262893554","host":"s3://npm-registry-packages-npm-production"}},"6.40.0":{"name":"@structured-world/gitlab-mcp","version":"6.40.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.40.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"806668af7cb5e4565eced74b18621d9b7cdbe69b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.40.0.tgz","fileCount":552,"integrity":"sha512-gqeC+JZqkwgsuPIwsZe0ZNBCBnHH88w7Xgxxc4GLUhZKyRFrD/o63w3aKhGWjZqcZBUVXFuPzsBB65byQpNfOw==","signatures":[{"sig":"MEQCIGPkroPzll5R9u+uG4Vr/JSajEcDmY8P1Pz20yV8belwAiBCvfUkTQgJclqCSG4+uT25LBZ6hhLY3x6TMmBpMDKQUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.40.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2973287},"engines":{"node":">=24"},"gitHead":"f83c4e235a42efdd3708669bcacd537357921946","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.40.0_1769253474410_0.8041853886450965","host":"s3://npm-registry-packages-npm-production"}},"6.41.0":{"name":"@structured-world/gitlab-mcp","version":"6.41.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.41.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"ae7ce521983d887df1bbcf6264a5d45e887f1166","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.41.0.tgz","fileCount":552,"integrity":"sha512-9sBg/GAP9rYNFIi5ugOWr0cIzqPvARtZ71rMhTn1AGQX29pIv6LBLJTXXwWZiV1DaLNnR62NABJ4/URqmRq6Pg==","signatures":[{"sig":"MEUCIA34P8xn86T9K+CQaazpX20i3DNHtY/EiotJ4/+79GXnAiEAjuDHEBNzcM/kS2a+6NL2Vw4/GF3nRpRarihmq4gr+vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2977057},"engines":{"node":">=24"},"gitHead":"c26d95360f5dacf93d72bf8d4ad206c55ff22ac4","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.41.0_1769264162526_0.30647481083817607","host":"s3://npm-registry-packages-npm-production"}},"6.41.1":{"name":"@structured-world/gitlab-mcp","version":"6.41.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.41.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"129e330c9a4e04edb579d113c6fa7fe625b6f52d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.41.1.tgz","fileCount":552,"integrity":"sha512-xge/RHWh/1ox/Eb0b8wD1qm+ZBR6apeWogYomCkhezcfHKv7TiZwf7/2KnTfTd66375R4lJiorvRBdmY8Bz8bQ==","signatures":[{"sig":"MEUCIBFRG3pOBXzkU1v6e1pJVvykSsacvty4Ov5b91ZeY1KCAiEAxdGdzD8csyTJCSdd3UAj5e2U8+jHFqwz4NYBpcALprc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.41.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2976286},"engines":{"node":">=24"},"gitHead":"24d3bace5db652197a4e2e3788cc4e4889329cdd","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.2.1","yaml":"^2.8.2","prisma":"^7.3.0","undici":"^7.19.0","express":"^5.2.1","graphql":"^16.12.0","form-data":"^4.0.5","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3","@graphql-typed-document-node/core":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260123.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.41.1_1769264949840_0.979689493633062","host":"s3://npm-registry-packages-npm-production"}},"6.41.2":{"name":"@structured-world/gitlab-mcp","version":"6.41.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.41.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"fe12ec9ed97a45e559db3aaa468a9a3adcd0eae5","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.41.2.tgz","fileCount":555,"integrity":"sha512-WfQLwCDNYIduflGTkjWGsge/qbrj9vGJUcQ9SlBhUbiLJNzQ0KubKesbwB8/pcQqumdklz1dMbJ1oNBBk6OlGg==","signatures":[{"sig":"MEYCIQDFuqHrcCfh86JB/v+QTwW0iSQAAusauCXKPjGwGI0njwIhAPBmQgAdGACpkvAFjg5XBeTKjLQuEWKCz9KUVSHlpYu7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.41.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2994209},"engines":{"node":">=24"},"gitHead":"a542a6d9c532576270e74e68d49113be36a120fa","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.41.2_1769271645301_0.11210350045868678","host":"s3://npm-registry-packages-npm-production"}},"6.41.3":{"name":"@structured-world/gitlab-mcp","version":"6.41.3","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.41.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"bb82ee1eb0cdf42a23c341ab511cc99b0c8a1d6d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.41.3.tgz","fileCount":555,"integrity":"sha512-A9XmpOIqu5uASvk8ggRA4cMa1WxbfXKFLNri14wGhqzs6YB9dD4JAssJmFl645U4v/kd1bxue4JSmnEnels8Fg==","signatures":[{"sig":"MEUCIHb46hrzo17kyBwGL8gOl4mDE/aiO8gufP2ltn0myDi9AiEA/rJQ35G07y55ljgZfjHHZiPcmF/feRTxT1kKqJd2v5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.41.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2994208},"engines":{"node":">=24"},"gitHead":"eaefea8d971ecf216cbc382bc89d9e76af03968e","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.41.3_1769273505712_0.5076477130439883","host":"s3://npm-registry-packages-npm-production"}},"6.41.4":{"name":"@structured-world/gitlab-mcp","version":"6.41.4","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.41.4","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"de18a0edbff0aa0406c3f90176d1762e72da00c4","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.41.4.tgz","fileCount":555,"integrity":"sha512-T9+Cd1dXiE2b6gNhtRKwQWSqtbWJEgWQfgMQwoKYsgMsmOFE2ZnphaxFNMjgegDoEeSTZvhN5R+1F4D6k+4JQw==","signatures":[{"sig":"MEUCIQC0U1l8ElXp7i90mmrrK3+wW7SMYRCt3aMxF8K2EzWIhQIgG4X24yq5B9nEy+ZVBvZ23Mv70iZ49+xQ8IgFwfKA0hk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.41.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2994222},"engines":{"node":">=24"},"gitHead":"3fa96c5d6528e9c7e98d1b0aa8891f7e66caa9f9","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.41.4_1769278614761_0.28826919481924085","host":"s3://npm-registry-packages-npm-production"}},"6.42.0":{"name":"@structured-world/gitlab-mcp","version":"6.42.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.42.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"8e3d7b0b6a65de68193dcecbecd96a0f490482af","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.42.0.tgz","fileCount":558,"integrity":"sha512-UJXYAExg9Pg39ueLxFd2F/TQfY4yOBdLRW1IyACD6xLeXjm1gydyBVz1Od37hcRe1ckXqDKUEm4wsyfmlYye/Q==","signatures":[{"sig":"MEYCIQCoVCo1TDpNKKwDF2tJY/aBfsFUUl5Z1/cdCkI9iOv6sgIhAOfmPjvIKUF1YHk2F9DtbbNU6T2teFRjsfUDOadu3e8C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.42.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3028164},"engines":{"node":">=24"},"gitHead":"82572c1985608a1c64ebf48c33f309254fae1327","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.42.0_1769305124537_0.1851749103847271","host":"s3://npm-registry-packages-npm-production"}},"6.42.1":{"name":"@structured-world/gitlab-mcp","version":"6.42.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.42.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"22f50ff8a1828ee44a79610c66315abd5efc6eae","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.42.1.tgz","fileCount":558,"integrity":"sha512-B5USsnIh1d7k/4tIBkRLQDsy1FN2QEarsbwHeKQsZCXCbQBxJHvVeAutiGrls3FgSzTZrrVjE39CpA/Bgu73vg==","signatures":[{"sig":"MEYCIQCBJS2GDNGvG2/YC+DD9Z8dKTl5JEfFTwpe2GnVCwOjDgIhAPuwJsk7L8ZMsmpaZL7KFNdUJsqspb0VMmie4ApVmQWk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.42.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3036303},"engines":{"node":">=24"},"gitHead":"2dbb29ad67d4ab5df55583c58117d7a5747c3d7a","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.42.1_1769307269419_0.17770940018750636","host":"s3://npm-registry-packages-npm-production"}},"6.43.0":{"name":"@structured-world/gitlab-mcp","version":"6.43.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.43.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"03e5fef2446621b0bb5ce06124d1020d28ee459f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.43.0.tgz","fileCount":559,"integrity":"sha512-La1WxwbE5D7KdeSSmaS/S12foT/APnYlGSF5c0Ay60ndO6ju9VHP11S6uQO9dh0I8zWiCnvq0Hgd8d7eRwCDwQ==","signatures":[{"sig":"MEQCIAnRjgxKoZrOvNMiQMZaolPvnxWouOh7WdI9SKCvdRKMAiBLZ55UfmLMwGJhCXyuPMQdsPly9cVtwNbNOP2s+mclJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.43.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3050291},"engines":{"node":">=24"},"gitHead":"2f1fa85dfd95ca7d0b696d26d1d1d24653ef0568","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.43.0_1769308577952_0.45288797337986253","host":"s3://npm-registry-packages-npm-production"}},"6.43.1":{"name":"@structured-world/gitlab-mcp","version":"6.43.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.43.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"61ce8d638ee4c32efd00db7fd783db706831faca","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.43.1.tgz","fileCount":559,"integrity":"sha512-tWAX9gTfHmyfDDFD/+iHwZDT0GKIhOlYE7aPWvV5N5GDS5FQ+AW508K1HkGqPF9rnKjNhAbbvUCU5kkCcpwPLQ==","signatures":[{"sig":"MEUCIQCo+FhgfxFghDZqazsuSOcA7dm7RPe9RBtqH8MY/67WngIgQ4ylFhhQkJwBj4iWN4tIcg5muXrC+qx9eLcRpiBmDaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.43.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3050313},"engines":{"node":">=24"},"gitHead":"f0172f385f565c35f9aab898cb6f2d5dbc21ab2a","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.43.1_1769311227518_0.670227492114821","host":"s3://npm-registry-packages-npm-production"}},"6.44.0":{"name":"@structured-world/gitlab-mcp","version":"6.44.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.44.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"0f62448f583bd8b4a2a47c86c792b926d9ec59e6","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.44.0.tgz","fileCount":559,"integrity":"sha512-mZ8MpjIV2nUbdVUYQBu2RZtrpIfnr07zRSjo2EmTM+nN51TX472t/yfispFxq2I+USojSzFokhqGd5LF329wyw==","signatures":[{"sig":"MEQCIAWRuvhMihAO323VQMAj+JIvj02SZ86ofZW8Xv2NTO6vAiBhbgn7VAD0oxgY5vIrMC9P42uMHntQXKqUHz1yYbNiVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.44.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3051714},"engines":{"node":">=24"},"gitHead":"0e0f0128cf5d9b2bccdafc6f988c13110bf850b1","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.44.0_1769312846634_0.6171664420165326","host":"s3://npm-registry-packages-npm-production"}},"6.45.0":{"name":"@structured-world/gitlab-mcp","version":"6.45.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.45.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"1f03b2fbe8dbdf795434643bedec5783a4feb1bb","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.45.0.tgz","fileCount":574,"integrity":"sha512-NyT6Y0KF7brqUr97v7PDFKQg+GZePQJH9IP3k/8spntckhu/Kwhm+0yHkE/O+wp8m5dx6EdMftixXRX0gNOAgQ==","signatures":[{"sig":"MEYCIQDbxA4l8d+MovkKRTub4ZhiW1SKp2Ulz+jYkhlJrLVEGgIhAL8m/Y4CNBuvSmmY2WUI1PI4zMJc9PYknHV6r6Yj9z4G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.45.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3114155},"engines":{"node":">=24"},"gitHead":"6436a59c2bc4dd80a1b7d0a5bc0e7d10399f609a","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.45.0_1769314265598_0.7582542012996736","host":"s3://npm-registry-packages-npm-production"}},"6.45.1":{"name":"@structured-world/gitlab-mcp","version":"6.45.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.45.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"1c5556b1f6e530720f6ec7aedaeed0613a6ce467","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.45.1.tgz","fileCount":574,"integrity":"sha512-GuiL6Xt/8CP/vm5UxZ3ZwYZi/Prv7T4gvZLhuBVxYdEObKyJdfeCNzqhFGw0iPuMyfme/vD5a0bk4LdSOP+54w==","signatures":[{"sig":"MEUCIA6O5CrfXSFFfsq52k3r/2YAOqcGcaBatKzFO87O2zSsAiEA1vuS0XpO6X1cB1t0B83LIhj2J2QvqUOfse2cKlUwroY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.45.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3114885},"engines":{"node":">=24"},"gitHead":"fd571a38a4a0429a402607ae86c96429a7f3a580","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.45.1_1769316471599_0.05140695660716221","host":"s3://npm-registry-packages-npm-production"}},"6.46.0":{"name":"@structured-world/gitlab-mcp","version":"6.46.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.46.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"aa9e5f60eb39d883be7cd1dd3abe068a5fecfe29","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.46.0.tgz","fileCount":577,"integrity":"sha512-BBq+r1cCJNklEn8dpUfvRWKSpTYgJwb4eLSLyAHeyI/RlFaKVfbojSlZyJQmVubDRPUoYdQjvJoPL1rAwzCMcg==","signatures":[{"sig":"MEYCIQCKYC52TWh8c8vG6+fxYjq2zOBSnJ/jf+4Uu4ZvJs7C9gIhAJeny2ciycCpjnfPoK/rcPAFjxBMrONdNaf7g7ii5jAx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.46.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3148532},"engines":{"node":">=24"},"gitHead":"1081eada65740b1c6e0dd4f5ad7f02df728de770","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.46.0_1769343656088_0.15228661309601055","host":"s3://npm-registry-packages-npm-production"}},"6.46.1":{"name":"@structured-world/gitlab-mcp","version":"6.46.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.46.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"0a436bd1ff8b01b77e6b374ee48d426f48f67d3a","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.46.1.tgz","fileCount":577,"integrity":"sha512-ug78C7Ab3cBTvvLeXt0Q2hmT0fKLlq+20fs4YbDKIo1mdr0ebvw7jAHE/8kksJxAExeKJzbE2KnH5bStyzm5JQ==","signatures":[{"sig":"MEUCIDjCxYCfwVQaYECoilp7zZO0vWKutxFmdcV9f1ds1d24AiEAicszc/Ny9sTp0xQmsA4m4db1thAS84Muk1RXrk03Njk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.46.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3155600},"engines":{"node":">=24"},"gitHead":"f285d52ec8271438f61a9dfeb7ad9b70d4d49d33","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.46.1_1769351249636_0.06259207857456373","host":"s3://npm-registry-packages-npm-production"}},"6.47.0":{"name":"@structured-world/gitlab-mcp","version":"6.47.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.47.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"084862af4d673fb6b054f8044feff78710b906d6","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.47.0.tgz","fileCount":577,"integrity":"sha512-G0TEGkLCTFVrFmMtbI4ZyeNikbgKxC85yfntxHLTJfP0E9pgUEPtJCU/eAbo0Rn6UqlBXA3ZCRexV81N/CuPUQ==","signatures":[{"sig":"MEUCIQDggH/WhtQFOvkdCSVuxDdWJVdYEjkeTL953dyMPdSe1gIgI4l3QVBt4jDGHIVG5++RMqtcNboDOSl0pi1ziT/Y048=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.47.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3155668},"engines":{"node":">=24"},"gitHead":"1885f254de07a7fb931ed483fa3edf6b02ac433f","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","vitepress-plugin-google-analytics":"^1.0.2","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.47.0_1769355640553_0.5139888133857551","host":"s3://npm-registry-packages-npm-production"}},"6.47.1":{"name":"@structured-world/gitlab-mcp","version":"6.47.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.47.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"dist":{"shasum":"c2cfb019e8141ed2c971606ecf741fbf9eb42808","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.47.1.tgz","fileCount":577,"integrity":"sha512-Sb2d63lqS3j9XHIzO0OMXrp0eNLsphWoexKv1MK65Ewel1pGuY6Psu//j3DLZ0uN4gC1XUPZQ3GOU1MW2X++nQ==","signatures":[{"sig":"MEUCIQCe6GX6mwm7j7cZtP8bStYEzbnRGd8HPbBg1NFe8WvQBwIgRCw+WWcSxaMs4grv58Ha6HMN0A4E8qL7AnWCJRp1j0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.47.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3155672},"engines":{"node":">=24"},"gitHead":"2fa9de0c1b4be0a55a8ba319a0ce298e14c6355f","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","vitepress-plugin-google-analytics":"^1.0.2","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.47.1_1769357008853_0.4199596547063007","host":"s3://npm-registry-packages-npm-production"}},"6.48.0":{"name":"@structured-world/gitlab-mcp","version":"6.48.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.48.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"94a5d4dd075474fd20b10d1e881f5a956a9c551b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.48.0.tgz","fileCount":577,"integrity":"sha512-PvXdqQ08sJpyp4+OAP+PYDT1+KIi/BDxhRDGcMbjzTXGkK2dtpZF0FnuxXBAS5qyKGrgEWcsp0LySpSDmRvKBA==","signatures":[{"sig":"MEUCICwCps4rPXwglkPO572tJTrhxTM3lWX5XxYBP45oUqbIAiEAw6pNit9ox2R/fkiz/X471hIAM+yB2Q/w8HKRUAA18w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.48.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3178857},"engines":{"node":">=24"},"gitHead":"eac63692d7d02b11571327d8269e7d84394e7b61","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","vitepress-plugin-google-analytics":"^1.0.2","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.48.0_1769358343641_0.9113567587342262","host":"s3://npm-registry-packages-npm-production"}},"6.48.1":{"name":"@structured-world/gitlab-mcp","version":"6.48.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.48.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"b12abcb7241316f0614b1b4ec0503c46a0caddcf","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.48.1.tgz","fileCount":577,"integrity":"sha512-jazoX2lcAo0fnNc6yw0HvPUuT9FdlA9r/SbGAsFlBJGMQKLwVScVmUpcI9i6C9YLKsqyvNhOInT9DditV/T4JA==","signatures":[{"sig":"MEYCIQDxeejYWW5a5gJbqq3I24RdIX8btrYowYifut55AnrRAQIhAK2G50B/5529tCW+fsLI3KNSIppt7ttR/WMQnvk3fzva","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.48.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3178772},"engines":{"node":">=24"},"gitHead":"b863dee75ff83c7f173bbed64a8102dea192dbe4","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.48.1_1769368264384_0.3885271649625448","host":"s3://npm-registry-packages-npm-production"}},"6.48.2":{"name":"@structured-world/gitlab-mcp","version":"6.48.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.48.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"3d3158996d0a49f0ae3ffe67e766ae9c3c7ff178","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.48.2.tgz","fileCount":577,"integrity":"sha512-MvNCUToktU6yvHELjrPyUCFq5pNR4Pvjt2ODdzRzXv57k2yYaCYUf5MPWdU7L4ioCNE1tdnwMHLyR+kquPeA0g==","signatures":[{"sig":"MEQCIBBQ949YS+94qMRn34aiK95aKkwAoscl7LktsDNDskbdAiAefd4TyXUodj3EmafazXgFhoJgoXyW+9YOXMs9yggwhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.48.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3178771},"engines":{"node":">=24"},"gitHead":"9a4a1f229b30ffc52d9849f0fdf5a6d391999694","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPattern=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.48.2_1769386079480_0.07470150515374718","host":"s3://npm-registry-packages-npm-production"}},"6.49.0":{"name":"@structured-world/gitlab-mcp","version":"6.49.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.49.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"b1c8659562b9bc3e76b7dabf4f6f97673d1723b2","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.49.0.tgz","fileCount":577,"integrity":"sha512-i16x8/kZMvw86Z9zPcaYNaH8lyazw8AG+YgMCdFkALlt9sCM7VT05JXDn/idgTcAAU1nN95zsTveKJsv2l9ljA==","signatures":[{"sig":"MEUCIC9OfCSKTNqCNBjik21lw/wsuSRZFA5EkIl4JcMyOPD4AiEAuvPHtj7BgoOm34rSdFn+UoLmX4zjoM08/cY2jiuL85Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.49.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3194926},"engines":{"node":">=24"},"gitHead":"1d9dc3dc5a42dd7866414326a0ae21efcc77fc92","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.49.0_1769442407376_0.3169819670464571","host":"s3://npm-registry-packages-npm-production"}},"6.50.0":{"name":"@structured-world/gitlab-mcp","version":"6.50.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.50.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"b002a9b25b10dca5b304bd526aa2e3c60921827c","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.50.0.tgz","fileCount":577,"integrity":"sha512-rGod+9KMaBn88+whxl/Dv7fQmKhtNsRkkJQ4cpWeVKFmxTFUTpLWLRrxi1jxIj8DlTk5LJrr11vD1aNabBY+hg==","signatures":[{"sig":"MEUCIFEeUjLeHeo5+OpJfm3OhZFgkul5ObTdP1hpoGeTdBs7AiEAlBM0bX3RjDpXUiGDEeciKVirT4zPCYoMprr4cBpFt/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.50.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3196654},"engines":{"node":">=24"},"gitHead":"8e6f7ede6dea9570b989b1e517c535fa2c1e02a8","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.5","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.1","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0-alpha.9","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.2","@cloudflare/workers-types":"^4.20260124.0","@typescript-eslint/parser":"^8.53.1","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.53.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.50.0_1769527722573_0.6501348185658442","host":"s3://npm-registry-packages-npm-production"}},"6.51.0":{"name":"@structured-world/gitlab-mcp","version":"6.51.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.51.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"64dabd7f47ca4f4810c9b0e430d0f5e113f6430e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.51.0.tgz","fileCount":577,"integrity":"sha512-2C0ht4+9xMdt0Lncb5QlOhvs8wipfGL+8lxoWGEOjly6MgDOTiQEKspt1ezr/3Io+qxABC72INIwtFb05gQbvQ==","signatures":[{"sig":"MEUCIGD5pIbDTXrBPjlbvJNLn34hgjG2GgUsIpEjpw6mLArRAiEAgbmWC/eqxxEIPUdETNd2A105j5wS3kTsIUmj/j2K9AU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.51.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3197307},"engines":{"node":">=24"},"gitHead":"a4e4b321980cdde9167450b97101767dd8a0e413","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.2","express":"^5.2.1","graphql":"^16.12.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260131.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.2.3","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.51.0_1770031246866_0.09210241737198177","host":"s3://npm-registry-packages-npm-production"}},"6.52.0":{"name":"@structured-world/gitlab-mcp","version":"6.52.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.52.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"c0ba740358735072eaa3880e3a21e7e1771b5fd0","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.52.0.tgz","fileCount":577,"integrity":"sha512-2S/VJd9VT+XzOtywqbXtKHbLex4nn0+FdjlBJfRj42AOhCOM3cM/aLbzY/qvvsvi9Y3YKhu1zdoRgYNl4CGmVg==","signatures":[{"sig":"MEUCIQDOkZSUXEkz5/HjzzAthKv/k5Bz4x//J1rDcXLE9oR7swIgBDpueUp0GW4LZvC6AaDcK3uTrfJJCMwbCaJciAiUQak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.52.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3206308},"engines":{"node":">=24"},"gitHead":"f12a7b6f4be6e09985a2f96a72e1578984ab3655","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.2","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260131.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.2.3","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.52.0_1770210580828_0.5080299492464744","host":"s3://npm-registry-packages-npm-production"}},"6.53.0":{"name":"@structured-world/gitlab-mcp","version":"6.53.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.53.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"a07941e39c2540d1dbfbfada0c97140da3fb6c7f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.53.0.tgz","fileCount":577,"integrity":"sha512-CP7uTIlRjdyfFvPmdeGZt0R57RRAxi2Y/LV31WrtM9Y5Sy2FvsPm7aQEW8PYixHcMrtRsalUEICHUeJg4jEw2A==","signatures":[{"sig":"MEUCIQC9PSxDmdxxN/fTAvEwAX6V13vvVfqQLOqESb0l8adg2AIgDC2excOtlq3WGTBPZNHJaOaeEVg1wogC9wpPn9s6z+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.53.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3213758},"engines":{"node":">=24"},"gitHead":"ce9c13add5a557b1b12c244df110d3cc0a7580f6","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.2","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260131.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.2.3","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.53.0_1770214733936_0.2977595047468431","host":"s3://npm-registry-packages-npm-production"}},"6.53.1":{"name":"@structured-world/gitlab-mcp","version":"6.53.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.53.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"c0422cbe7581008b5f476ec5638cc5efca506bec","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.53.1.tgz","fileCount":577,"integrity":"sha512-nRKTgA9sdlKe8hPqyPENer8nH/qw/xxYBZgLoj1QAaOJBH2z697drKmDCzJrIDHPd7gbjpQeBD6Z4HtgXq8mcw==","signatures":[{"sig":"MEQCIGL77CCq41GjL/P8S4+fF/5i20fCv+zMo4u6uEpoo7PKAiBMlGrjjNAR0FgbESkEnr/pf6U/qjCSd8wyxAfsdXuaYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.53.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3213759},"engines":{"node":">=24"},"gitHead":"5a1abd9e5d4abcd190a26f971a52dcd5ffc11805","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.19.2","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.0","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.9","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260131.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.2.3","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.53.1_1770235522874_0.8763439464541694","host":"s3://npm-registry-packages-npm-production"}},"6.54.0":{"name":"@structured-world/gitlab-mcp","version":"6.54.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.54.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"02ef4b6f09d97f2fc5041147df04469523f05a62","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.54.0.tgz","fileCount":577,"integrity":"sha512-ymyRhCdTSl3J5+jsTcwmxhw9bn5vtZJR2WmnNIi/fljEOF7j7erxmVonbh3HjCIOV47bh1/CJ1mnXSYVkIxfsA==","signatures":[{"sig":"MEYCIQDTk1tGEJmQb22FqyC91qDbpL8EdoeVCtD/DUF/97g1OAIhAIVMV/WZStOHhkQbwUgEZGDP5KBAXBLeNJVBj3404JzJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.54.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3213754},"engines":{"node":">=24"},"gitHead":"e2df2e75e51e7f43389b49ca1b60dd84aabbeeab","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.6.2","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.54.0_1770243909251_0.022374857572737827","host":"s3://npm-registry-packages-npm-production"}},"6.55.0":{"name":"@structured-world/gitlab-mcp","version":"6.55.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.55.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"cc9ad71a5eeb64e472360e36956e302e2fe14ecd","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.55.0.tgz","fileCount":604,"integrity":"sha512-56cKwERGX9/yWK67udE+E5RBczBMw9NgUMO3L0AYNJ2C9Q5ASgBY66ZmeTBRth7FLwvTBVZJu3g9zODjpWEwSQ==","signatures":[{"sig":"MEUCIF+r8O5bwO7lJ+v3ZvMlsroM6st6NuQwdPxak3hTK/7zAiEA5asbJmxvzmEE96QRktUHFUsdnH6agVAuLxaAf8Z0tLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.55.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3391564},"engines":{"node":">=24"},"gitHead":"22b5a72322edc3307c3255b7b82ce75bc2a09265","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.6.2","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.55.0_1770246827294_0.047305463057021324","host":"s3://npm-registry-packages-npm-production"}},"6.55.1":{"name":"@structured-world/gitlab-mcp","version":"6.55.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.55.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"3ff9e6bf575f23ad9ebe0784b5cac9abf368330e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.55.1.tgz","fileCount":604,"integrity":"sha512-AuAwpMGtF16rPoGeXgQOWQUTKHfTv/k5fZhYKl6t3kH8dnrOtd+7w/OuaNEUlAwwcb44WVe3ov33e+5GWjMeIg==","signatures":[{"sig":"MEUCIQDx2gWmjrAt4iZZsJZAc119K8/n/isiYcqLnXDD8d2eoAIgTcJ1s8sf/NQR1FGx7uj3FhbO/A5aoi2+p+8MWPTSjik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.55.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3391333},"engines":{"node":">=24"},"gitHead":"25b2c1a50914dbfa52827fadd9d0785054562003","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.6.2","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.55.1_1770247477729_0.8794670557872533","host":"s3://npm-registry-packages-npm-production"}},"6.56.0":{"name":"@structured-world/gitlab-mcp","version":"6.56.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.56.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"dbb4cc4bd7339a22b28b015cf509514087d3a920","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.56.0.tgz","fileCount":616,"integrity":"sha512-FSfKcpothJwtgGIJWo7SHejXNDVxLcXDGqji4iZK0A+zkVUxNc/QOuDB9i7qe5iGkuu36hBubTks3ZUaDecJxg==","signatures":[{"sig":"MEQCIA0iXmB46MsWHpGRBspDOnd60NQLL78tJnctY7s21p4gAiBnC9tcq9K7pXryaztU/40pryJci12NAhrFvMhOmg1frw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.56.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3443360},"engines":{"node":">=24"},"gitHead":"3cd5208a930e604432474166c1c6b2d5a3446ae5","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.6.2","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.56.0_1770249424828_0.2269160660774141","host":"s3://npm-registry-packages-npm-production"}},"6.57.0":{"name":"@structured-world/gitlab-mcp","version":"6.57.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.57.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Model Context Protocol server for GitLab API - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"f01166a7ca4cfd98c75dd384ed56087b196eb0cf","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.57.0.tgz","fileCount":616,"integrity":"sha512-+0SA7hhQx5QVjc51wGerx/Uy6RdQnriu3WvWbRF8HojBv+WjNJdNH9UZ3qzXHQuIRWPqIUHvN5cQGdn3V2nQPg==","signatures":[{"sig":"MEUCIQDtgdeswuG+JKTlfGyCmK1CM0DarCQh5WkRlrRLy9oE1QIgLHdsW3KfHedfhLk6wcNi8A6T5/mrnRsmh+X+QPgf2yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.57.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3438906},"engines":{"node":">=24"},"gitHead":"df0ebe325772d9ef25f1a6df46a9a5a9f713c8c5","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server for using the GitLab API","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.6.2","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.57.0_1770256168896_0.5647278633332826","host":"s3://npm-registry-packages-npm-production"}},"6.58.0":{"name":"@structured-world/gitlab-mcp","version":"6.58.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.58.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"5f81f3fe605dc93a240a09bd83e1ec53b12aa07d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.58.0.tgz","fileCount":616,"integrity":"sha512-d4+3zTXsE5wsZT0FSui1PfUxghnDk3jD+kKoD5JrB1Xuch663uCUZvRPk6zCV9v60g8SbZpLUmCq2oJgQGKIbg==","signatures":[{"sig":"MEUCIQCrz3+fuekbjOFTAXFmtLU+E6UbguP/I0qO2JF1/V5TdAIgPfc1chUqbG8DxtuMrr+1AYky36XXd7+nMVsf8h6SaTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.58.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3447060},"engines":{"node":">=24"},"gitHead":"ee7b89072131946e6ad697835e1bacb0d289bc1c","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.58.0_1770265521590_0.6633985233664097","host":"s3://npm-registry-packages-npm-production"}},"6.58.1":{"name":"@structured-world/gitlab-mcp","version":"6.58.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.58.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"77a687b2695f8be1bb22a44fe75a2c453b643118","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.58.1.tgz","fileCount":616,"integrity":"sha512-wPeVTW65NT8fqG61WI7n723bERtJ/QQZl6sAveAJ9VVSw/qdIUri74Vn6/8EG0WWt2ZsA5Jo/AAQ/nmjDJov4g==","signatures":[{"sig":"MEQCIB6SzASmBRhUKYd+W59oCgMLuC8yqa4vw+2vFWEuuP2EAiARdcJW4Mbgeztd9kqE6lm6pIc1DLXQGBHzgJa42Cu+/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.58.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3447249},"engines":{"node":">=24"},"gitHead":"9e5221f3c9ffbaceb13a1ab17072b05c186d4cc2","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.58.1_1770307355366_0.9793581226340073","host":"s3://npm-registry-packages-npm-production"}},"6.59.0":{"name":"@structured-world/gitlab-mcp","version":"6.59.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.59.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"6cb3d695a4ef69fd3583b7a21ea6ca0c1e3049aa","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.59.0.tgz","fileCount":616,"integrity":"sha512-oox+mOYS05P6MIeeQ7Yw/regd7BFp3/S4+TP9dgzqt+FDVL4sVbboixwCzSZGKsmk4eEPwnxqJ/2ki8SNtpLEw==","signatures":[{"sig":"MEQCIDbcrEHpi8kq/ED5sRS74w3QFnwToMD+cIrwM0Omjj/fAiAzTn//G5JljxcPXilZYCm9BDoyHwzH70sdZ9LSwE2FKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.59.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3447261},"engines":{"node":">=24"},"gitHead":"e00bf16839868a4edc9d2a1a95ce12c2a2e20446","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.59.0_1770311724730_0.9778706759432603","host":"s3://npm-registry-packages-npm-production"}},"6.59.1":{"name":"@structured-world/gitlab-mcp","version":"6.59.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.59.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"a60487d7aa9603c7ccc9ba97ca99ec9f0012f412","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.59.1.tgz","fileCount":616,"integrity":"sha512-fAhOj2f4XIY7Fi7zCT05KyAzfoYqeXxN87URIACSHTFdqNjgdf9l1cd/MBly4vwJIfDqsXTH2RIWqOE6lQMlag==","signatures":[{"sig":"MEUCIQDyTTBavvOGl5VaFTR04KiMUS/yw44vrL9htWbIqN9ieAIgdUbsGGUi1DbCjfnxPk6IYKphj9Il2LBOKxqeQLVnGsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.59.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3447263},"engines":{"node":">=24"},"gitHead":"60db194f31843d05098bc15e65b1698fb10648da","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.59.1_1770312948904_0.12215744681735496","host":"s3://npm-registry-packages-npm-production"}},"6.59.2":{"name":"@structured-world/gitlab-mcp","version":"6.59.2","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.59.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"3eb130301346c54673d590771d9f498c79aad774","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.59.2.tgz","fileCount":616,"integrity":"sha512-3c2IkxWWvT6mR+FQVOIC9cwfZXM+1EFsKO/s/iqPKmT9zgrVlJVOA/pXZIDIkS0YIyxjpvCtXXBw2l4C+z5rXQ==","signatures":[{"sig":"MEUCIHBs2X145BQB5I0Hh8DkpnUfWiEBUBP3+Qb0TfZ8crmxAiEAwJMbWA9wkyBguA2tSNjHpd2Nuc8a2/stZHhrE0NZYdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.59.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3448753},"engines":{"node":">=24"},"gitHead":"ae81d0c8b6bd86b66ec8779dfcdd80d21092f76b","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.59.2_1770351401086_0.046605335103600654","host":"s3://npm-registry-packages-npm-production"}},"6.60.0":{"name":"@structured-world/gitlab-mcp","version":"6.60.0","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.60.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"8f72d3cacdf4b2ad32e3f1becb4fb65bc27c63ef","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.60.0.tgz","fileCount":616,"integrity":"sha512-GCCjV3QM8kH/1sGqL2vuqB5Wa72XBKx47WpiYFlizm3CUnxFeoTopDNAGAUN3gz0JZgNmiMZbmvr3fovmyDBrw==","signatures":[{"sig":"MEUCIQCfgEzGhKw6DRE2YWmC0zE+RSE0pCZlfelfECpl65S28QIgCNIsviN0GQAHCGJl8ElsmmVmXkGj4vY2kWnXpkoofV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.60.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3452363},"engines":{"node":">=24"},"gitHead":"137f8a696d5f914cc828bb59c154a148cc834af2","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.60.0_1770353215187_0.10714972485698437","host":"s3://npm-registry-packages-npm-production"}},"6.60.1":{"name":"@structured-world/gitlab-mcp","version":"6.60.1","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.60.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"780c422813befc8bde3a72cfb274fb9c3203da84","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.60.1.tgz","fileCount":616,"integrity":"sha512-qME67pT50FcVSgpo+6xcdSbJ1bL4eeZ7z6THMMNzRCGwmxLUvQLVcjiGkbWnIFzeeDZZ7qQ22DL9B3reS7RjXw==","signatures":[{"sig":"MEUCIG2HO8IhBXG9/Pst4KGp/ifSX5WhDE5hSEOQaePqbqflAiEAhEGbl+p5DR5lvVhIYBI17ZNTzUoPnhl/Td/vQ8f5pMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.60.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3461980},"engines":{"node":">=24"},"gitHead":"fa9849268db621f75d8596bdad6be0cbfad55679","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.60.1_1770364876542_0.45631647297642863","host":"s3://npm-registry-packages-npm-production"}},"6.60.2":{"name":"@structured-world/gitlab-mcp","version":"6.60.2","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.60.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"119fc7fd243ad83190657ede226bd755d97afbff","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.60.2.tgz","fileCount":616,"integrity":"sha512-BWx+iuPLN2GuRSbY0jGYALReYL5iQ5Wqdc48omJghCopLUuwxgkCUZrMgs4DheX/gcgT1oEPdyMyfZfD0yvXQw==","signatures":[{"sig":"MEUCIBaEOOD1Nf5OSQ+VTbbFqZXbjaXtMXtu31w2oa+KhPVrAiEA51bG4HzyTWGX6/o6cLfUmZlchK6+6AVlegaDJZ4Y1r8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.60.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3470448},"engines":{"node":">=24"},"gitHead":"17f0a70c439fdda85f9d59dc2b4259e3234cd21f","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.60.2_1770394278970_0.1609323593218166","host":"s3://npm-registry-packages-npm-production"}},"6.60.3":{"name":"@structured-world/gitlab-mcp","version":"6.60.3","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.60.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"e8dd77dcf4aac25365dc5d3f5b34bf759a90964e","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.60.3.tgz","fileCount":616,"integrity":"sha512-m/5WfkOQbKiXI4giUW5iWaUQ/cLG+4fvicT/s9Uj2Mi8BINwd2oFKVsUF2LjxfgR1NGq+wZePT0hcniTdGEpuA==","signatures":[{"sig":"MEYCIQD6pd4Xk8oUXctkckSm7tZHeRqTsxbdXb2/p3GMX4IR+QIhAJjgS0vk4lzPwje3GdFykx35xQbPIAq5eTGUrxWxlXJj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.60.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3471097},"engines":{"node":">=24"},"gitHead":"9517501f2f42f1ea8aa5973212b43dc9108c2b0b","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^9.39.2","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.60.3_1770493868320_0.7544655967151634","host":"s3://npm-registry-packages-npm-production"}},"6.61.0":{"name":"@structured-world/gitlab-mcp","version":"6.61.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.61.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"be786d1b9d1b1e792fa042383d79fe8688674a5b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.61.0.tgz","fileCount":616,"integrity":"sha512-s0SMH/MNwPCX0vDIz3oNHrrJTHNWk4Nz1PjHlQFujAcYNWnb39le/aBHsQgxFWxrICVBwh/YS67qWm5NBIjTjA==","signatures":[{"sig":"MEUCIGtIxDDXHqlYBooYBCYNmLNToZMk1jVLxueFRy3X1w2hAiEAoWdvDcFc2UUK+NEssKriBOtqnoXrEuySOZl33LiiYvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.61.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3477525},"engines":{"node":">=24"},"gitHead":"6b17a585ccbc13060da17d4bc002dc632ff04dc5","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^10.0.0","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.61.0_1770948812574_0.7710337297880487","host":"s3://npm-registry-packages-npm-production"}},"6.62.0":{"name":"@structured-world/gitlab-mcp","version":"6.62.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.62.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"7a81143c8f72a99efb062143d7cddff63ec3fd4c","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.62.0.tgz","fileCount":616,"integrity":"sha512-9dvHra28W0Yliigisp5vnWlx5xJWCCuJR//24BaCEKXC39A1pBqFfTx0R37zTZckNDEkwLsNCHREFBS7x24R5Q==","signatures":[{"sig":"MEQCIGMlN2ijTJr/o82/bFL7IyaiObr62JKuJJAcYxMInJH1AiBnsxKHlQnFatzXhEJ9z0YJV1v4nIzQCW2J9CSGJTAfiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.62.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3488247},"engines":{"node":">=24"},"gitHead":"dbf87310a7edc6e13be2b41ded584d5c95e9a8c6","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.0","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^10.0.0","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.62.0_1771281749969_0.8207583066568864","host":"s3://npm-registry-packages-npm-production"}},"6.62.1":{"name":"@structured-world/gitlab-mcp","version":"6.62.1","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.62.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"da40bb3f794c1152ecbb44eace42d319dc783c3b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.62.1.tgz","fileCount":616,"integrity":"sha512-h/PC6SelmUXFwWLFR5vmTOmFYBID0LjubEJTlvZ70uFENFNB1155EvbYcS64grgiB47mQq017zOQPOS9Owke7A==","signatures":[{"sig":"MEUCIAXnnlYA4SCMdpcjwP2v0a4hMMTLZaxqLZuU4VN09UClAiEAiSXLmyrerGsBTaqsy8e/JROqQYhAY7e85ZKCbdKiZlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.62.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3509406},"engines":{"node":">=24"},"gitHead":"a9ec60c7501670375ee849fa1b8accdad63d9f67","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.0","yaml":"^2.8.2","undici":"^7.20.0","express":"^5.2.1","graphql":"^16.12.0","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"1.0.1","@prisma/client":"^7.3.0","transliteration":"^2.6.1","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","socks-proxy-agent":"^8.0.5","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.2.0","dotenv":"^17.2.3","eslint":"^10.0.0","prisma":"^7.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.10.10","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.3","@cloudflare/workers-types":"^4.20260203.0","@typescript-eslint/parser":"^8.54.0","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.54.0","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.62.1_1772357858318_0.7640505108735443","host":"s3://npm-registry-packages-npm-production"}},"6.62.2":{"name":"@structured-world/gitlab-mcp","version":"6.62.2","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@6.62.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"9a5f6ae5a01e7631d7d4ff44e819890e37b37002","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-6.62.2.tgz","fileCount":616,"integrity":"sha512-z9zh7SpEM9/YkP/gajOFV9Ja9+ubw6I+rRJx+Nu2i9U/9XAjxZvttj+lbtkR/t8A6+gXvwqx1Om7Q7rW5n83NQ==","signatures":[{"sig":"MEQCIDroPZtv7YoX/V+wzC47K2OA6nORW2c9wM7JVIk7P7TEAiAbQKVczpE0zlmhZzQj0J8ZLsgwc7+YA3yKBnA0TfNBuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@6.62.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3526399},"engines":{"node":">=24"},"gitHead":"95934c230a7c80bafe9ea3a6d2fe950ab2c01c6c","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:47b07d59-7cf9-40ca-9724-02d837c15c68"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.11.7","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"22.22.1","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.2","undici":"^7.24.4","express":"^5.2.1","graphql":"^16.13.1","picomatch":"^4.0.3","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.1.0","@prisma/client":"^7.5.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.27.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.3.1","eslint":"^10.0.3","prisma":"^7.5.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","@cloudflare/workers-types":"^4.20260317.1","@typescript-eslint/parser":"^8.57.1","@semantic-release/changelog":"^6.0.3","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.57.1","@graphql-typed-document-node/core":"^3.2.0","conventional-changelog-conventionalcommits":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_6.62.2_1774776241077_0.1760054154178501","host":"s3://npm-registry-packages-npm-production"}},"7.0.1":{"name":"@structured-world/gitlab-mcp","version":"7.0.1","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.0.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"beeb7394130b10257f39d6d43442602942030731","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.0.1.tgz","fileCount":624,"integrity":"sha512-9TyupvPbS0+BR8pWXa1E0+d0fiVz8geJU9v1E+5NSERslNsIbyNnO3/br/tKcLL8hZu1+ct2mX86guiccyA9Fg==","signatures":[{"sig":"MEUCIHdF1CcES0GghsV7QPQkBx3gQHVzzorPEbn9yKvlkkJ9AiEApwUSGYFU99E4YOtcYgqQd5LTXmIQUnPR5muLF2NdZ/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3109869},"engines":{"node":">=24"},"gitHead":"0c27e0ce5ab47f797c06f4c07c55d44da30cd2b2","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.0.1_1775475702134_0.007110647500087719","host":"s3://npm-registry-packages-npm-production"}},"7.0.2":{"name":"@structured-world/gitlab-mcp","version":"7.0.2","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.0.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"fbd9578c95d53aa6e08f3e29a1fd6bc331d32e71","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.0.2.tgz","fileCount":624,"integrity":"sha512-dLjdicboUV8mz+dAbo19ISRG1Qu3QlEC7mNxUrg+mTyZYQUsYr41s46UbalAu3uhvWOWBJbX1U0uhe1jvr3scw==","signatures":[{"sig":"MEUCIEL26y3qnK1qr5phG/OXHjJ0VOGXFdHrETzI83tLR6jSAiEA61/KP8k5Kg5X+WgXew6LcDcj3Uvq3cbQgamWgQdzmGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3113895},"engines":{"node":">=24"},"gitHead":"953e08ee8f2dfc23a5eb3a04fad3a4959b49e47a","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.0.2_1775520681852_0.21472167056050684","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"name":"@structured-world/gitlab-mcp","version":"7.1.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.1.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"3b6b7eb94e344c5c9b5ffa43fa93062ec84eeb7b","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.1.0.tgz","fileCount":624,"integrity":"sha512-q1We9/OexLvhVZglXK36LHHZ+ktJuPbvC1TTfA6OI138KbsETpaEtYIRHJs/4Wp5GWx8mBtfD0lZe+/C4JfRNQ==","signatures":[{"sig":"MEQCIAZwfXUbB0V2zPq3ITst0iJb1AsrfjAGDTcqGyFGl0WIAiAbisZhgHpMBslxlVfefpncbpUWNwDhgXJttQZNZfI04A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3121890},"engines":{"node":">=24"},"gitHead":"697d6bf79d33bb334d74ce08afaa2a62f82293a6","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.1.0_1775594802798_0.40480163019255766","host":"s3://npm-registry-packages-npm-production"}},"7.2.0":{"name":"@structured-world/gitlab-mcp","version":"7.2.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.2.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"a494c130f52419ef645ed48ef13d95c3bf9f1949","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.2.0.tgz","fileCount":624,"integrity":"sha512-W8ZcAjnzviPZtBXWZCt/OUKJbn0X38GJrriehX76Kk1yGJ7+KH4SnlHQeekBg2xh3NJPvgvtOs6xPQiIkuQdWg==","signatures":[{"sig":"MEYCIQDq4r8A3MOIQJpWmPx9Wpnk2y+clwvg21PE6pcaKj3gyAIhAPofsD0JwcIsibrrDvR52gB2kgPZj2KqRKFgDAeH8bBE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3132648},"engines":{"node":">=24"},"gitHead":"debcfa392356c13c8c421ba1b70e91480153ea2d","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.ts\" ","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.ts\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.14.1","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.2.0_1775908825992_0.413577792259088","host":"s3://npm-registry-packages-npm-production"}},"7.3.0":{"name":"@structured-world/gitlab-mcp","version":"7.3.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.3.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 44 tools across 13 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"e6ef786083fddc2259b4f039e9a96377dc68e976","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.3.0.tgz","fileCount":624,"integrity":"sha512-cB2KQV1d0g3Pj6CKZcsLu4sUPAAV8ErHyhmxEQTvZM1CgzSu51nv5G8xVwx7OZ7qZDYx27Mx+h4pVBS5to3ELw==","signatures":[{"sig":"MEUCIQC5rSwRraWWnYG+UHEw1SjTPwe2AegrsflvpIbozdqc8gIgXnSLfSmom43X2VqnQky8Vlk7sjDg5pFALnU3OJdYWP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3126830},"engines":{"node":">=24"},"gitHead":"b239946dc42767e493d25d9d536e06e4679550b0","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.3.0_1779521720108_0.45570991149592555","host":"s3://npm-registry-packages-npm-production"}},"7.4.0":{"name":"@structured-world/gitlab-mcp","version":"7.4.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.4.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"General","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"General","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"General","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"General","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 48 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"ec883ab793d1061ab9c4adad77c306e3a176462d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.4.0.tgz","fileCount":642,"integrity":"sha512-56/eYM8Ufhg9WdOvKS1zCf2rjjh7UnnBhTEoqX9U/K7qEgZNLOMkg7xHAgWdZga8v3GHTupb4A0xOO0yEQRRAA==","signatures":[{"sig":"MEUCIQCEG1D6oziSTv1xlF5u+xWrlH1ZxFuwwiLOQu9cFLDWBwIgJxo3otsSf6+cR7lxf39UqDgUYD6waoB7t9QqqBdEMLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3151606},"engines":{"node":">=24"},"gitHead":"9fd58265ed83cd4c73da7255bf9923d2b7756edc","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.3.6","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.8.3","undici":"^8.0.0","xstate":"^5.30.0","express":"^5.2.1","graphql":"^16.13.2","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.2.0","@prisma/client":"^7.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.3.0","dotenv":"^17.4.0","eslint":"^10.1.0","prisma":"^7.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.1","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/express":"^5.0.6","auto-changelog":"^2.5.0","@types/picomatch":"^4.0.2","eslint-plugin-prettier":"^5.5.5","@cloudflare/workers-types":"^4.20260402.1","@typescript-eslint/parser":"^8.58.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.58.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.4.0_1780411101537_0.2558705974054485","host":"s3://npm-registry-packages-npm-production"}},"7.5.0":{"name":"@structured-world/gitlab-mcp","version":"7.5.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.5.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"General","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"General","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"General","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"General","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 48 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"28934e0e3a8921f96f2226c34d98d8e3cc34f23f","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.5.0.tgz","fileCount":646,"integrity":"sha512-PUbfx3GNQY7p6KaV0ET0XiDp6NUCc6CAs2irdSpArbrsaciDMIh/dc56TFGYY2Dfmkrcnonzhyk4WWKG2sKNhA==","signatures":[{"sig":"MEUCICcyUuR6x64oVWp1ccG6AN+V0b8gzWDEs46NGfQfcCzkAiEA4BlSxiyni6/Rns5WGUlli637tKRah/x/u6Jm2DDo1WQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3167485},"engines":{"node":">=24"},"gitHead":"b71b5f2a06284d6370c0cd4d8d68a71f39a0385f","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.3.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","@prisma/client":"^7.8.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","prisma":"^7.8.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.1","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260602.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.5.0_1780426340351_0.25153078226181913","host":"s3://npm-registry-packages-npm-production"}},"7.6.0":{"name":"@structured-world/gitlab-mcp","version":"7.6.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.6.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"General","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"General","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"General","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"General","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"General","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"General","readOnly":false,"description":"Create and control project environments and deployment status."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 50 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"922127778835ca8104fb1e2a51b19febf31e6615","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.6.0.tgz","fileCount":655,"integrity":"sha512-4LcsMWYnm9LgOXs5bKBnrHMio3pousgUVqaERvZ8YWITytuNDg+GYcWwK1Xv2z+JNwJ4Izk+ZNYBwd/TUpc+Cg==","signatures":[{"sig":"MEYCIQDBMfqBncSJ32ioMw3E0L1lwHAWrAUvpVWHB3Tw3ppQjAIhAPh238Czz5aT/Otd0DZrKcR0duOtp17RmXdQFFNYvQwA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3202358},"engines":{"node":">=24"},"gitHead":"8f9b75c586e36612f2786246dc3831d6eb2e431a","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.3.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","@prisma/client":"^7.8.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","prisma":"^7.8.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.1","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260602.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.6.0_1780495506371_0.9805194961886285","host":"s3://npm-registry-packages-npm-production"}},"7.7.0":{"name":"@structured-world/gitlab-mcp","version":"7.7.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@7.7.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines."},{"name":"manage_pipeline_job","tier":"free","category":"CI/CD","readOnly":false,"description":"Control individual CI/CD jobs within a pipeline."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"General","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"General","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"General","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"General","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"General","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"General","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"General","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"General","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 52 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"69a7e6cfd7da2d9d192f22fbd9666069319293b7","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-7.7.0.tgz","fileCount":667,"integrity":"sha512-IlU0ElQdkladuc1c8nTozQrpdIHtG8gsBpI/S8m6XayPAA/xqgtl3ZiYHz/nq7VmVs+Dy6mImd+nxbk9fVFGtw==","signatures":[{"sig":"MEYCIQCgHj39PnQIKNItLDu/AyhV5tt2REaQ2YbqqUwIn+8SlgIhAI/VGbilQNFtH8ML3LUM39FA4+/EezDwRaPfkXH55dRu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@7.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3251146},"engines":{"node":">=24"},"gitHead":"e4f088ac6bec86e469767129627c8c8f7853749b","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.3.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","@prisma/client":"^7.8.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","prisma":"^7.8.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.1","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260602.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_7.7.0_1780587567740_0.949397306763907","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@structured-world/gitlab-mcp","version":"8.0.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@8.0.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"31ce6c3a7e9701255125f90b67e531d2fc40fbf6","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-8.0.0.tgz","fileCount":706,"integrity":"sha512-RU6GcPh6kskGhYsxBTzGzDmMgbE3LAiF9Pl6A81MadZP8ACdJ4hYzALWpthL5/kGbqAW/xsjvuyK6N5wUky69w==","signatures":[{"sig":"MEUCIQCem8dZbADI6jlQhxSLtQ5YmQQkUQyUbGp35snWd8sqUgIgO7AjjdRJRGIV/Bc17MMSbRKVZ1M+VnnnOJUWwcJKCo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@8.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3375592},"engines":{"node":">=24"},"gitHead":"100f582950d8180200acb22e59895b41b030dad5","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint \"{src,tests}/**/*.{ts,js}\"","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"prisma generate && tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint \"{src,tests}/**/*.{ts,js}\" --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","postinstall":"test -f prisma/schema.prisma && prisma generate || true","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"resolutions":{"diff":"4.0.4","hono":"4.12.10","lodash":"4.17.23","esbuild":">=0.25.0","lodash-es":"4.17.23"},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.3.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","@prisma/client":"^7.8.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.13.0","devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","prisma":"^7.8.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.1","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260602.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_8.0.0_1780688167881_0.6205757038354827","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@structured-world/gitlab-mcp","version":"9.0.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.0.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"a0983dbcb782fa7edc9e6bc0986f7a6fd87e26be","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.0.0.tgz","fileCount":671,"integrity":"sha512-EhzfMfxsR2UFMbxWPscbmOeEQISrbQq9kVQIKrpozs1GvSWkjxwBjBv7X6ZT4QV9qIIo5pn0gHmga1Z0jy3btA==","signatures":[{"sig":"MEYCIQClIrbJqBc2ALxMbu0TSNJlf03+EGO4EgaJNL333CHwaAIhAPU/AlaH1ZjlXjRN7EtPpp4FnEYuZsewmjMn1YrdaM71","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3029773},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"b2c646ba63622a6c1bbf04c4e1c2c7ee33392362","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.4.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.17","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.2","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260607.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.0.0_1780854235901_0.7164055714952453","host":"s3://npm-registry-packages-npm-production"}},"9.0.1":{"name":"@structured-world/gitlab-mcp","version":"9.0.1","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.0.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"9be70db3a709ac35e5b73aebb11ba5e6b454a4bf","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.0.1.tgz","fileCount":671,"integrity":"sha512-k7ZmSMMmA+b0XjyZdWuDzbbdDMyr0Jr189tMjfgXsN3tEpHNaxOocvGGucV89PmxukeZ9GsoMXA6s666L5t2Iw==","signatures":[{"sig":"MEUCIA2Vqk9FR5CuQXl5cCP7NWw/01fQPiFoE6gRrjVysLOYAiEA72G+J1hg5G2VsSAIC+Ia9H6FgLZ4r4pn1Fvyx3+xGmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3031213},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"10846a03205e623dfa199c1afd56ae20f7d3f4ea","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.4.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.17","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.2","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260607.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.0.1_1780862223547_0.9781724999214605","host":"s3://npm-registry-packages-npm-production"}},"9.1.0":{"name":"@structured-world/gitlab-mcp","version":"9.1.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.1.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"cee1dc0d04dde80b69de8be3f27c62c9fafbf99d","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.1.0.tgz","fileCount":689,"integrity":"sha512-6xPY0sJo+VhtfqO26wr3w6gbJO5urb7mDcDkka8L2tslKAK+CNEKvirTqjfEvWnGsimGWbLybF8YJf6mdAbmQA==","signatures":[{"sig":"MEYCIQCkfDWeRHpbXA/U1zDY8StBdzEwxUQM70ldJrTZpaGMcAIhALqR+2Wc3eZtSBaD+m+9KUC6qZwdcKHWgTWlARR0WhNg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3075875},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"a2edf9bd81d4f69fa40c1a50e07b226d98745e2a","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.4.0","xstate":"^5.32.0","express":"^5.2.1","graphql":"^16.14.1","picomatch":"^4.0.4","graphql-tag":"^2.12.6","pino-pretty":"^13.1.3","@clack/prompts":"^1.5.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.4.1","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.3","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.17","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.2","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260607.1","@typescript-eslint/parser":"^8.60.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.60.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.1.0_1780872063141_0.9782470748086023","host":"s3://npm-registry-packages-npm-production"}},"9.1.1":{"name":"@structured-world/gitlab-mcp","version":"9.1.1","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.1.1","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"54d8d0bcb3153912a0c9b89abfed753fed86b5aa","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.1.1.tgz","fileCount":689,"integrity":"sha512-RdmfbjAGjIMiEf9Km/asibU5A6IsP8ljBRHB9vwpN3AKgUwaTZa7bxiIIk7T7v9E4dOHY2jEAYigXhCu7NaBtg==","signatures":[{"sig":"MEUCIGbvV2JjKMMKd8UqcsOYk3W2mdNxxWsrQdfy2j6pXkhKAiEAye0agLuqy6Mggg0N1RrJlQUoarYWuLBBhvDPzwf/2x8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3081258},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"ed816567471ddcea713e22918b5313bdee54b5fd","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.13.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.5.0","xstate":"^5.32.1","express":"^5.2.1","graphql":"^17.0.0","picomatch":"^4.0.4","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.6.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.4","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.17","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.4","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^4.20260621.1","@typescript-eslint/parser":"^8.61.1","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.61.1","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.1.1_1782129650130_0.25367295939140555","host":"s3://npm-registry-packages-npm-production"}},"9.1.2":{"name":"@structured-world/gitlab-mcp","version":"9.1.2","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.1.2","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"473ce6a782fc628ab9cee84a76f10e90ab77435a","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.1.2.tgz","fileCount":689,"integrity":"sha512-oceCKH1GPvmlF+/0ra6FVju0g7zTScnAxtWWUnjP7YSJ835u+GcCnCLB39m2L8Y8PxdGXk/WaHPAgUgzNH55hw==","signatures":[{"sig":"MEQCIHOw4edArA8j11ik+O31/1yDVb3+tznGTV7yyU6kyFzdAiA4g14jif9utZ4d/PISLK8QUq0Mlh0/mfQn5zLjteOkpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3082273},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"496a31ddb0f4dafc74b0d5279b137e4e40944502","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","open":"^11.0.0","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.10.0","xstate":"^5.32.5","express":"^5.2.1","graphql":"^17.0.2","picomatch":"^4.0.5","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.7.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.8.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.19","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.4","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^5.20260808.1","@typescript-eslint/parser":"^8.66.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.66.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.1.2_1786227819143_0.04251644926660414","host":"s3://npm-registry-packages-npm-production"}},"9.1.3":{"name":"@structured-world/gitlab-mcp","version":"9.1.3","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.1.3","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"eb3e4a6b12d7bc30eceda7d3cefd76d84b3999ad","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.1.3.tgz","fileCount":689,"integrity":"sha512-rTalD1fRQyR54asXNfqBqrxxrqkVULb9Hdzg6lHDkx4qBieK+T/3vmdoYaUsljlfeKUCyne7D8oYwmkQZswAhQ==","signatures":[{"sig":"MEQCIASxp3ZWRSxcycd7WvsOc8Yea6mshg88osdTDhiqzHqdAiBI66g6UVn2vbwsTEaEAxzJaCRFc7YW/RMD3Bt6S7iBBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3082866},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"7a5342104094144150fd865b299150de9ac4b840","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","open":"^11.0.1","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.10.0","xstate":"^5.32.5","express":"^5.2.1","graphql":"^17.0.2","picomatch":"^4.0.5","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.7.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","dotenv":"^17.4.2","eslint":"^10.9.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.19","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.5","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^5.20260822.1","@typescript-eslint/parser":"^8.67.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.67.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.1.3_1788163387502_0.3349107955853339","host":"s3://npm-registry-packages-npm-production"}},"9.1.4":{"name":"@structured-world/gitlab-mcp","version":"9.1.4","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@9.1.4","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"25873c90e92c4464cb6e7c629edcbec487ceb4c1","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-9.1.4.tgz","fileCount":691,"integrity":"sha512-+59vkZNKdFS8icYK3No7+Frp6drPW9eebqtC22+FbuyYHYwCc7+E6cEJM6G8rYkt+gu/TVGIvL+oCprj/Sn1ew==","signatures":[{"sig":"MEYCIQDohslL5AZlIaOjk1AHt5QeKRsfjI7yBrv9D9R0IMGhLgIhAIkFz7aSu8MJmZSUjTk1wcL2VSZRBk7iDEowrS/vQYzW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@9.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3101035},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"a408d3ef86d6ba41a62ae3f6b29609eea7281c57","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","open":"^11.0.2","pino":"^10.3.1","yaml":"^2.9.0","undici":"^8.10.1","xstate":"^5.32.6","express":"^5.2.1","graphql":"^17.0.2","picomatch":"^4.0.7","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.7.0","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","dotenv":"^17.4.2","eslint":"^10.9.1","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.19","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.5","@types/express":"^5.0.6","auto-changelog":"^2.6.0","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^5.20260902.1","@typescript-eslint/parser":"^8.69.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.69.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_9.1.4_1788629029610_0.8407300723598046","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@structured-world/gitlab-mcp","version":"10.0.0","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","_id":"@structured-world/gitlab-mcp@10.0.0","maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"contributors":[{"name":"zereight"}],"homepage":"https://github.com/structured-world/gitlab-mcp#readme","bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"dist":{"shasum":"50f936e6bcdd86411625a1a38cc43840ce9f5f54","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-10.0.0.tgz","fileCount":700,"integrity":"sha512-FA9FP/mRWtUT3H7Jrfkt1P+bvlXzdse5RytapWWneHL3nsl533RZ+w17LrPuV+Qun0u8UMpPVW19x/d+KSDKOw==","signatures":[{"sig":"MEQCICXudMwledjDWu7HqrZOoPUDLTX8AVXxOnXsVPlRgU3sAiBNpgwxObEtlp2B5WVFfcQBqu1OQ1CYlVIbUXs2TlCzng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA5GdsOJ9DdN/+hznqulrO7TCJ90BSJjFrjBOMmO7LBTAiBFFRRWd7ZRBNCHPyLhNd8xB/J4+3UpAe8+SXP8H7BgZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@10.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3152474},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"144d0ca268a7d3fc195cade8536b684a97741600","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Advanced GitLab MCP server","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.5","open":"^11.0.4","pino":"^10.3.1","yaml":"^2.9.1","undici":"^8.10.2","xstate":"^5.33.2","express":"^5.2.1","graphql":"^17.0.2","picomatch":"^4.0.7","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.8.1","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.2","dotenv":"^17.4.2","eslint":"^10.11.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.8","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.20","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.8","@types/express":"^5.0.6","auto-changelog":"^2.6.1","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^5.20260919.1","@typescript-eslint/parser":"^8.70.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.70.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gitlab-mcp_10.0.0_1790279545453_0.4987161543725931","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"_id":"@structured-world/gitlab-mcp@10.0.1","bin":{"gitlab-mcp":"dist/src/main.js"},"mcp":{"meta":{"tags":["gitlab","devops","ci-cd","merge-requests","issues","pipelines","developer-tools"],"avatar":"https://gitlab-mcp.sw.foundation/logo.png","categories":["Developer Tools","Version Control","CI/CD"]},"name":"GitLab MCP Server","tools":[{"name":"browse_projects","tier":"free","category":"Projects","readOnly":true,"description":"Find, list, or inspect GitLab projects."},{"name":"browse_namespaces","tier":"free","category":"Projects","readOnly":true,"description":"Explore GitLab groups and user namespaces."},{"name":"browse_commits","tier":"free","category":"Repository","readOnly":true,"description":"Explore repository commit history and diffs."},{"name":"browse_events","tier":"free","category":"Activity","readOnly":true,"description":"Track GitLab activity and events."},{"name":"browse_users","tier":"free","category":"Users","readOnly":true,"description":"Find GitLab users with smart pattern detection."},{"name":"browse_todos","tier":"free","category":"Activity","readOnly":true,"description":"View your GitLab todo queue (notifications requiring action)."},{"name":"manage_project","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or manage GitLab projects."},{"name":"manage_namespace","tier":"free","category":"Projects","readOnly":false,"description":"Create, update, or delete GitLab groups/namespaces."},{"name":"manage_todos","tier":"free","category":"Activity","readOnly":false,"description":"Manage your GitLab todo queue."},{"name":"manage_context","tier":"free","category":"Session","readOnly":true,"description":"View and manage runtime session configuration."},{"name":"browse_labels","tier":"free","category":"Planning","readOnly":true,"description":"List and inspect project or group labels."},{"name":"manage_label","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group labels."},{"name":"browse_merge_requests","tier":"free","category":"Merge Requests","readOnly":true,"description":"Find and inspect merge requests."},{"name":"browse_mr_discussions","tier":"free","category":"Merge Requests","readOnly":true,"description":"Read discussion threads and draft review notes on merge requests."},{"name":"manage_merge_request","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create, update, merge, or approve merge requests."},{"name":"manage_mr_discussion","tier":"free","category":"Merge Requests","readOnly":false,"description":"Post comments, start threads, and suggest code changes on merge requests."},{"name":"manage_draft_notes","tier":"free","category":"Merge Requests","readOnly":false,"description":"Create and manage unpublished review comments on merge requests."},{"name":"browse_files","tier":"free","category":"Repository","readOnly":true,"description":"Explore project file structure and read source code."},{"name":"manage_files","tier":"free","category":"Repository","readOnly":false,"description":"Create, update, or upload repository files."},{"name":"browse_milestones","tier":"free","category":"Planning","readOnly":true,"description":"Track milestone progress with associated issues and MRs."},{"name":"manage_milestone","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, or delete project/group milestones."},{"name":"browse_pipelines","tier":"free","category":"CI/CD","readOnly":true,"description":"Monitor CI/CD pipelines and read job logs."},{"name":"manage_pipeline","tier":"free","category":"CI/CD","readOnly":false,"description":"Trigger, retry, or cancel CI/CD pipelines and individual jobs."},{"name":"browse_variables","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect CI/CD variables for projects or groups."},{"name":"manage_variable","tier":"free","category":"CI/CD","readOnly":false,"description":"Create, update, or delete CI/CD variables with environment scoping."},{"name":"browse_wiki","tier":"free","category":"Content","readOnly":true,"description":"Read wiki pages in projects or groups."},{"name":"manage_wiki","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete wiki pages."},{"name":"browse_work_items","tier":"free","category":"Planning","readOnly":true,"description":"Find and inspect issues, epics, tasks, and other work items."},{"name":"manage_work_item","tier":"free","category":"Planning","readOnly":false,"description":"Create, update, delete, or link work items (issues, epics, tasks)."},{"name":"browse_snippets","tier":"free","category":"Content","readOnly":true,"description":"Find and read code snippets with versioning support."},{"name":"manage_snippet","tier":"free","category":"Content","readOnly":false,"description":"Create, update, or delete code snippets with multi-file support."},{"name":"browse_webhooks","tier":"free","category":"Integrations","readOnly":true,"description":"List and inspect webhook configurations for projects or groups."},{"name":"manage_webhook","tier":"free","category":"Integrations","readOnly":false,"description":"Create, update, delete, or test webhooks for event-driven automation."},{"name":"browse_integrations","tier":"free","category":"Integrations","readOnly":true,"description":"Discover active project integrations and their configuration."},{"name":"manage_integration","tier":"free","category":"Integrations","readOnly":false,"description":"Configure or disable project integrations (50+ supported)."},{"name":"browse_releases","tier":"free","category":"Releases","readOnly":true,"description":"View project releases and asset download links."},{"name":"manage_release","tier":"free","category":"Releases","readOnly":false,"description":"Create, update, or delete project releases with asset management."},{"name":"browse_refs","tier":"free","category":"Repository","readOnly":true,"description":"Inspect branches, tags, and their protection rules."},{"name":"manage_ref","tier":"free","category":"Repository","readOnly":false,"description":"Create, delete, and protect branches and tags."},{"name":"browse_members","tier":"free","category":"Access","readOnly":true,"description":"View team members and access levels in projects or groups."},{"name":"manage_member","tier":"free","category":"Access","readOnly":false,"description":"Add, remove, or update access levels for project/group members."},{"name":"browse_search","tier":"free","category":"Discovery","readOnly":true,"description":"Search across GitLab resources globally or within a scope."},{"name":"browse_iterations","tier":"free","category":"Planning","readOnly":true,"description":"View group iterations for agile sprint planning."},{"name":"browse_job_token_scope","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect a project CI/CD job token inbound access scope."},{"name":"manage_job_token_scope","tier":"free","category":"CI/CD","readOnly":false,"description":"Manage a project CI/CD job token inbound allowlist."},{"name":"browse_deploy_keys","tier":"free","category":"CI/CD","readOnly":true,"description":"List and inspect deploy keys (SSH keys granting repo access to CI/automation)."},{"name":"manage_deploy_key","tier":"free","category":"CI/CD","readOnly":false,"description":"Add, enable, update, or remove project deploy keys."},{"name":"browse_environments","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect project environments and their deployments."},{"name":"manage_environment","tier":"free","category":"CI/CD","readOnly":false,"description":"Create and control project environments and deployment status."},{"name":"browse_registry","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect the GitLab Container Registry."},{"name":"manage_registry","tier":"free","category":"CI/CD","readOnly":false,"description":"Delete GitLab Container Registry repositories and tags."},{"name":"browse_access_tokens","tier":"free","category":"Access","readOnly":true,"description":"Inspect access tokens (CI/automation credentials)."},{"name":"manage_access_token","tier":"free","category":"Access","readOnly":false,"description":"Create, rotate, or revoke access tokens."},{"name":"browse_runners","tier":"free","category":"CI/CD","readOnly":true,"description":"Inspect CI runners."},{"name":"manage_runner","tier":"free","category":"CI/CD","readOnly":false,"description":"Register and control CI runners."},{"name":"browse_audit_events","tier":"free","category":"Security","readOnly":true,"description":"Inspect audit events: the immutable record of who did what, when."},{"name":"browse_vulnerabilities","tier":"free","category":"Security","readOnly":true,"description":"Inspect security vulnerabilities (Ultimate)."},{"name":"manage_vulnerability","tier":"free","category":"Security","readOnly":false,"description":"Drive the vulnerability state machine (Ultimate)."}],"author":"Dmitry Prudnikov","license":"Apache-2.0","runtime":"node","homepage":"https://gitlab-mcp.sw.foundation","repository":"https://github.com/structured-world/gitlab-mcp","transports":["stdio","sse","streamable-http"],"description":"Advanced GitLab MCP server - 58 tools across 14 entity types with CQRS architecture, OAuth 2.1, and multiple transport modes","featureFlags":{"USE_MRS":"Enable merge request tools","USE_REFS":"Enable refs (branches/tags) tools","USE_FILES":"Enable file management tools","USE_LABELS":"Enable label management tools","USE_SEARCH":"Enable search tools","USE_MEMBERS":"Enable member management tools","USE_PIPELINE":"Enable pipeline and CI/CD tools","USE_RELEASES":"Enable release management tools","USE_SNIPPETS":"Enable snippet tools","USE_WEBHOOKS":"Enable webhook tools","USE_MILESTONE":"Enable milestone management tools","USE_VARIABLES":"Enable CI/CD variables tools","USE_WORKITEMS":"Enable work items (issues/epics) tools","USE_ITERATIONS":"Enable iteration tools","USE_GITLAB_WIKI":"Enable wiki page tools","USE_INTEGRATIONS":"Enable integration tools","GITLAB_READ_ONLY_MODE":"Restrict to read-only operations"},"authentication":{"note":"Server starts without token (tools/list works), but tool execution requires authentication","envVars":["GITLAB_TOKEN","GITLAB_PERSONAL_ACCESS_TOKEN"],"methods":["token","oauth2"],"required":false,"requiredForToolExecution":true},"minNodeVersion":"24.0.0"},"bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"dist":{"shasum":"1149abb3fc04ee3da95b0fb23db19432239d01db","tarball":"https://registry.npmjs.org/@structured-world/gitlab-mcp/-/gitlab-mcp-10.0.1.tgz","fileCount":700,"integrity":"sha512-E5JoiBV4YPH6QZfHOhIii8r3RKLr2ncWvhwtWD5R2aLB9ZQ0OzHhIVThrEnBzRcalE//qHTiLok88NdgYyOJqg==","signatures":[{"sig":"MEYCIQCfKhz7K/dRzrPOtxraEJqbspe2GpNk9o+2WVAI6qgqVAIhAMNsZP6x1sGvYdH59qMzX4WUzyqyi+ibqArXtic5JBbB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGRpyygM8FHGLWC+fCFNdpFPwHYHSyFm24T+9LfvQRiGAiEAxP5PguSOzWun/HGeZkh/zuU+pp+CRCpgOc/SDYhyuM4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@structured-world%2fgitlab-mcp@10.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3152740},"name":"@structured-world/gitlab-mcp","author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"engines":{"node":">=24"},"exports":{"./storage-contract":{"types":"./dist/src/contracts/storage.d.ts","default":"./dist/src/contracts/storage.js"}},"gitHead":"e4b5d7d9a1a2c8902f52ad12c8606eba46026323","license":"Apache-2.0","mcpName":"io.github.structured-world/gitlab-mcp","scripts":{"dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts","lint":"tsc --noEmit && eslint .","test":"cross-env JEST_UNIT_ONLY=true yarn jest","build":"tsc -p tsconfig.build.json && yarn build:copy-assets","start":"node --no-warnings -r source-map-support/register --experimental-specifier-resolution=node dist/src/main.js","watch":"tsc --watch","format":"prettier --write \"**/*.{js,ts,json,md}\"","dev:sse":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts sse","docs:dev":"DOCS_BASE=/ vitepress dev docs","lint:fix":"eslint . --fix","test:all":"yarn jest --runInBand","test:cov":"cross-env JEST_UNIT_ONLY=true yarn jest --coverage","dev:stdio":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node --experimental-print-required-tla --watch src/main.ts stdio","test:help":"printf '# Test Scripts\\n  yarn test              - Unit tests only (fast, safe default)\\n  yarn test <pattern>    - Unit tests matching pattern\\n  yarn test:cov          - Unit test coverage\\n  yarn test:integration  - Integration tests (needs .env.test)\\n  yarn test:all          - Full suite (unit + integration)\\n  yarn test:env-gating   - Test environment gating\\n'","build:mcpb":"./scripts/build-mcpb.sh","docs:build":"DOCS_BASE=/ vitepress build docs","list-tools":"node dist/src/cli/list-tools.js","docs:preview":"DOCS_BASE=/ vitepress preview docs","format:check":"prettier --check \"**/*.{js,ts,json,md}\"","list-tools:dev":"node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/cli/list-tools.ts","channel-gateway":"node dist/src/channel-gateway/main.js","test:env-gating":"node tests/scripts/test-env-gating.js","inject-tool-refs":"node dist/src/cli/inject-tool-refs.js","test:integration":"yarn jest --testPathPatterns=tests/integration --runInBand","build:copy-assets":"node -e \"const fs=require('fs'),p=require('path');const src='src/profiles/builtin',dst='dist/src/profiles/builtin';fs.mkdirSync(dst,{recursive:true});fs.readdirSync(src).filter(f=>f.endsWith('.yaml')).forEach(f=>fs.copyFileSync(p.join(src,f),p.join(dst,f)))\"","cleanup:test-groups":"node scripts/cleanup-test-groups.js","cleanup:test-groups:force":"node scripts/cleanup-test-groups.js --force","cleanup:test-groups:dry-run":"node scripts/cleanup-test-groups.js --dry-run"},"version":"10.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:290e636a-cd7f-43cf-872a-6b1c50b87c5a"}},"homepage":"https://github.com/structured-world/gitlab-mcp#readme","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"_npmVersion":"11.19.0","description":"Advanced GitLab MCP server","directories":{},"maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"_nodeVersion":"24.21.0","contributors":[{"name":"zereight"}],"dependencies":{"zod":"^4.6.5","open":"^11.0.4","pino":"^10.3.1","yaml":"^2.9.1","undici":"^8.10.2","xstate":"^5.33.2","express":"^5.2.1","graphql":"^17.0.2","picomatch":"^4.0.7","graphql-tag":"^2.12.7","pino-pretty":"^13.1.3","@clack/prompts":"^1.8.1","transliteration":"^2.6.1","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.2","dotenv":"^17.4.2","eslint":"^10.11.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.8","cross-env":"^10.1.0","vitepress":"2.0.0-alpha.20","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^25.9.8","@types/express":"^5.0.6","auto-changelog":"^2.6.1","@types/picomatch":"^4.0.3","eslint-plugin-prettier":"^5.5.6","@cloudflare/workers-types":"^5.20260919.1","@typescript-eslint/parser":"^8.70.0","@structured-world/vue-privacy":"^1.10.0","@typescript-eslint/eslint-plugin":"^8.70.0","@graphql-typed-document-node/core":"^3.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gitlab-mcp_10.0.1_1790356908243_0.16227776664097293"}}},"time":{"created":"2025-09-16T22:11:54.891Z","modified":"2026-09-25T17:21:48.837Z","4.0.0":"2025-09-16T22:11:55.228Z","4.1.0":"2025-09-17T02:14:46.846Z","4.1.1":"2025-09-17T07:53:57.918Z","4.2.0":"2025-09-17T13:18:18.284Z","4.2.1":"2025-09-17T16:29:02.752Z","4.3.0":"2025-09-17T19:07:04.752Z","4.3.1":"2025-09-17T19:49:27.038Z","4.3.2":"2025-09-18T13:51:21.888Z","4.3.3":"2025-09-18T21:09:20.612Z","4.4.0":"2025-09-18T22:09:11.098Z","4.5.0":"2025-09-19T04:47:37.060Z","5.1.0":"2025-09-19T11:50:38.953Z","5.2.0":"2025-09-19T20:18:51.867Z","5.3.0":"2025-09-21T08:00:57.790Z","5.4.0":"2025-09-21T08:58:18.355Z","5.5.0":"2025-09-21T10:25:19.334Z","5.6.0":"2025-09-21T20:33:35.973Z","5.6.1":"2025-09-23T03:57:32.855Z","5.7.0":"2025-09-23T09:53:32.655Z","5.8.0":"2025-11-26T16:45:52.019Z","6.0.0":"2026-01-19T11:38:06.212Z","6.1.0":"2026-01-19T13:14:56.291Z","6.2.0":"2026-01-19T14:26:09.983Z","6.2.1":"2026-01-19T15:01:58.547Z","6.2.2":"2026-01-19T15:19:36.098Z","6.2.3":"2026-01-19T17:28:04.821Z","6.3.0":"2026-01-19T17:54:17.523Z","6.3.1":"2026-01-19T18:01:29.434Z","6.4.0":"2026-01-19T18:10:55.404Z","6.4.1":"2026-01-19T18:19:50.791Z","6.5.0":"2026-01-19T18:53:29.151Z","6.6.0":"2026-01-19T19:22:03.788Z","6.7.0":"2026-01-19T20:03:10.848Z","6.8.0":"2026-01-19T20:27:20.642Z","6.9.0":"2026-01-19T23:11:09.327Z","6.10.0":"2026-01-20T07:31:59.293Z","6.11.0":"2026-01-20T08:18:58.464Z","6.12.0":"2026-01-20T08:35:19.262Z","6.13.0":"2026-01-20T15:49:31.657Z","6.14.0":"2026-01-20T16:03:22.270Z","6.15.0":"2026-01-20T16:53:05.418Z","6.16.0":"2026-01-20T18:15:52.801Z","6.17.0":"2026-01-20T20:51:15.042Z","6.18.0":"2026-01-21T12:04:46.530Z","6.19.0":"2026-01-21T12:58:33.286Z","6.20.0":"2026-01-21T15:22:50.283Z","6.21.0":"2026-01-21T16:26:24.411Z","6.22.0":"2026-01-21T18:19:12.652Z","6.23.0":"2026-01-21T18:50:15.429Z","6.23.1":"2026-01-21T19:00:31.847Z","6.23.2":"2026-01-21T19:55:17.518Z","6.24.0":"2026-01-21T21:28:15.866Z","6.24.1":"2026-01-21T22:21:32.907Z","6.25.0":"2026-01-22T00:39:43.996Z","6.26.0":"2026-01-22T10:49:38.206Z","6.26.1":"2026-01-22T11:04:08.335Z","6.27.0":"2026-01-22T12:29:54.020Z","6.27.1":"2026-01-22T16:10:18.118Z","6.28.0":"2026-01-22T17:09:34.167Z","6.29.0":"2026-01-22T17:21:09.193Z","6.29.1":"2026-01-22T18:41:37.344Z","6.30.0":"2026-01-22T22:14:50.030Z","6.30.1":"2026-01-23T14:15:16.478Z","6.31.0":"2026-01-23T15:26:28.196Z","6.31.1":"2026-01-23T16:03:18.978Z","6.31.2":"2026-01-23T18:15:40.416Z","6.32.0":"2026-01-23T19:42:46.614Z","6.33.0":"2026-01-23T20:04:00.210Z","6.33.1":"2026-01-23T20:24:23.548Z","6.33.2":"2026-01-23T21:03:57.046Z","6.33.3":"2026-01-23T21:42:45.295Z","6.34.0":"2026-01-23T21:58:09.343Z","6.34.1":"2026-01-23T22:17:46.214Z","6.35.0":"2026-01-23T22:29:16.429Z","6.36.0":"2026-01-23T22:40:18.255Z","6.37.0":"2026-01-24T00:32:18.235Z","6.38.0":"2026-01-24T09:40:36.492Z","6.38.1":"2026-01-24T09:55:51.095Z","6.39.0":"2026-01-24T10:33:32.240Z","6.40.0":"2026-01-24T11:17:54.608Z","6.41.0":"2026-01-24T14:16:02.778Z","6.41.1":"2026-01-24T14:29:10.078Z","6.41.2":"2026-01-24T16:20:45.510Z","6.41.3":"2026-01-24T16:51:45.908Z","6.41.4":"2026-01-24T18:16:54.997Z","6.42.0":"2026-01-25T01:38:44.748Z","6.42.1":"2026-01-25T02:14:29.644Z","6.43.0":"2026-01-25T02:36:18.178Z","6.43.1":"2026-01-25T03:20:27.745Z","6.44.0":"2026-01-25T03:47:26.860Z","6.45.0":"2026-01-25T04:11:05.810Z","6.45.1":"2026-01-25T04:47:51.788Z","6.46.0":"2026-01-25T12:20:56.308Z","6.46.1":"2026-01-25T14:27:29.829Z","6.47.0":"2026-01-25T15:40:40.816Z","6.47.1":"2026-01-25T16:03:29.063Z","6.48.0":"2026-01-25T16:25:43.875Z","6.48.1":"2026-01-25T19:11:04.642Z","6.48.2":"2026-01-26T00:07:59.669Z","6.49.0":"2026-01-26T15:46:47.594Z","6.50.0":"2026-01-27T15:28:42.838Z","6.51.0":"2026-02-02T11:20:47.063Z","6.52.0":"2026-02-04T13:09:41.003Z","6.53.0":"2026-02-04T14:18:54.113Z","6.53.1":"2026-02-04T20:05:23.172Z","6.54.0":"2026-02-04T22:25:09.553Z","6.55.0":"2026-02-04T23:13:47.528Z","6.55.1":"2026-02-04T23:24:38.007Z","6.56.0":"2026-02-04T23:57:05.061Z","6.57.0":"2026-02-05T01:49:29.132Z","6.58.0":"2026-02-05T04:25:21.841Z","6.58.1":"2026-02-05T16:02:35.577Z","6.59.0":"2026-02-05T17:15:24.902Z","6.59.1":"2026-02-05T17:35:49.149Z","6.59.2":"2026-02-06T04:16:41.300Z","6.60.0":"2026-02-06T04:46:55.378Z","6.60.1":"2026-02-06T08:01:16.760Z","6.60.2":"2026-02-06T16:11:19.176Z","6.60.3":"2026-02-07T19:51:08.505Z","6.61.0":"2026-02-13T02:13:32.805Z","6.62.0":"2026-02-16T22:42:30.208Z","6.62.1":"2026-03-01T09:37:38.536Z","6.62.2":"2026-03-29T09:24:01.314Z","7.0.1":"2026-04-06T11:41:42.333Z","7.0.2":"2026-04-07T00:11:22.038Z","7.1.0":"2026-04-07T20:46:42.955Z","7.2.0":"2026-04-11T12:00:26.140Z","7.3.0":"2026-05-23T07:35:20.324Z","7.4.0":"2026-06-02T14:38:21.704Z","7.5.0":"2026-06-02T18:52:20.698Z","7.6.0":"2026-06-03T14:05:06.592Z","7.7.0":"2026-06-04T15:39:27.932Z","8.0.0":"2026-06-05T19:36:08.083Z","9.0.0":"2026-06-07T17:43:56.091Z","9.0.1":"2026-06-07T19:57:03.753Z","9.1.0":"2026-06-07T22:41:03.317Z","9.1.1":"2026-06-22T12:00:50.333Z","9.1.2":"2026-08-08T22:23:39.338Z","9.1.3":"2026-08-31T08:03:07.657Z","9.1.4":"2026-09-05T17:23:49.799Z","10.0.0":"2026-09-24T19:52:25.554Z","10.0.1":"2026-09-25T17:21:48.353Z"},"bugs":{"url":"https://github.com/structured-world/gitlab-mcp/issues"},"author":{"name":"Dmitry Prudnikov","email":"mail@polaz.com"},"license":"Apache-2.0","homepage":"https://github.com/structured-world/gitlab-mcp#readme","keywords":["mcp","model-context-protocol","mcp-server","gitlab","gitlab-api","ai","llm","claude","anthropic","devops","ci-cd","merge-requests","pipelines","work-items","graphql","developer-tools","automation","typescript"],"repository":{"url":"git+https://github.com/structured-world/gitlab-mcp.git","type":"git"},"description":"Advanced GitLab MCP server","contributors":[{"name":"zereight"}],"maintainers":[{"name":"polaz","email":"mail@polaz.com"}],"readme":"# Advanced GitLab MCP server\n\n[![npm version](https://img.shields.io/npm/v/@structured-world/gitlab-mcp)](https://www.npmjs.com/package/@structured-world/gitlab-mcp) [![npm downloads](https://img.shields.io/npm/dm/@structured-world/gitlab-mcp)](https://www.npmjs.com/package/@structured-world/gitlab-mcp) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/structured-world/gitlab-mcp/blob/HEAD/LICENSE) [![Release](https://github.com/structured-world/gitlab-mcp/workflows/Release/badge.svg)](https://github.com/structured-world/gitlab-mcp/actions) [![Coverage](https://codecov.io/gh/structured-world/gitlab-mcp/graph/badge.svg)](https://codecov.io/gh/structured-world/gitlab-mcp) [![Coverage Report](https://img.shields.io/badge/Coverage-Live%20Report-brightgreen?logo=github)](https://gitlab-mcp.sw.foundation/coverage/)\n\nAdvanced GitLab MCP server — 58 CQRS tools exposing 230 GitLab operations across 26 entity types. The tool catalog and parameters are filtered to each instance's GitLab version, tier, and token scopes, so the agent sees only what the connected instance actually supports.\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Claude_Desktop-Install_Extension-F97316?style=for-the-badge)](https://gitlab-mcp.sw.foundation/downloads/gitlab-mcp-10.0.1.mcpb)\n[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_MCP_Server-007ACC?style=for-the-badge&logo=visualstudiocode&logoColor=white)](vscode:mcp/install?%7B%22name%22%3A%22gitlab-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40structured-world%2Fgitlab-mcp%22%5D%7D)\n[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_MCP_Server-24bfa5?style=for-the-badge&logo=visualstudiocode&logoColor=white)](vscode-insiders:mcp/install?%7B%22name%22%3A%22gitlab-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40structured-world%2Fgitlab-mcp%22%5D%7D)\n\n## Packages\n\nThis is a monorepo with two npm packages:\n\n- **[`@structured-world/gitlab-mcp`](https://www.npmjs.com/package/@structured-world/gitlab-mcp)** — the MCP server. In-memory and file OAuth-session storage, no database dependency. This is all most users need.\n- **[`@structured-world/gitlab-mcp-db`](https://www.npmjs.com/package/@structured-world/gitlab-mcp-db)** — optional PostgreSQL/Prisma OAuth-session backend for running multiple replicas behind a load balancer. Enable it with `OAUTH_STORAGE_TYPE=postgresql`; see the [PostgreSQL deployment guide](https://gitlab-mcp.sw.foundation/deployment/docker-postgres) for the full setup.\n\n## Quick Start\n\n```json\n{\n  \"mcpServers\": {\n    \"gitlab\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@structured-world/gitlab-mcp\"],\n      \"env\": {\n        \"GITLAB_TOKEN\": \"your_gitlab_token\",\n        \"GITLAB_API_URL\": \"https://gitlab.com\"\n      }\n    }\n  }\n}\n```\n\n**Requirements:** Node.js >= 24\n\n## Highlights\n\n- **58 tools** across 26 entity types — projects, merge requests, pipelines, work items, wiki, and more\n- **CQRS architecture** — `browse_*` for queries, `manage_*` for commands\n- **Connection resilience** — Bounded startup, auto-reconnect with exponential backoff, disconnected mode when GitLab is unreachable\n- **Multi-instance support** — Connect to GitLab.com, self-managed, and self-hosted instances with per-instance OAuth and rate limiting\n- **Multiple transports** — stdio, SSE, StreamableHTTP\n- **OAuth 2.1** — Per-user authentication via Claude Custom Connector\n- **Read-only mode** — Safe operation for production environments\n- **Auto-discovery** — Detects GitLab config from git remotes\n- **Fine-grained control** — Enable/disable tool groups, filter actions, customize descriptions\n- **Docker support** — `ghcr.io/structured-world/gitlab-mcp:latest`\n\n## Tool model\n\nGitLab exposes hundreds of API operations. Giving each its own MCP tool floods an\nagent's context; a thin API wrapper pushes that complexity back onto the agent. This\nserver takes a third path: 58 CQRS tools, each holding several typed\nactions, expose 230 operations across 26 entity types.\n\n- `browse_*` tools are read-only queries; `manage_*` tools are writes.\n- Sub-resources fold into actions rather than new tools — `browse_pipelines` covers\n  pipelines, jobs, and logs in a single tool.\n- The tool list, actions, and parameters are resolved at schema-generation time\n  against GitLab version, tier, token scopes, admin-mode, feature flags, and profiles.\n\nExamples:\n\n- `browse_pipelines` — list, get, jobs, job, logs, triggers\n- `manage_pipeline` — create, retry, cancel\n- `browse_environments` — list, get, list_deployments\n- `manage_environment` — create, update, stop, delete, update_deployment_status\n- `browse_deploy_keys` / `manage_deploy_key` — list, get / add, enable, update, delete\n\n## Documentation\n\nFull documentation is available at **[gitlab-mcp.sw.foundation](https://gitlab-mcp.sw.foundation)**\n\n| Section | Description |\n|---------|-------------|\n| [Installation](https://gitlab-mcp.sw.foundation/guide/installation/npm) | npm, Docker, VS Code, Codex |\n| [Configuration](https://gitlab-mcp.sw.foundation/guide/configuration) | Environment variables, feature flags |\n| [Multi-Instance](https://gitlab-mcp.sw.foundation/guide/multi-instance) | Connect to multiple GitLab instances |\n| [Tool Reference](https://gitlab-mcp.sw.foundation/tools/) | All 58 tools with parameters |\n| [OAuth Setup](https://gitlab-mcp.sw.foundation/security/oauth) | Team authentication with Claude |\n| [TLS/HTTPS](https://gitlab-mcp.sw.foundation/advanced/tls) | Production deployment with SSL |\n| [Customization](https://gitlab-mcp.sw.foundation/advanced/customization) | Tool descriptions, action filtering |\n| [CLI Tools](https://gitlab-mcp.sw.foundation/cli/list-tools) | Browse and export tool documentation |\n\n### Auto-generated Tool Reference\n\nFor the complete tool reference with parameters:\n\n```bash\n# View locally\nyarn list-tools --detail\n\n# Generate documentation\nyarn list-tools --export --toc > docs/tools/api-reference.md\n```\n\nSee the [Full API Reference](https://gitlab-mcp.sw.foundation/tools/api-reference) for the auto-generated tool documentation.\n\n## Docker\n\n```bash\n# HTTP mode\ndocker run -e PORT=3002 -e GITLAB_TOKEN=your_token -p 3333:3002 \\\n  ghcr.io/structured-world/gitlab-mcp:latest\n\n# stdio mode\ndocker run -i --rm -e GITLAB_TOKEN=your_token \\\n  ghcr.io/structured-world/gitlab-mcp:latest\n```\n\n## Connection Resilience\n\nThe server handles GitLab connectivity issues gracefully:\n\n- **Bounded startup** — Server starts within `GITLAB_INIT_TIMEOUT_MS` (default 5s) regardless of GitLab availability\n- **Disconnected mode** — When GitLab is unreachable (`disconnected`/`failed` state), only the `manage_context` tool is exposed, with local actions such as `whoami`, `switch_profile`, and `set_scope` for diagnostics. During active reconnect (`connecting` state), the full tool list remains available so MCP clients don't lose their tool catalog during brief outages. MCP clients are notified of tool availability changes via `tools/list_changed`\n- **Auto-reconnect** — Exponential backoff reconnection (5s → 60s) with ±10% jitter\n- **Error classification** — Transient errors (network, 5xx, timeouts) trigger auto-reconnect. Auth/config errors at startup transition to `failed` state (no auto-reconnect). Mid-session token revocation is detected via an authenticated `HEAD /api/v4/user` check that runs alongside each periodic health check (static token mode only; skipped in OAuth mode). A 401 or 403 on this check transitions the instance to `failed` state immediately.\n- **Instance health monitor** — Each monitored instance URL has its own XState state machine. Untracked OAuth URLs currently pass through as reachable.\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `GITLAB_INIT_TIMEOUT_MS` | `5000` | Max time to wait for GitLab during startup |\n| `GITLAB_RECONNECT_BASE_DELAY_MS` | `5000` | Initial reconnect delay (doubles each attempt) |\n| `GITLAB_RECONNECT_MAX_DELAY_MS` | `60000` | Maximum reconnect delay |\n| `GITLAB_HEALTH_CHECK_INTERVAL_MS` | `60000` | Health check interval when connected |\n| `GITLAB_FAILURE_THRESHOLD` | `3` | Consecutive transient failures before disconnecting |\n| `GITLAB_TOOL_TIMEOUT_MS` | `120000` | Max time for tool/bootstrap execution before timeout |\n| `GITLAB_RESPONSE_WRITE_TIMEOUT_MS` | `10000` | Max time to flush a non-SSE response before destroying zombie connection (`0` to disable; SSE uses heartbeat) |\n| `GITLAB_INSTANCE_CACHE_MAX` | `100` | Max number of per-URL instance states kept in memory (OAuth multi-tenant; LRU eviction when exceeded) |\n| `GITLAB_INSTANCE_TTL_MS` | `3600000` | TTL for idle per-URL instance states in ms; evicted on next insert (OAuth multi-tenant) |\n\n## Feature Flags\n\n| Flag | Default | Tools Enabled |\n|------|---------|---------------|\n| `USE_LABELS` | `true` | Label management |\n| `USE_MRS` | `true` | Merge requests |\n| `USE_FILES` | `true` | File operations |\n| `USE_VARIABLES` | `true` | CI/CD variables |\n| `USE_WORKITEMS` | `true` | Issues, epics, tasks |\n| `USE_WEBHOOKS` | `true` | Webhook management |\n| `USE_SNIPPETS` | `true` | Code snippets |\n| `USE_INTEGRATIONS` | `true` | 50+ integrations |\n| `USE_GITLAB_WIKI` | `true` | Wiki pages |\n| `USE_MILESTONE` | `true` | Milestones |\n| `USE_PIPELINE` | `true` | Pipelines & CI/CD |\n| `USE_RELEASES` | `true` | Release management |\n| `USE_REFS` | `true` | Branch & tag management |\n| `USE_MEMBERS` | `true` | Team members |\n| `USE_SEARCH` | `true` | Cross-project search |\n| `USE_ITERATIONS` | `true` | Iteration planning (sprints) |\n| `USE_CI_TOKENS` | `true` | CI access credentials: job token scope and deploy keys |\n| `USE_ENVIRONMENTS` | `true` | Environments and deployments |\n| `USE_RUNNERS` | `true` | CI runner management |\n| `USE_REGISTRY` | `true` | Container registry repositories and tags |\n| `USE_ACCESS_TOKENS` | `true` | Project/group/personal access token management |\n| `USE_AUDIT_EVENTS` | `true` | Audit events (Premium+) |\n| `USE_VULNERABILITIES` | `true` | Vulnerability management (Ultimate) |\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/structured-world/gitlab-mcp/blob/HEAD/CONTRIBUTING.md) for development setup, testing, and PR guidelines.\n\n## Support the Project\n\n<div align=\"center\">\n\n![USDT TRC-20 Donation QR Code](https://raw.githubusercontent.com/structured-world/gitlab-mcp/HEAD/packages/gitlab-mcp/assets/usdt-qr.svg)\n\nUSDT (TRC-20): `TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA`\n\n</div>\n\n## License\n\nApache License 2.0 — see [LICENSE](https://github.com/structured-world/gitlab-mcp/blob/HEAD/LICENSE) for details.\n\nBased on [zereight/gitlab-mcp](https://github.com/zereight/gitlab-mcp) (MIT). See [LICENSE.MIT](https://github.com/structured-world/gitlab-mcp/blob/HEAD/LICENSE.MIT).\n","readmeFilename":"README.md"}