使用说明
GitLab MCP服务器
一个模型上下文协议(MCP)服务器,为与GitLab交互提供了一个全面的接口。此服务器使LLM能够搜索项目、导航存储库、管理问题和合并请求,以及执行高级代码搜索。
特性
- 智能项目解决方案:使用项目名称、完整路径或自定义快捷方式,而不是数字ID。
- 持久快捷方式:为项目创建简写名称(例如。,
nds为了news-data-service)这种情况在会议期间持续存在。 - 丰富的Markdown响应:工具输出的格式旨在实现最大的LLM可读性和最小的令牌消耗。
- 高级代码搜索:跨项目或组搜索代码片段或特定符号定义(类、函数)。
- 性能优化:包括连接池、透明的30s TTL缓存和gzip压缩。
- 递归导航:一目了然地查看分层存储库结构。
配置
此服务器需要以下环境变量:
GITLAB_PERSONAL_ACCESS_TOKEN:您的GitLab个人访问令牌(需要api和read_api范围)。GITLAB_API_URL:(可选)GitLab实例的基本URL。默认为https://gitlab.com/api/v4.
工具
项目与导航
gitlab_search_projects:按名称或路径搜索项目。gitlab_get_project:获取详细的元数据,包括最近的未决问题和合并请求。gitlab_get_repository_tree:获取存储库中文件和目录的递归列表。gitlab_get_project_stack:分析根清单文件以确定技术栈和依赖关系。gitlab_read_imported_file:自动跟踪并读取源文件中的相对导入。gitlab_create_branch:创建一个新的发展分支。gitlab_set_project_shortcut:为项目ID或路径创建持久的简写快捷方式。gitlab_get_file_blame:获取文件的逐行归因和提交历史记录。gitlab_list_commits:获取项目或特定分支/路径的最新提交。gitlab_get_commit:获取特定提交的详细信息和差异。gitlab_batch_commit:通过GitLab API直接在一次提交中执行多个文件操作(创建、更新、删除)。
代码和搜索
gitlab_get_file_contents:读取任何文件的原始内容。支持start_line和end_line针对性阅读。gitlab_get_multiple_files:在单个请求中同时获取多个文件的内容。gitlab_search_code:全局搜索代码片段,或搜索特定组/项目的代码片段。gitlab_find_definitions:查找类、函数或符号的声明位置。gitlab_find_usages:查找符号在项目中的引用位置(智能筛选出定义)。
问题
gitlab_list_issues:列出并筛选项目的问题。gitlab_get_issue:获取特定问题的完整细节、描述和状态。gitlab_create_issue:使用标签和描述创建新问题。gitlab_update_issue:更新问题的状态、标签或分配。gitlab_get_discussions:获取问题的所有评论和评论线程。
合并请求
gitlab_list_merge_requests:列出并筛选项目的MR。gitlab_create_merge_request:在分支之间打开新的合并请求。gitlab_update_merge_request:更新MR详细信息或更改其状态。gitlab_get_merge_request_changes:使用自动分析提示查看MR的文件差异。gitlab_create_review_comment:在MR中的特定行上添加内联代码注释。gitlab_get_discussions:获取MR的所有评论和评论线程。
评论
gitlab_create_note:为问题或合并请求添加一般性评论。
CI/CD管道
gitlab_list_pipelines:查看项目的最新管道(可按状态/分支筛选)。gitlab_get_pipeline_jobs:列出构成特定管道的各个作业。gitlab_get_job_log:获取作业的原始跟踪日志。包括LLM优化的指令,用于自动诊断构建失败的根本原因。
发展
-
安装依赖项:
npm install -
构建项目:
npm run build -
以开发模式运行 (自动重新加载):
npm run dev -
生产运行 (标准版本) :
node dist/index.js
许可证
麻省理工学院
