Skip to content

API gap coverage: 40 missing GitLab API endpoints #35

@vish288

Description

@vish288

Summary

Gap analysis against GitLab REST API v4 identified 40 tools worth adding across 3 priority tiers. Current tool count: 76.

HIGH Priority (14 tools)

These are blocking for common AI assistant workflows:

# Gap API Endpoint Tools to Add
1 Approve/Unapprove MR POST .../approve, POST .../unapprove gitlab_approve_mr, gitlab_unapprove_mr
2 Current user GET /user gitlab_get_current_user
3 Search users GET /users?search= gitlab_search_users
4 Read repository file GET .../repository/files/:path/raw gitlab_get_file
5 File blame GET .../repository/files/:path/blame gitlab_get_file_blame
6 List repository tree GET .../repository/tree gitlab_list_repository_tree
7 Project/group members GET .../members, POST, DELETE gitlab_list_members, gitlab_add_member, gitlab_remove_member
8 Protected branches GET/POST/PATCH/DELETE .../protected_branches gitlab_list_protected_branches, gitlab_protect_branch, gitlab_unprotect_branch
9 Code search GET /search?scope=blobs gitlab_search_code

Why these matter:

  • Cannot complete a review workflow without approve/unapprove (rules exist but not the action)
  • Cannot inspect files remotely without read file/tree (can write via commits but can't read)
  • Cannot find reviewers or check access without user/member tools

MEDIUM Priority (14 tools)

# Gap Tools to Add
10 Environments gitlab_list_environments, gitlab_stop_environment
11 Deployments gitlab_list_deployments, gitlab_get_deployment
12 Pipeline schedules gitlab_list_pipeline_schedules, gitlab_create_pipeline_schedule, gitlab_play_pipeline_schedule
13 Labels gitlab_list_labels, gitlab_create_label
14 CI lint gitlab_ci_lint
15 Todos gitlab_list_todos, gitlab_mark_todo_done
16 Draft notes (batch review) gitlab_create_draft_note, gitlab_publish_draft_notes
17 Milestones gitlab_list_milestones, gitlab_create_milestone
18 Repository contributors gitlab_list_contributors
19 Merge base gitlab_get_merge_base

LOW Priority (12 tools)

# Gap Tools to Add
20 Webhooks gitlab_list_webhooks, gitlab_create_webhook
21 Wikis gitlab_list_wiki_pages, gitlab_get_wiki_page
22 Runners gitlab_list_runners
23 Snippets gitlab_list_snippets
24 Events/activity gitlab_list_events
25 Merge trains gitlab_list_merge_trains
26 Container registry gitlab_list_registry_repos
27 Packages gitlab_list_packages
28 Protected tags gitlab_list_protected_tags

Implementation Notes

  • All new tools should follow existing patterns: @mcp.tool() decorator, _ok()/_err() return wrappers, _check_write() for mutations, proper readOnlyHint/destructiveHint annotations
  • URL parsing via _helpers.py parsers where applicable
  • Tests: unit tests with httpx mock, matching existing coverage patterns

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions