Commit Graph

17 Commits

Author SHA1 Message Date
cced1c16f9 docs: update README and version to 1.0.64
🚀 Breaking Changes:
- Updated version from 1.0.63 to 1.0.64
- Added cookie-based authentication details in README

📝 Details:
- Enhanced Docker instructions in README
- Updated package-lock.json and package.json with new version
2025-06-16 12:47:44 +09:00
402f068470 feat: add cookie-based authentication support for enterprise GitLab (#101)
* 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>
2025-06-16 12:38:14 +09:00
5200cc526c FEAT: private token auth (#89)
* FEAT: private token auth

issue: #88

* FIX
2025-06-09 14:21:52 +09:00
547b05c88d [feat] update: bump version to 1.0.56
🚀 Breaking Changes:
- Updated package version in package.json and package-lock.json
2025-06-02 21:36:42 +09:00
82a944427d FEAT: MCP SSE 2025-06-02 17:47:52 +09:00
5b35bc163c feat: add configuration files and scripts for project setup
🚀 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
2025-05-29 23:24:46 +09:00
cc847772f1 feat: implement list_merge_requests functionality
- Add ListMergeRequestsSchema with comprehensive filtering options
- Implement listMergeRequests function following GitLab API
- Add tool definition and switch case handler
- Include in readOnlyTools array
- Update README.md with new tool documentation
2025-05-28 17:22:40 +02:00
6f789692be feat: add docker image and push to dockerhub 2025-05-20 16:04:37 +09:30
bde83c0a91 feat: support resolving merge request notes 2025-05-13 14:54:05 -06:00
Bob
bccd5f29c3 feat: Gitlab list repository tree tool 2025-05-07 14:11:37 +02:00
20f62756c1 feat: support search by branch for get_merge_request 2025-04-30 15:41:51 +07:00
7c2578fd4b feat: Implement proxy configuration for HTTP/HTTPS/SOCKS 2025-04-24 09:29:15 +02:00
a7a8149008 chore: bump version to 1.0.29 in package.json and package-lock.json 2025-04-05 22:21:25 +09:00
1e143291c0 chore: bump version 2025-04-01 16:59:51 -04:00
6b8d40bea2 Add list_group_projects tool
- 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.
2025-03-29 20:08:27 +01:00
5d1040141d Build upd. 2025-03-20 14:25:52 +01:00
d686f4e2d7 초기 설정 파일 추가: .gitignore, tsconfig.json, package.json 및 README.md 생성
Generated by Copilot
2025-02-11 10:36:57 +09:00