* feat: add cookie-based authentication support for GitLab instances 🍪
- Add GITLAB_AUTH_COOKIE_PATH environment variable support
- Handle #HttpOnly_ prefix in cookie files properly
- Enable redirect following when cookies are present
- Maintain compatibility with existing token-based auth
* chore: prepare fork for npm publishing as @mattweg/gitlab-mcp
- Update package name to @mattweg/gitlab-mcp
- Bump version to 1.0.63-fork.1
- Add attribution to original author zereight
- Add deprecation notice referencing upstream PR #100
- Add repository and homepage URLs for fork
* fix: remove duplicate documentation line
- removed the duplicate GITLAB_AUTH_COOKIE_PATH from README.md
* fix: move cookie header outside conditional block for universal auth support
- Move cookie header setting outside if/else block to ensure it applies
to both old (Private-Token) and new (Bearer) GitLab authentication
- Fixes issue where cookies were only set for Bearer token auth
- Maintains backward compatibility with existing authentication methods
- Enables cookie-based authentication for all GitLab instance types
Resolves authentication failures when using GITLAB_AUTH_COOKIE_PATH
with GitLab instances that require cookie-based authentication.
* 1.0.63
* fix: add support for macOS cookie format in auth cookie parsing 🍪
- Add fallback parsing for macOS cookie format
- Handle cookie files with different structure than standard Netscape format
- Maintain compatibility with existing Linux cookie parsing
- Extract cookie name and value from space-separated format
Resolves authentication failures when using GITLAB_AUTH_COOKIE_PATH on macOS systems.
* 1.0.64
* chore: update version to 1.0.63-fork.3
* fix: implement proper cookie jar authentication for macOS
- Replace static cookie string with fetch-cookie + tough-cookie
- Add proper Netscape cookie format parsing with domain context
- Enable automatic cookie handling during OAuth2 redirects
- Fixes authentication issues on macOS with enterprise SSO
* chore: update version to 1.0.63-fork.4
* feat: add cookie-based authentication support for enterprise GitLab instances
Add support for Netscape cookie file authentication to enable access to
enterprise GitLab instances that use SSO/OAuth2 redirects.
- Add GITLAB_AUTH_COOKIE_PATH environment variable
- Implement cookie jar with proper domain handling for redirects
- Use conditional fetch assignment: cookie-enabled when path configured
- Maintains backward compatibility: no cookies = original behavior
- Zero changes to existing fetch() calls throughout codebase
Enables authentication flows like: curl -L -b ~/.midway/cookie
Useful for enterprise environments with federated authentication.
* chore: update to fork version 1.0.63-fork.5 with cookie auth support
* feat: add cookie-based authentication support for enterprise GitLab instances
Add support for Netscape cookie file authentication to enable access to
enterprise GitLab instances that use SSO/OAuth2 redirects.
- Add GITLAB_AUTH_COOKIE_PATH environment variable
- Implement cookie jar with proper domain handling for redirects
- Use conditional fetch assignment: cookie-enabled when path configured
- Maintains backward compatibility: no cookies = original behavior
- Zero changes to existing fetch() calls throughout codebase
Enables authentication flows like: curl -L -b ~/.midway/cookie
Useful for enterprise environments with federated authentication.
* feat: implement robust cookie-based authentication with hybrid parsing
- Add support for Netscape cookie file format with #HttpOnly_ prefix handling
- Implement hybrid approach using tough-cookie's parse() for robust cookie parsing
- Add automatic session establishment for enterprise GitLab authentication
- Support cookie file path via GITLAB_AUTH_COOKIE_PATH environment variable
- Integrate with fetch-cookie for automatic redirect handling and session persistence
- Ensure compatibility with Midway enterprise authentication flow
This enables seamless authentication with enterprise GitLab instances that require
cookie-based authentication while maintaining clean, maintainable code using
widely-supported packages (tough-cookie + fetch-cookie).
* chore: bump version to 1.0.63-fork.6 with ultra-clean cookie auth
* fix: correct package name to @mattweg/gitlab-mcp for proper npx dependency resolution
- Fix package name mismatch that prevented npx from installing dependencies
- Bump version to 1.0.63-fork.7
- This resolves cookie authentication issues by ensuring fetch-cookie and tough-cookie are properly installed
* Improve cookie authentication with robust session establishment
* feat: add cookie-based authentication support
This feature adds support for cookie-based authentication with GitLab instances by:
- Adding a new GITLAB_AUTH_COOKIE_PATH environment variable to specify the path to a Netscape-format cookie file
- Implementing a cookie jar parser that handles standard Netscape cookie format
- Adding session establishment logic that checks for GitLab session cookies
- Ensuring all API requests use the authenticated session
This allows the MCP server to authenticate with GitLab instances that use cookie-based authentication, which is particularly useful for instances that require SSO or other authentication methods that don't support personal access tokens.
---------
Co-authored-by: Moon (mattweg's AI assistant) <moon+ai-assistant@mattweg.dev>
Co-authored-by: Matt Weg <mattweg@amazon.com>
🚀 Breaking Changes:
- Updated merge request functionality with new options
- Improved handling of assignee usernames in issue listings
📝 Details:
- Added support for `remove_source_branch` and `squash` options for merge requests
- Fixed issue with assignee username handling in issue listing
- Generated RELEASE_NOTES.md from CHANGELOG.md
🚀 Breaking Changes:
- Introduced new environment variables for GitLab API integration
- Added validation script for PR checks
- Updated package.json with new scripts for testing and formatting
📝 Details:
- Added .prettierrc and .eslintrc.json for code formatting and linting
- Created .env.example for environment variable setup
- Updated CHANGELOG.md with recent changes
- Added documentation for GitHub secrets setup
🚀 Breaking Changes:
- Updated version from 1.0.48 to 1.0.50
- Refactored code for better readability and consistency
📝 Details:
- Improved descriptions and formatting in index.ts
- Ensured consistent use of URL encoding in API calls
📝 Details:
- 버전을 1.0.47로 업데이트
- CHANGELOG에 새로운 기능과 버그 수정 사항 추가
- list_merge_requests 기능 추가 (#56)
- GitLabUserSchema의 avatar_url nullable 처리 (#55)
- GitLabPipelineSchema의 illustration nullable 처리 (#58)
- Decode project_id using decodeURIComponent() in relevant helper functions.
- This resolves API call issues related to project ID encoding differences between models.
- Updated CHANGELOG for 1.0.36 and added thanks to Aubermean.
🚀 Breaking Changes:
- README.md의 도구 섹션이 자동으로 업데이트됩니다.
📝 Details:
- index.ts에서 도구 정보를 추출하여 README.md의 특정 섹션을 업데이트하는 스크립트 추가
- package.json에 도구 생성 스크립트 명령어 추가
🚀 Breaking Changes:
- 새로운 위키 페이지 관련 API 추가
- USE_GITLAB_WIKI 환경 변수에 따라 위키 도구 활성화/비활성화 가능
📝 Details:
- 위키 페이지 목록 조회, 특정 페이지 조회, 페이지 생성, 업데이트 및 삭제 기능 구현
- 관련 스키마 추가 및 패키지 종속성 업데이트
- Implemented `list_group_projects` function to list all projects in a GitLab group with various filtering options.
- Updated package dependencies, including `@modelcontextprotocol/sdk` to version 1.8.0 and `zod` to version 3.24.2.