{"_id":"@haleyio/mcp-servers-gitlab","_rev":"13-ba1194e82d9e16747b25e14e6290b56a","name":"@haleyio/mcp-servers-gitlab","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.0.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.0.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"bd6da260aaa5ede7b71334b28d75029b20e1c7b8","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.0.0.tgz","fileCount":14,"integrity":"sha512-Lk1svZ0vxPVONg2zPDW6DvDQlqR7sN5G/hUvlqcg9oeGWEy2r0NJjmj1bdDB3zhr0UVhqwYCk8vDDP3fb+Y9Ng==","signatures":[{"sig":"MEUCIHCs9Za6awwgFlBViefEyAzScBWcV4hVs3r1KCol6T2yAiEAt2e1bmOxM7Cj0mCfcJyH8oVWD7pv/tdO4BSugGrk7PQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464934},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"155178690b66e79d715a16b20a2985526172b6c0","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"*.ts\" \"tests/**/*.ts\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run format:check"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.0.0_1754592584234_0.5581188173226743","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@haleyio/mcp-servers-gitlab","version":"1.0.1","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.0.1","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"10e6dc454ffa22cf882dc82339fbe6396912e94e","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.0.1.tgz","fileCount":58,"integrity":"sha512-PNPOtn4LMn2Es9GVKWPznw2xjlEzbQkhuXAJ+CGdr/Z/qJOpipxAqMj/1u7lcwdgn6YU9BQJ5Njhmf+XxTepWw==","signatures":[{"sig":"MEUCIQD/vMcVieoNL9lkUW0OtCUG+YWAdw/SiCjAaCQnB1ccFwIgQsADMk9iW9wjx7G16ormCpACMGefiZiY2iEsD992AGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505229},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"c08fa8b61b6e8d7f5082af99efe5df7c5d01e0b8","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run format:check"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.0.1_1754614424246_0.8064345961868398","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@haleyio/mcp-servers-gitlab","version":"1.0.2","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.0.2","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"4c27c540b7920299fb1a7d649d4986e4d5c47e57","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.0.2.tgz","fileCount":58,"integrity":"sha512-m9EAJe6bm93Lu3zILiTztFTNTo5kPTSqES4Hy5PHgl5HN3pTssmBPAhh+nxzN9dORp+SktSwoAydFfgWz30duA==","signatures":[{"sig":"MEQCIF3iSJ/d0ewlWwu4VigA2gICJMf7yAbL/R74/uwXpAbGAiA3AInp3wufo96KwWqaWH+sXm3ghcRBoxeXxC7LrTXbug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505170},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"48eabd56a52874f98ee8e37c7312ae114566c057","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run format:check"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.0.2_1754620087400_0.5380668635396286","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@haleyio/mcp-servers-gitlab","version":"1.0.3","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.0.3","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"188088b7306384490093bfeadc723b905bb52555","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.0.3.tgz","fileCount":58,"integrity":"sha512-C49PL44Qu7HHhlvM78l5o0RnrKHpwzh8+AhYJCIFQ6NTMxGrn8/kBQ9ulci835KInzk1+6APSihQD0TnsXwtag==","signatures":[{"sig":"MEUCIHr2z+qr0L+KLuKZrLu0hzqNU7oKYDUm9LrMZOVlhN9gAiEA5LNFR8Pt/47d/tKlW/fRDUc3KxwVTo0wXybM7MQrKaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":510123},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"9ab968990be1349801a8f1534feec0b39c859da4","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run format:check"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.0.3_1754669186292_0.6682042214104869","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.1.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.1.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"1613d4d2eaa6ff0b8f279a83c44ee422c28960fb","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.1.0.tgz","fileCount":58,"integrity":"sha512-r6huaG/gUx4p0dircmVqBKvkpn1f+xQBVmtyzQgy7CR3bbgknw15Mca6CPBh//EZqZNN+a6Q14f5mYMmfl4txQ==","signatures":[{"sig":"MEUCIDtBwIS4QBtRvfdAqn8VYh4urgPpM5oC7CKoVGbRzIg6AiEAktgC6yV6t4h9VCqR+417Whk55vM+U3KjDD1qcIcRUd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526810},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"32aa26a0d6cf640faeaa2370f9a5e55493d471c2","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.1.0_1754686187216_0.9374387541492726","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.2.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.2.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"540f31b93923db84d95caa819a4f140d79e8c8f3","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.2.0.tgz","fileCount":58,"integrity":"sha512-qBLx44ctD4+ulR6atDrsgsHVasCyYIvmpAgtrNgMin6BagXRrDwG/sVcwFEDin6+Dd8vCXJd0v5Y57+YLCsIuw==","signatures":[{"sig":"MEUCIQD1Yjf7iLYP3cJCWbt8HZfutwGl8wajo+FIC84osss51AIgcAyPPw6W3LthG1eUo0ZLhqTOa4tQB6o+xy0k2tFSHbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":529486},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"8b422ab798807210a764df956a6ad8323be37e64","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.2.0_1754694331104_0.24246331927475206","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.3.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.3.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"050062e18d91d73517d91eb07e92bce84e5164de","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.3.0.tgz","fileCount":61,"integrity":"sha512-Vsn04PMZ4XRolc8QPJyAI1XyTUY77yQilCWi7hki91u2cQb9HGE7TXsCmn5HsBZ46jOvD4czQaSkIe8JNroTvQ==","signatures":[{"sig":"MEQCIFHQywd+yA5tlT5/7h4gpgRTXrGmZdm331rdy9pTTPs0AiA6WWfW0nkCoWlsgNWLduDAFjM9etPSN1nbPvua0zl06Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552874},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"42939acfa9d70f15b0bcdeeee7945c336b5cb6c3","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.3.0_1754722318319_0.6480072438764404","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@haleyio/mcp-servers-gitlab","version":"1.3.1","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.3.1","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"2b92b471e14367be96aa3cc70c0f7ea7ee27b1b0","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.3.1.tgz","fileCount":61,"integrity":"sha512-6CR9QudBnWO9314vAkLqwFB5a4XLbq3jxn8lG94vHHLTyFSXS2AK99R48uUe+JWPVP2XFmcWZUCxF90RO+BVIw==","signatures":[{"sig":"MEYCIQDYbPxKPLTf9nF36J9o8rMPWwwqo621Wk0yQWiaYNMv0QIhAOx0YToNY/vGHNQn6wlIhu/IQOsKoQhHSRMZj8b0je0w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"96931743efdb8f592c3bb86eb6aa84157adc0fa6","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.3.1_1754779583107_0.9883931925927403","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.4.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.4.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"c80f914aec2ec725968b6b2765c420562022a1b5","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.4.0.tgz","fileCount":149,"integrity":"sha512-L2TSeUYYrrp6bxpBQfvI0oru8+KMDywysedKVKZvtK7lbF2xDQktY0NeTxmp6bCh91ylCsua3fFX80+xd/VvbQ==","signatures":[{"sig":"MEYCIQDKGQ8gkWodDwjuSub0IaCPbKz7Mwgg39xWd2x/IloNUwIhANGXMRRB73cRmdiz1Sbncya/tVVQNDmsolq8JyBupYhB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":715565},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"258958dd025cba7e755df8b1ceab54e6d6b74f2d","scripts":{"test":"vitest","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","test:ui":"vitest --ui","test:run":"vitest run","test:safe":"npm run test:run && npm run test:cleanup","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","vitest":"^2.0.0","prettier":"^3.6.2","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.4.0_1754954121120_0.21450130877461238","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@haleyio/mcp-servers-gitlab","version":"1.5.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.5.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"6de5dcc17be90bf29852121bb1d8613c0c97cb2c","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.5.0.tgz","fileCount":125,"integrity":"sha512-8qFZxBIledXgZg/JroX+wuVrAeKwis4nH8mIcbr6BVwNBzy6Js084y/umswYHcHlTQNe/d42awefOPZVwNuPpg==","signatures":[{"sig":"MEUCIQCim3w0PToLQ+T5N6I4bn3fjswqXjFdjU/A+ouPIBslZwIgIMuU/YnUKEk14yj/7oRVYS+Kt0EIjkZTacZSBEqvLWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640898},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"540fa0dd1c8a0dc5342a8136fdfd7c44cae257ee","scripts":{"lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\"","test":"vitest run","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","lint:fix":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --fix","test:safe":"npm test && npm run test:cleanup","typecheck":"tsc --project tsconfig.test.json --noEmit","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","eslint":"^9.33.0","vitest":"^2.0.0","prettier":"^3.6.2","@eslint/js":"^9.33.0","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.5.0_1755577311034_0.26313977111542064","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@haleyio/mcp-servers-gitlab","version":"1.5.1","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@1.5.1","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"fa2869a2cee12663a0f952e9005e024d671a9d6b","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-1.5.1.tgz","fileCount":125,"integrity":"sha512-EYunRgqAZ5PePQta7gxqVgq/zMRJlbZtYWjcZpUhr+VpSmJ5wMwO4Gmj2o3d07/JJaTi7HVXGXLFrsyLTX1M5Q==","signatures":[{"sig":"MEUCIE6yTeENUuA6zO2Tz88BFkOGKto6jP9i5B7jKMqM5BiVAiEAhqUfS2eSZQnPG822IsPUn/yI5zMrNKJW6t+aSN1VBm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640833},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"4c4fdd59656a3cd89310a8f12b5a89b61be9c345","scripts":{"lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\"","test":"vitest run","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","lint:fix":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --fix","test:safe":"npm test && npm run test:cleanup","typecheck":"tsc --project tsconfig.test.json --noEmit","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","eslint":"^9.33.0","vitest":"^2.0.0","prettier":"^3.6.2","@eslint/js":"^9.33.0","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_1.5.1_1755621736499_0.5022892841810418","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@haleyio/mcp-servers-gitlab","version":"2.0.0","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","_id":"@haleyio/mcp-servers-gitlab@2.0.0","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"bin":{"mcp-servers-gitlab":"dist/index.js"},"dist":{"shasum":"0edfa6f9db62864b119824a0ca417430ebc9e0a1","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-2.0.0.tgz","fileCount":128,"integrity":"sha512-zy/r8otD8vYGvkJRR8w5le7EYlddVj/hOUtQ6CJm/CJ1POzdYhCv9vfU5KzHVHF9IPh6NkY77In4pHMW47ilrg==","signatures":[{"sig":"MEUCIQD9/J1Z4/6evYhNU5vCnTJLbYWSzdy2TaQqol7zzlvLQQIgCgr4P+4Fcj2pu7OW3CQ4YOP37EaDmyPZv4ZuXymWqwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":649648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"8ec6b566ca8d55eb062a023f1d9c811d269ef196","scripts":{"lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\"","test":"vitest run","build":"tsc && shx chmod +x dist/*.js","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepare":"npm run build","lint:fix":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --fix","test:safe":"npm test && npm run test:cleanup","typecheck":"tsc --project tsconfig.test.json --noEmit","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","test:cleanup":"vitest tests/cleanup-orphaned.test.ts --run","cleanup:repos":"npx tsx scripts/cleanup-test-repos.ts","test:coverage":"vitest run --coverage","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","prepublishOnly":"npm run build && npm run format:check","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","test:coverage:ci":"vitest run --coverage --coverage.reporter=json,lcov,text,cobertura","security:validate":"node scripts/validate-security-coverage.js"},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"repository":{"url":"git+https://git.haley.io/john/mcp-server-gitlab.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","directories":{},"_nodeVersion":"18.20.8","dependencies":{"dotenv":"^17.2.1","node-fetch":"^3.3.2","@types/node-fetch":"^2.6.12","zod-to-json-schema":"^3.23.5","@modelcontextprotocol/sdk":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","tsx":"^4.19.0","uuid":"^10.0.0","eslint":"^9.33.0","vitest":"^2.0.0","prettier":"^3.6.2","@eslint/js":"^9.33.0","@vitest/ui":"^2.0.0","typescript":"^5.6.2","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^2.0.0","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-servers-gitlab_2.0.0_1755809485058_0.49455533541805163","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@haleyio/mcp-servers-gitlab","version":"3.0.0","description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","license":"MIT","author":{"name":"John Haley","email":"john@haley.io"},"homepage":"https://git.haley.io/john/mcp-server-gitlab","bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"type":"module","main":"./dist/index.js","bin":{"mcp-servers-gitlab":"dist/index.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./package.json":"./package.json"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"repository":{"type":"git","url":"git+https://git.haley.io/john/mcp-server-gitlab.git"},"scripts":{"build":"tsc && shx chmod +x dist/*.js","lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\"","lint:fix":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" --fix","typecheck":"tsc --project tsconfig.test.json --noEmit","prepare":"npm run build","prepublishOnly":"npm run build && npm run format:check","watch":"tsc --watch","format":"prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"","test":"vitest run","test:ci":"npm run test:unit && npm run test:integration","test:ci:parallel":"npm run test:unit & npm run test:integration & wait","test:ci:sequential":"npm run test:unit && npm run test:integration","test:coverage":"vitest run --coverage","test:coverage:ci":"vitest run --coverage --coverage.reporter=json --coverage.reporter=lcov --coverage.reporter=text --coverage.reporter=cobertura","test:e2e":"vitest run --config vitest.config.e2e.ts","test:integration":"vitest run --config vitest.config.integration.ts","test:unit":"vitest run --config vitest.config.unit.ts","test:unit:shard:1/4":"vitest run --config vitest.config.unit.ts --shard=1/4 --coverage --coverage.reportsDirectory=coverage/shard-1","test:unit:shard:2/4":"vitest run --config vitest.config.unit.ts --shard=2/4 --coverage --coverage.reportsDirectory=coverage/shard-2","test:unit:shard:3/4":"vitest run --config vitest.config.unit.ts --shard=3/4 --coverage --coverage.reportsDirectory=coverage/shard-3","test:unit:shard:4/4":"vitest run --config vitest.config.unit.ts --shard=4/4 --coverage --coverage.reportsDirectory=coverage/shard-4","test:integration:shard:1/4":"vitest run --config vitest.config.integration.ts --shard=1/4 --coverage --coverage.reportsDirectory=coverage/integration-shard-1","test:integration:shard:2/4":"vitest run --config vitest.config.integration.ts --shard=2/4 --coverage --coverage.reportsDirectory=coverage/integration-shard-2","test:integration:shard:3/4":"vitest run --config vitest.config.integration.ts --shard=3/4 --coverage --coverage.reportsDirectory=coverage/integration-shard-3","test:integration:shard:4/4":"vitest run --config vitest.config.integration.ts --shard=4/4 --coverage --coverage.reportsDirectory=coverage/integration-shard-4","test:watch":"vitest","coverage:check":"vitest run --coverage --coverage.thresholds.autoUpdate=false","coverage:merge":"node scripts/merge-coverage.js","coverage:merge:dry-run":"node scripts/merge-coverage.js --dry-run","coverage:merge:verbose":"node scripts/merge-coverage.js --verbose","coverage:report":"vitest run --coverage && (command -v open >/dev/null 2>&1 && open coverage/index.html || command -v xdg-open >/dev/null 2>&1 && xdg-open coverage/index.html || echo 'Coverage report generated at coverage/index.html')","security:validate":"node scripts/validate-security-coverage.js","health-check":"node -e \"console.log('🔍 GitLab MCP Health Check'); import('./dist/index.js').then(() => console.log('✅ MCP Server initialized successfully')).catch(e => {console.error('❌ Health check failed:', e.message); process.exit(1);})\"","validate:contracts":"tsx scripts/validate-contracts.ts","validate:contracts:critical":"tsx scripts/validate-contracts.ts get_repository get_file_contents create_or_update_file","validate:contracts:smoke":"vitest run tests/contract/smoke --config vitest.config.smoke.ts --reporter=verbose","generate:contract-report":"tsx scripts/generate-contract-report.ts","generate:contract-report:html":"tsx scripts/generate-contract-report.ts --format=html","contracts:all":"npm run validate:contracts:smoke && npm run validate:contracts && npm run generate:contract-report"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.2","@types/node-fetch":"^2.6.12","dotenv":"^17.2.1","glob":"^11.0.3","node-fetch":"^3.3.2","zod-to-json-schema":"^3.23.5"},"devDependencies":{"@eslint/js":"^9.33.0","@mswjs/data":"^0.16.2","@types/uuid":"^10.0.0","@typescript-eslint/eslint-plugin":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-v8":"^2.0.0","@vitest/ui":"^2.0.0","eslint":"^9.33.0","msw":"^2.10.5","prettier":"^3.6.2","shx":"^0.3.4","tsx":"^4.19.0","typescript":"^5.6.2","uuid":"^11.1.0","vitest":"^2.0.0"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"^4.49.0","@rollup/rollup-linux-x64-musl":"^4.49.0"},"_id":"@haleyio/mcp-servers-gitlab@3.0.0","gitHead":"218eb4e7ec87c15fa141380653549d844eb1be29","types":"./dist/index.d.ts","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-R9h9pSxyc6smrbZm0osNX0Npg3Wo+tpCyzLS+F1PZT2JGAW6hioaemqFumWaHEm9FScbLggPOnfOehWH3YRrhg==","shasum":"ddaa53823be91119ab4d080da443342f057984d9","tarball":"https://registry.npmjs.org/@haleyio/mcp-servers-gitlab/-/mcp-servers-gitlab-3.0.0.tgz","fileCount":134,"unpackedSize":709464,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC/qqV2mhMJl/mcBcQdvhYkjPeUZ6tEDzhXJiFU2eD5mwIgex+6wAkVO8y2Y9WCiSDWwG6wW9OJ3DYE2J5Qm1nPUxI="}]},"_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"directories":{},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-servers-gitlab_3.0.0_1756750337173_0.7980211373292949"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-07T18:49:44.162Z","modified":"2025-09-01T18:12:17.664Z","1.0.0":"2025-08-07T18:49:44.447Z","1.0.1":"2025-08-08T00:53:44.457Z","1.0.2":"2025-08-08T02:28:07.595Z","1.0.3":"2025-08-08T16:06:26.477Z","1.1.0":"2025-08-08T20:49:47.452Z","1.2.0":"2025-08-08T23:05:31.296Z","1.3.0":"2025-08-09T06:51:58.540Z","1.3.1":"2025-08-09T22:46:23.303Z","1.4.0":"2025-08-11T23:15:21.356Z","1.5.0":"2025-08-19T04:21:51.233Z","1.5.1":"2025-08-19T16:42:16.730Z","2.0.0":"2025-08-21T20:51:25.291Z","3.0.0":"2025-09-01T18:12:17.483Z"},"bugs":{"url":"https://git.haley.io/john/mcp-server-gitlab/-/issues"},"author":{"name":"John Haley","email":"john@haley.io"},"license":"MIT","homepage":"https://git.haley.io/john/mcp-server-gitlab","keywords":["mcp","modelcontextprotocol","server","gitlab","claude","ai","version-control","repository"],"repository":{"type":"git","url":"git+https://git.haley.io/john/mcp-server-gitlab.git"},"description":"MCP server for GitLab integration - provides tools for repository management, issue tracking, and merge request operations","maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"}],"readme":"# GitLab MCP Server\n\n[![Coverage](https://git.haley.io/john/mcp-server-gitlab/-/jobs/artifacts/main/raw/coverage/badge.svg?job=test:coverage)](https://git.haley.io/john/mcp-server-gitlab/-/jobs/artifacts/main/file/coverage/index.html?job=test:coverage)\n\nA comprehensive Model Context Protocol (MCP) server for GitLab API integration, providing 75 GitLab tools with advanced performance optimization for coding agents.\n\n## Quick Start\n\n**1. Get your GitLab token:**\n- Go to GitLab → User Settings → Access Tokens → Create with `api` scope\n\n**2. Add to Claude Desktop config:**\n```json\n{\n  \"gitlab\": {\n    \"command\": \"npx\",\n    \"args\": [\"@haleyio/mcp-servers-gitlab\"],\n    \"env\": {\n      \"GITLAB_PERSONAL_ACCESS_TOKEN\": \"glpat-your-token-here\"\n    }\n  }\n}\n```\n\n**3. Start Claude Desktop** - GitLab tools will be available immediately.\n\n## Tool Categories\n\n**75 tools organized across 10 categories:**\n- **Repository** (7 tools): File operations, search, create/update files\n- **Branches** (6 tools): Branch management and protection\n- **Issues** (13 tools): Issue tracking, comments, time tracking\n- **Merge Requests** (18 tools): Complete MR lifecycle management\n- **Pipelines** (7 tools): CI/CD pipeline operations\n- **Jobs** (8 tools): Job control and monitoring\n- **Variables** (5 tools): CI/CD environment variables\n- **Project Management** (8 tools): Milestones and labels\n- **CI Configuration** (1 tool): YAML validation\n- **Artifacts** (2 tools): Download and manage job artifacts\n\n### Complete Tool Reference\n\n#### Repository (7 tools)\n`search_repositories` `create_repository` `fork_repository` `delete_repository` `get_file_contents` `create_or_update_file` `push_files`\n\n#### Branches (6 tools)\n`create_branch` `get_branches` `get_branch` `delete_branch` `protect_branch` `unprotect_branch`\n\n#### Issues (13 tools)\n`create_issue` `get_issues` `get_issue` `update_issue` `delete_issue` `get_issue_notes` `create_issue_note` `update_issue_note` `delete_issue_note` `add_time_spent` `get_time_stats` `reset_time_spent` `set_time_estimate`\n\n#### Merge Requests (18 tools)\n`create_merge_request` `get_merge_requests` `get_merge_request` `update_merge_request` `merge_merge_request` `approve_merge_request` `unapprove_merge_request` `get_merge_request_approvals` `get_merge_request_commits` `get_merge_request_changes` `rebase_merge_request` `close_merge_request` `reopen_merge_request` `delete_merge_request` `get_merge_request_notes` `create_merge_request_note` `update_merge_request_note` `delete_merge_request_note`\n\n#### Pipelines (7 tools)\n`get_pipelines` `get_pipeline` `create_pipeline` `retry_pipeline` `cancel_pipeline` `delete_pipeline` `get_latest_pipeline`\n\n#### Jobs (8 tools)\n`get_jobs` `get_pipeline_jobs` `get_job` `get_job_log` `cancel_job` `retry_job` `play_job` `erase_job`\n\n#### Variables (5 tools)\n`get_variables` `get_variable` `create_variable` `update_variable` `delete_variable`\n\n#### Project Management (8 tools)\n`create_milestone` `get_milestones` `update_milestone` `delete_milestone` `create_label` `get_labels` `update_label` `delete_label`\n\n#### CI Configuration (1 tool)\n`validate_ci_config`\n\n#### Artifacts (2 tools)\n`get_job_artifacts_list` `download_job_artifact`\n\n## Performance Optimization\n\n**Key differentiator: Up to 95% payload reduction for faster coding agent responses.**\n\n### Standard Setup (Recommended)\n```json\n{\n  \"gitlab\": {\n    \"command\": \"npx\",\n    \"args\": [\"@haleyio/mcp-servers-gitlab\"],\n    \"env\": {\n      \"GITLAB_PERSONAL_ACCESS_TOKEN\": \"your-token\"\n    }\n  }\n}\n```\n\n### High Performance (Tool-Specific Filtering)\n```json\n{\n  \"gitlab\": {\n    \"command\": \"npx\",\n    \"args\": [\"@haleyio/mcp-servers-gitlab\"],\n    \"env\": {\n      \"GITLAB_PERSONAL_ACCESS_TOKEN\": \"your-token\",\n      \"OPTIMIZATION_LEVEL\": \"minimal\",\n      \"ENABLED_CATEGORIES\": \"repository:get_file_contents|create_or_update_file\"\n    }\n  }\n}\n```\n\n### Safety-First Setup (Blocklist Dangerous Operations)\n```json\n{\n  \"gitlab-safe\": {\n    \"command\": \"npx\",\n    \"args\": [\"@haleyio/mcp-servers-gitlab\"],\n    \"env\": {\n      \"GITLAB_PERSONAL_ACCESS_TOKEN\": \"your-token\",\n      \"DISABLED_CATEGORIES\": \"repository:delete_repository|fork_repository,project_mgmt:delete_milestone|delete_label\"\n    }\n  }\n}\n```\n\n### Performance Results\n- **File Operations Only**: 95% reduction (`ENABLED_CATEGORIES=\"repository:get_file_contents\"`)\n- **Development Workflow**: 60% reduction (`ENABLED_CATEGORIES=\"repository,branches,merge_requests\"`)\n- **Issue Management**: 80% reduction (`ENABLED_CATEGORIES=\"issues\"`)\n- **Schema Optimization**: 30% reduction (`OPTIMIZATION_LEVEL=\"minimal\"`)\n\n## Essential Commands\n\n```bash\nnpm run build         # Compile TypeScript\nnpm test             # Run all tests (sub-5 second execution)\nnpm run health-check # Validate server startup and performance\n```\n\n## Environment Variables\n\n- `GITLAB_PERSONAL_ACCESS_TOKEN` (required) - GitLab API token with `api` scope\n- `GITLAB_API_URL` (optional) - For self-hosted GitLab instances\n- `OPTIMIZATION_LEVEL` (optional) - `minimal`|`standard`|`verbose` (default: `standard`)\n- `ENABLED_CATEGORIES` (optional) - Allowlist for tool filtering (performance optimization)\n- `DISABLED_CATEGORIES` (optional) - Blocklist for tool filtering (applied after ENABLED_CATEGORIES)\n\n### Tool Filtering Examples\n```bash\n# Allowlist: Category-level filtering\nENABLED_CATEGORIES=\"repository,issues,merge_requests\"\n\n# Allowlist: Tool-specific filtering (maximum performance)\nENABLED_CATEGORIES=\"repository:get_file_contents|create_or_update_file\"\n\n# Allowlist: Mixed filtering\nENABLED_CATEGORIES=\"repository:get_file_contents,branches,issues:create_issue\"\n\n# Blocklist: Remove dangerous operations\nDISABLED_CATEGORIES=\"repository:delete_repository|fork_repository\"\n\n# Blocklist: Remove entire categories\nDISABLED_CATEGORIES=\"branches,pipelines\"\n\n# Combined: Enable specific tools, then remove some\nENABLED_CATEGORIES=\"repository,issues\"\nDISABLED_CATEGORIES=\"repository:delete_repository,issues:delete_issue\"\n\n# Blocklist: Mixed syntax\nDISABLED_CATEGORIES=\"branches,repository:delete_repository\"\n```\n\n## Troubleshooting\n\n**No tools available?**\n- Check token in Claude config `env` section\n\n**401 Unauthorized?**\n- Regenerate GitLab token with `api` scope\n\n**Performance issues?**\n- Use tool filtering: `ENABLED_CATEGORIES=\"repository\"` (92% reduction)\n- Combine with optimization: `OPTIMIZATION_LEVEL=\"minimal\"`\n\n**Need to block specific operations?**\n- Use blocklist: `DISABLED_CATEGORIES=\"repository:delete_repository\"`\n- Block entire categories: `DISABLED_CATEGORIES=\"branches,pipelines\"`\n- Combined filtering: Both `ENABLED_CATEGORIES` and `DISABLED_CATEGORIES` (disabled takes precedence)\n\n**Invalid categories/tools warnings?**\n- Check spelling against valid categories: `repository`, `branches`, `issues`, `merge_requests`, `pipelines`, `jobs`, `variables`, `project_mgmt`, `ci_config`, `artifacts`\n- Use exact tool names (warnings provide suggestions)\n\n**Timeouts with large content?**\n```json\n{\n  \"env\": {\n    \"GITLAB_PERSONAL_ACCESS_TOKEN\": \"your-token\",\n    \"GITLAB_API_TIMEOUT_EXTENDED\": \"180000\"\n  }\n}\n```\n\n**Self-hosted GitLab?**\n```json\n{\n  \"env\": {\n    \"GITLAB_API_URL\": \"https://your-gitlab.com/api/v4\"\n  }\n}\n```\n\n## Testing & Quality\n\n- **Sub-5 second test execution** with complete mock-based testing\n- **Contract validation system** prevents mock drift from real GitLab API\n- **Coverage thresholds**: 40%/25%/56%/40% (lines/functions/branches/statements)\n- **Zero setup required** - no tokens or network access needed for testing\n\n```bash\nnpm test                           # All tests\nnpm run test:coverage             # With coverage report\nnpm run validate:contracts:smoke  # Mock integrity check\n```\n\n## Installation Options\n\n### NPX (Recommended)\n```bash\nnpx @haleyio/mcp-servers-gitlab\n```\n\n### Local Development\n```bash\ngit clone https://git.haley.io/john/mcp-server-gitlab.git\ncd mcp-server-gitlab\nnpm install && npm run build\n```\n\n## License\n\nMIT License - see LICENSE file for details.","readmeFilename":"README.md"}