JSPM

  • Created
  • Published
  • Downloads 89017
  • Score
    100M100P100Q181033F
  • License MIT

MCP server for using the GitLab API

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@zereight/mcp-gitlab) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Better GitLab MCP Server

    @zereight/mcp-gitlab

    smithery badge

    GitLab MCP(Model Context Protocol) Server. Includes bug fixes and improvements over the original GitLab MCP server.

    gitlab mcp MCP server

    Usage

    Using with Claude App, Cline, Roo Code, Cursor

    When using with the Claude App, you need to set up your API key and URLs directly.

    npx

    {
      "mcpServers": {
        "GitLab communication server": {
          "command": "npx",
          "args": ["-y", "@zereight/mcp-gitlab"],
          "env": {
            "GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
            "GITLAB_API_URL": "your_gitlab_api_url",
            "GITLAB_READ_ONLY_MODE": "false",
            "USE_GITLAB_WIKI": "false", // use wiki api?
            "USE_MILESTONE": "false", // use milestone api?
            "USE_PIPELINE": "false" // use pipeline api?
          }
        }
      }
    }

    Docker

    • stdio
    {
      "mcpServers": {
        "GitLab communication server": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "GITLAB_PERSONAL_ACCESS_TOKEN",
            "-e",
            "GITLAB_API_URL",
            "-e",
            "GITLAB_READ_ONLY_MODE",
            "-e",
            "USE_GITLAB_WIKI",
            "-e",
            "USE_MILESTONE",
            "-e",
            "USE_PIPELINE",
            "iwakitakuma/gitlab-mcp"
          ],
          "env": {
            "GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
            "GITLAB_API_URL": "https://gitlab.com/api/v4", // Optional, for self-hosted GitLab
            "GITLAB_READ_ONLY_MODE": "false",
            "USE_GITLAB_WIKI": "true",
            "USE_MILESTONE": "true",
            "USE_PIPELINE": "true"
          }
        }
      }
    }
    • sse
    docker run -i --rm \
      -e GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token \
      -e GITLAB_API_URL= "https://gitlab.com/api/v4"\
      -e GITLAB_READ_ONLY_MODE=true \
      -e USE_GITLAB_WIKI=true \
      -e USE_MILESTONE=true \
      -e USE_PIPELINE=true \
      -e SSE=true \
      -p 3333:3002 \
      iwakitakuma/gitlab-mcp
    {
      "mcpServers": {
        "GitLab communication server": {
          "url": "http://localhost:3333/sse"
        }
      }
    }

    Docker Image Push

    $ sh scripts/image_push.sh docker_user_name

    Environment Variables

    • GITLAB_PERSONAL_ACCESS_TOKEN: Your GitLab personal access token.
    • GITLAB_API_URL: Your GitLab API URL. (Default: https://gitlab.com/api/v4)
    • GITLAB_READ_ONLY_MODE: When set to 'true', restricts the server to only expose read-only operations. Useful for enhanced security or when write access is not needed. Also useful for using with Cursor and it's 40 tool limit.
    • USE_GITLAB_WIKI: When set to 'true', enables the wiki-related tools (list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page). By default, wiki features are disabled.
    • USE_MILESTONE: When set to 'true', enables the milestone-related tools (list_milestones, get_milestone, create_milestone, edit_milestone, delete_milestone, get_milestone_issue, get_milestone_merge_requests, promote_milestone, get_milestone_burndown_events). By default, milestone features are disabled.
    • USE_PIPELINE: When set to 'true', enables the pipeline-related tools (list_pipelines, get_pipeline, list_pipeline_jobs, get_pipeline_job, get_pipeline_job_output, create_pipeline, retry_pipeline, cancel_pipeline). By default, pipeline features are disabled.

    Tools 🛠️

    +

    1. create_or_update_file - Create or update a single file in a GitLab project
    2. search_repositories - Search for GitLab projects
    3. create_repository - Create a new GitLab project
    4. get_file_contents - Get the contents of a file or directory from a GitLab project
    5. push_files - Push multiple files to a GitLab project in a single commit
    6. create_issue - Create a new issue in a GitLab project
    7. create_merge_request - Create a new merge request in a GitLab project
    8. fork_repository - Fork a GitLab project to your account or specified namespace
    9. create_branch - Create a new branch in a GitLab project
    10. get_merge_request - Get details of a merge request (Either mergeRequestIid or branchName must be provided)
    11. get_merge_request_diffs - Get the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
    12. get_branch_diffs - Get the changes/diffs between two branches or commits in a GitLab project
    13. update_merge_request - Update a merge request (Either mergeRequestIid or branchName must be provided)
    14. create_note - Create a new note (comment) to an issue or merge request
    15. create_merge_request_thread - Create a new thread on a merge request
    16. mr_discussions - List discussion items for a merge request
    17. update_merge_request_note - Modify an existing merge request thread note
    18. create_merge_request_note - Add a new note to an existing merge request thread
    19. update_issue_note - Modify an existing issue thread note
    20. create_issue_note - Add a new note to an existing issue thread
    21. list_issues - List issues in a GitLab project with filtering options
    22. get_issue - Get details of a specific issue in a GitLab project
    23. update_issue - Update an issue in a GitLab project
    24. delete_issue - Delete an issue from a GitLab project
    25. list_issue_links - List all issue links for a specific issue
    26. list_issue_discussions - List discussions for an issue in a GitLab project
    27. get_issue_link - Get a specific issue link
    28. create_issue_link - Create an issue link between two issues
    29. delete_issue_link - Delete an issue link
    30. list_namespaces - List all namespaces available to the current user
    31. get_namespace - Get details of a namespace by ID or path
    32. verify_namespace - Verify if a namespace path exists
    33. get_project - Get details of a specific project
    34. list_projects - List projects accessible by the current user
    35. list_labels - List labels for a project
    36. get_label - Get a single label from a project
    37. create_label - Create a new label in a project
    38. update_label - Update an existing label in a project
    39. delete_label - Delete a label from a project
    40. list_group_projects - List projects in a GitLab group with filtering options
    41. list_wiki_pages - List wiki pages in a GitLab project
    42. get_wiki_page - Get details of a specific wiki page
    43. create_wiki_page - Create a new wiki page in a GitLab project
    44. update_wiki_page - Update an existing wiki page in a GitLab project
    45. delete_wiki_page - Delete a wiki page from a GitLab project
    46. get_repository_tree - Get the repository tree for a GitLab project (list files and directories)
    47. list_pipelines - List pipelines in a GitLab project with filtering options
    48. get_pipeline - Get details of a specific pipeline in a GitLab project
    49. list_pipeline_jobs - List all jobs in a specific pipeline
    50. get_pipeline_job - Get details of a GitLab pipeline job number
    51. get_pipeline_job_output - Get the output/trace of a GitLab pipeline job number
    52. create_pipeline - Create a new pipeline for a branch or tag
    53. retry_pipeline - Retry a failed or canceled pipeline
    54. cancel_pipeline - Cancel a running pipeline
    55. list_merge_requests - List merge requests in a GitLab project with filtering options
    56. list_milestones - List milestones in a GitLab project with filtering options
    57. get_milestone - Get details of a specific milestone
    58. create_milestone - Create a new milestone in a GitLab project
    59. edit_milestone - Edit an existing milestone in a GitLab project
    60. delete_milestone - Delete a milestone from a GitLab project
    61. get_milestone_issue - Get issues associated with a specific milestone
    62. get_milestone_merge_requests - Get merge requests associated with a specific milestone
    63. promote_milestone - Promote a milestone to the next stage
    64. get_milestone_burndown_events - Get burndown events for a specific milestone
    65. get_users - Get GitLab user details by usernames