Skip to main content
Glama
by Alosies
CHANGELOG.mdโ€ข10.6 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.5.0] - 2025-11-27 ### ๐Ÿš€ Added (PR #2 by @dirtydiesel46) - **Merge Request Diffs & Changes** - `get_merge_request_diffs` - Get complete changes/diffs of a merge request with optional view mode (inline/parallel) - `list_merge_request_diffs` - List MR diffs with pagination support and unidiff option (GitLab 16.5+) - `get_branch_diffs` - Compare changes between two branches or commits - **Commit Operations** - `get_commit` - Get detailed information about a specific commit, including optional stats - `get_commit_diff` - Get changes/diffs introduced by a specific commit - **Discussion Note Management** - `update_mr_discussion_note` - Modify an existing note in a merge request discussion - `create_mr_discussion_note` - Add a new note to an existing discussion thread - `delete_mr_discussion_note` - Delete a note from a merge request discussion - **Enhanced Merge Request Lookup** - `get_merge_request` now supports `source_branch` parameter as alternative to `merge_request_iid` - `update_merge_request` now supports `source_branch` parameter for flexible MR identification - `get_merge_request_diffs` and `list_merge_request_diffs` support both IID and source_branch - **Enhanced Commit Filtering** (`get_project_commits`) - Added `path` filter for file-specific history - Added `all` option to retrieve all commits - Added `with_stats` for addition/deletion counts - Added `first_parent` for merge commit traversal - Added `order` option (default/topo) - Added `trailers` for Git trailer parsing - Added `page` for pagination support ### ๐Ÿ”„ Preserved from v1.4.1 - `unresolved_only` filter for `list_mr_discussions` - `page` parameter for pagination on notes/discussions - `getWithHeaders` client method for pagination support ### ๐Ÿงช Testing - Added **26 new tests** for all new functionality - New test files: - `merge-requests-diffs.test.ts` - MR diff operations - `merge-requests-discussion-notes.test.ts` - Discussion note operations - `repository-commits.test.ts` - Commit operations - **130+ total tests** across 15 test files ### ๐Ÿ”„ Backward Compatibility - **No Breaking Changes**: All existing functionality preserved - **8 New Tools**: Added without affecting existing tools - **Enhanced Existing Tools**: `get_merge_request`, `update_merge_request`, `get_project_commits` now support additional parameters --- ## [1.4.1] - 2025-11-26 ### ๐Ÿš€ Added - **Pagination Support**: Added `page` parameter to `list_mr_notes` and `list_mr_discussions` for navigating large comment threads - **Unresolved Filter**: Added `unresolved_only` parameter to `list_mr_discussions` - Fetches all discussions server-side and filters to only unresolved ones - Returns metadata with `total_fetched`, `unresolved_count`, and `filtered` status - Significantly reduces tokens sent to LLM by excluding resolved discussions - **Client Enhancement**: Added `getWithHeaders` method to GitLab client for pagination header access ### ๐Ÿงช Testing - Added 4 new tests for pagination and unresolved filtering - **108 tests** across 12 test files --- ## [1.4.0] - 2025-11-26 ### ๐Ÿš€ Added - **Merge Request Comments & Discussions**: Full support for MR review workflows - `list_mr_notes` - List all comments on a merge request - `list_mr_discussions` - List threaded discussions - `create_mr_note` - Add top-level comments - `create_mr_discussion` - Create new discussion threads with optional inline code positioning - `reply_to_mr_discussion` - Reply to existing discussion threads - `resolve_mr_discussion` - Mark discussions as resolved - `unresolve_mr_discussion` - Mark discussions as unresolved - **Merge Request Draft Status Management** - `mark_mr_as_draft` - Mark MR as draft (adds "Draft:" prefix) - `mark_mr_as_ready` - Mark MR as ready for review (removes "Draft:" or "WIP:" prefix) - **Merge Request Templates** - `list_mr_templates` - List available MR templates in a project - `get_mr_template` - Get template content for use in MR descriptions - **Enhanced Merge Request Filtering** - Added `reviewer_id` filter to `list_merge_requests` - Added `reviewer_username` filter to `list_merge_requests` - Filter MRs where you're assigned as reviewer ### ๐Ÿงช Testing - **Modular Test Structure**: Refactored MR tests into focused test files - `merge-requests.test.ts` - Core MR operations (list, get, create, update) - `merge-requests-notes.test.ts` - Notes and discussions functionality - `merge-requests-draft.test.ts` - Draft/ready status management - `merge-requests-templates.test.ts` - Template operations - **104 tests** across 12 test files with comprehensive coverage ### ๐Ÿ“š Documentation - Updated README with new MR review workflow features - Updated tools.md with all 11 new tools and enhanced parameters - Added usage examples for comment and review workflows ### ๐Ÿ”„ Backward Compatibility - **No Breaking Changes**: All existing functionality preserved - **11 New Tools**: Added without affecting existing tools - **Enhanced Existing Tool**: `list_merge_requests` now supports reviewer filtering --- ## [1.3.1] - 2025-07-12 ### ๐Ÿ”ง Bug Fixes - **Package Distribution**: Fixed npm package to include all required files (86 files vs 10) - **Binary Execution**: Made CLI executable with proper file permissions - **Test Compatibility**: Updated test expectations for v1.3.x releases ### ๐Ÿ“ฆ Package Improvements - Complete modular file structure now included in npm distribution - Binary `gitlab-mcp-server` command now works correctly via npx - Increased package size to 141.9 kB to include all handlers and tools --- ## [1.3.0] - 2025-07-12 ### ๐Ÿš€ Added - **Merge Request Updates**: New `update_merge_request` tool for comprehensive merge request management - Update title, description, assignees, reviewers, labels - Change state (close/reopen merge requests) - Modify target branch, milestone, and collaboration settings - Support for squash, remove source branch, and merge-when-pipeline-succeeds options - **Token Usage Optimization**: `list_projects` now uses `simple=true` by default, reducing response size from 40k+ tokens to much smaller payloads - **Modular Architecture**: Complete refactoring into clean, maintainable modules: - `src/client.ts` - GitLab API client wrapper - `src/server.ts` - Main MCP server implementation - `src/handlers/` - Domain-specific handler modules (projects, issues, merge requests, etc.) - **Comprehensive Test Suite**: 75+ tests with 35%+ code coverage - Unit tests for all handlers with mocked dependencies - Integration tests for server initialization - Configuration loading and validation tests - Error handling scenarios - **Enhanced Documentation**: Modular documentation structure in `docs/` folder - Installation guide with multiple setup options - Complete tool reference with examples - TypeScript usage guide - Development guide for contributors - Real-world usage examples ### โšก Performance - **90%+ Token Reduction**: Project listing now returns minimal essential data by default - **Faster API Responses**: Reduced payload sizes improve response times - **Smart Data Loading**: Use `simple=false` only when full project details are needed ### ๐Ÿ”ง Technical Improvements - **Modular Codebase**: Broke down 705-line monolithic file into focused modules - **Better Separation of Concerns**: Clear boundaries between API client, handlers, and server setup - **Enhanced Type Safety**: Comprehensive TypeScript coverage with strict typing - **Professional Code Structure**: Follows industry best practices for maintainability ### ๐Ÿ“š Documentation - **Streamlined README**: Reduced from 503 to 84 lines, focused on quick start - **Modular Docs**: Organized documentation by topic in dedicated `docs/` folder - **Usage Examples**: Real-world scenarios and workflow examples - **Configuration Guide**: Complete setup options and customization ### ๐Ÿงช Testing - **Professional Test Suite**: From 0% to 35%+ code coverage - **Handler Tests**: Individual testing of all domain handlers - **Configuration Tests**: Comprehensive config loading and validation - **Error Handling**: Tests for edge cases and failure scenarios ### ๐Ÿ”„ Backward Compatibility - **No Breaking Changes**: All existing functionality preserved - **New Features**: Added `update_merge_request` tool without affecting existing tools - **Opt-in Optimizations**: Default behavior improved, but original behavior available via `simple=false` - **Seamless Migration**: Existing users benefit from optimizations without code changes ### ๐Ÿ“ฆ Development - **Better Build Process**: Improved TypeScript compilation and module resolution - **Enhanced Testing**: Comprehensive test coverage with vitest - **Code Quality**: ESLint configuration and consistent code style --- ## [1.2.0] - Previous Release ### Added - Enhanced job trace functionality with partial logs and pagination support - Complete TypeScript support with comprehensive type definitions - Development setup with Vitest, ESLint, and comprehensive testing ### Fixed - Node modules and build artifacts properly excluded from git tracking --- ## [1.1.0] - Previous Release ### Added - Basic GitLab MCP server functionality - Project, issue, merge request, and pipeline management - Initial TypeScript support --- ## How to Update ### For npm users: ```bash npm update @alosies/gitlab-mcp-server ``` ### For npx users (Claude Desktop): No action needed - npx automatically uses the latest version. ### For global installations: ```bash npm install -g @alosies/gitlab-mcp-server@latest ``` ## Migration Notes ### v1.2.0 โ†’ v1.3.0 - **โœ… No breaking changes** - all existing functionality works unchanged - **๐Ÿš€ Automatic optimization** - `list_projects` now returns minimal data by default for better performance - **๐Ÿ”ง Enhanced features** - access to new modular architecture and comprehensive testing - **๐Ÿ“– Better docs** - improved documentation structure for easier reference If you need the old verbose project listing behavior, you can: 1. Ask Claude to "list projects with full details" 2. The LLM will automatically use `simple=false` parameter All other tools and functionality remain identical.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alosies/gitlab-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server