MCP

GitLab MCP:用 npx 启动,先在新分支写一个文件

适合要让模型改 GitLab 项目文件的人,但点名工具会写入仓库,且缺分支时会自动创建分支。

官方来源 · GitLab MCP Server

安装

npx -y @modelcontextprotocol/server-gitlab

适合谁

需要让模型通过 GitLab API 做项目管理与文件操作,并且已经能在 GitLab 里签发个人访问令牌的人。适合能在客户端用 npx 启动 @modelcontextprotocol/server-gitlab、接受第一次调用就会写入仓库的操作者。不适合没有令牌、或不想让模型创建/更新文件(并在分支不存在时自动建分支)的人。官方页面: https://github.com/modelcontextprotocol/servers-archived/tree/main/src/gitlab

3 分钟完成第一次尝试

只走一条官方路径:用 npx 运行官方包,并在客户端环境变量里提供 GitLab 个人访问令牌。不要把令牌写进命令行或聊天。

前置:在 GitLab 打开 User Settings > Access Tokens,创建一枚权限足够的个人访问令牌。令牌说明页: https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html

安装与配置位置:在 MCP 客户端把命令写成:

npx -y @modelcontextprotocol/server-gitlab

同时设置环境变量 GITLAB_PERSONAL_ACCESS_TOKEN 为你刚创建的令牌,不要填占位符。

低风险动作:摘录里点名的工具是 create_or_update_file,这是写入。调用前先想清楚副作用:它会在项目中创建或更新一个文件;若目标分支不存在,服务器会自动创建该分支。确认点是 GitLab 网页上出现新提交(以及可能的新分支),而不是只看客户端“成功”二字。参数至少包括 project_id(项目 ID 或 URL 编码路径);说明还列出 file_path、content、commit_message、branch。第一次请用一条不会被别人依赖的新分支,不要对准默认主干做试验。

成功信号:GitLab 上指定项目出现带你提交说明的新文件或文件更新。若只有鉴权错误,回到 Access Tokens 检查令牌是否仍有效,且环境变量名是 GITLAB_PERSONAL_ACCESS_TOKEN。

使用案例

案例一:改一个文件。对应 create_or_update_file。用于让模型提交单文件变更。副作用同上:写文件,缺分支就建分支。证据没有写冲突处理或强制推送行为,因此不要假设可以覆盖他人的远程历史。

案例二:项目管理。服务器定位是「project management, file operations, and more」。除 create_or_update_file 外,摘录没有展开第二个工具的名称与参数。因此这个案例只能做到:在客户端实际列出的其他工具上操作;若列表里没有只读的项目浏览工具,就不要编造 list/search 命令,先停在单文件写入这条已写明的能力。

使用边界

没有点名的只读工具。create_or_update_file 会改远程仓库;自动建分支意味着错误的 branch 也会在 GitLab 上留下新分支,需要你事后清理。

令牌具备“适当权限”即可,摘录没有写死具体 scope 名称,不要按其他文档擅自改权限集合。

备选安装形态没有单独给出;官方配置片段的核心是 npx 包名 @modelcontextprotocol/server-gitlab。不要把占位令牌写进配置文件。调用会访问 GitLab API,不是零网络、也不是零身份边界。功能概述里的 “and more” 不能当成已列出的工具清单。