内容
# Gitea MCP 服务器
[繁體中文](README.zh-tw.md) | [简体中文](README.zh-cn.md)
**Gitea MCP 服务器** 是一个集成插件,旨在连接 Gitea 与模型上下文协议(MCP)系统。这使得通过 MCP 兼容的聊天界面可以无缝执行命令和管理仓库。
[](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}) [](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}&quality=insiders)
## 目录
- [Gitea MCP 服务器](#gitea-mcp-服务器)
- [目录](#目录)
- [什么是 Gitea?](#什么是-gitea)
- [什么是 MCP?](#什么是-mcp)
- [🚧 安装](#-安装)
- [与 OpenCode(opencode.ai)一起使用](#与-opencodeopencodeai-一起使用)
- [与 Claude Code 一起使用](#与-claude-code-一起使用)
- [与 VS Code 一起使用](#与-vs-code-一起使用)
- [与 Mistral Vibe 一起使用](#与-mistral-vibe-一起使用)
- [📥 下载官方二进制发布版](#-下载官方二进制发布版)
- [🔧 从源代码构建](#-从源代码构建)
- [📁 添加到 PATH](#-添加到-path)
- [🚀 使用](#-使用)
- [✅ 可用工具](#-可用工具)
- [🐛 调试](#-调试)
- [🛠 故障排除](#-故障排除)
## 什么是 Gitea?
Gitea 是一个由社区管理的轻量级代码托管解决方案,基于 Go 语言开发。它在 MIT 许可下发布。Gitea 提供 Git 托管,包括仓库查看器、问题跟踪、拉取请求等。
## 什么是 MCP?
模型上下文协议(MCP)是一种协议,允许通过聊天界面集成各种工具和系统。它实现了命令的无缝执行和仓库、用户和其他资源的 manages。
## 🚧 安装
### 与 OpenCode(opencode.ai)一起使用
在顶级对象“mcp”中添加类似以下代码段(如果没有则添加一个):
```json
"gitea-mcp": {
"enabled": true,
"type": "local",
"command": [
"gitea-mcp",
"-t", "stdio",
"-H", "https://git.your-domain.org",
"-T", "<your personal access token>"
]
}
```
### 与 Claude Code 一起使用
此方法使用 `go run`,需要安装 [Go](https://go.dev)。
```bash
claude mcp add --transport stdio --scope user gitea \
--env GITEA_ACCESS_TOKEN=token \
--env GITEA_HOST=https://gitea.com \
-- go run gitea.com/gitea/gitea-mcp@latest -t stdio
```
### 与 VS Code 一起使用
要快速安装,请使用此 README 顶部的“一键安装”按钮。
要手动安装,请将以下 JSON 块添加到 VS Code 中的用户设置(JSON)文件中。您可以通过按 `Ctrl + Shift + P` 并键入 `Preferences: Open User Settings (JSON)` 来执行此操作。
或者,您可以将其添加到工作区中的 `.vscode/mcp.json` 文件中。这将允许您与他人共享配置。
> 注意,在 `.vscode/mcp.json` 文件中不需要 `mcp` 键。
```json
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "gitea_token",
"description": "Gitea 个人访问令牌",
"password": true
}
],
"servers": {
"gitea-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITEA_ACCESS_TOKEN",
"docker.gitea.com/gitea-mcp-server"
],
"env": {
"GITEA_ACCESS_TOKEN": "${input:gitea_token}"
}
}
}
}
}
```
### 与 Mistral Vibe 一起使用
将以下配置添加到 Mistral Vibe 的 MCP 配置文件(`~/.vibe/config.toml`):
```toml
[[mcp_servers]]
name = "gitea"
transport = "stdio"
command = "docker"
args = [
"run",
"--rm",
"-i",
"-e",
"GITEA_ACCESS_TOKEN",
"-e",
"GITEA_HOST",
"docker.gitea.com/gitea-mcp-server",
]
[mcp_servers.env]
GITEA_ACCESS_TOKEN = "TOKEN"
GITEA_HOST = "https://gitea.com"
```
### 📥 下载官方二进制发布版
您可以从 [官方 Gitea MCP 二进制发布版](https://gitea.com/gitea/gitea-mcp/releases) 下载官方发布版。
### 🔧 从源代码构建
您可以通过 Git 克隆仓库来下载源代码:
```bash
git clone https://gitea.com/gitea/gitea-mcp.git
```
在构建之前,请确保已安装以下内容:
- make
- Golang(推荐 Go 1.24 或更高版本)
然后运行:
```bash
make install
```
### 📁 添加到 PATH
安装后,将二进制文件 gitea-mcp 复制到系统 PATH 中包含的目录中。例如:
```bash
cp gitea-mcp /usr/local/bin/
```
## 🚀 使用
此示例适用于 Cursor,您也可以在 VSCode 中使用插件。
要配置 Gitea 的 MCP 服务器,请在 MCP 配置文件中添加以下内容:
- **stdio 模式**
```json
{
"mcpServers": {
"gitea": {
"command": "gitea-mcp",
"args": [
"-t",
"stdio",
"--host",
"https://gitea.com"
// "--token", "<your personal access token>"
],
"env": {
// "GITEA_HOST": "https://gitea.com",
// "GITEA_INSECURE": "true",
"GITEA_ACCESS_TOKEN": "<your personal access token>"
}
}
}
}
```
- **http 模式**
```json
{
"mcpServers": {
"gitea": {
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
```
**默认日志路径**: `$HOME/.gitea-mcp/gitea-mcp.log`
> [!NOTE]
> 您可以将 Gitea 主机和访问令牌作为命令行参数或环境变量提供。
> 命令行参数具有最高优先级。
> [!NOTE]
> 许多工具支持 `page` 和 `perPage` 参数用于分页。最大有效页面大小由 Gitea 服务器的 `[api].MAX_RESPONSE_ITEMS` 设置确定(默认:**50**)。请求 `perPage` 值高于此限制将被服务器静默限制。
一旦所有内容都设置好了,请在您的 MCP 兼容聊天框中尝试输入以下内容:
```text
列出我所有的仓库
```
## ✅ 可用工具
Gitea MCP 服务器支持以下工具:
| 工具 | 范围 | 描述 |
| :-------------------------------: | :----------: | :------------------------------------------------------: |
| get_my_user_info | 用户 | 获取认证用户的用户信息 |
| get_user_orgs | 用户 | 获取与认证用户关联的组织 |
| create_repo | 仓库 | 创建新仓库 |
| fork_repo | 仓库 | 仓库 |
| list_my_repos | 仓库 | 列出认证用户拥有的所有仓库 |
| create_branch | 分支 | 创建新分支 |
| delete_branch | 分支 | 删除分支 |
| list_branches | 分支 | 列出仓库中的所有分支 |
| create_release | 发布 | 在仓库中创建新发布 |
| delete_release | 发布 | 从仓库中删除发布 |
| get_release | 发布 | 获取发布 |
| get_latest_release | 发布 | 获取仓库中的最新发布 |
| list_releases | 发布 | 列出仓库中的所有发布 |
| create_tag | 标签 | 创建新标签 |
| delete_tag | 标签 | 删除标签 |
| get_tag | 标签 | 获取标签 |
| list_tags | 标签 | 列出仓库中的所有标签 |
| list_repo_commits | 提交 | 列出仓库中的所有提交 |
| get_file_content | 文件 | 获取文件的内容和元数据 |
| get_dir_content | 文件 | 获取目录中的条目列表 |
| create_file | 文件 | 创建新文件 |
| update_file | 文件 | 更新现有文件 |
| delete_file | 文件 | 删除文件 |
| get_issue_by_index | 问题 | 通过索引获取问题 |
| list_repo_issues | 问题 | 列出仓库中的所有问题 |
| create_issue | 问题 | 创建新问题 |
| create_issue_comment | 问题 | 在问题上创建评论 |
| edit_issue | 问题 | 编辑问题 |
| edit_issue_comment | 问题 | 编辑问题上的评论 |
| get_issue_comments_by_index | 问题 | 通过索引获取问题的评论 |
| get_pull_request_by_index | 拉取请求 | 通过索引获取拉取请求 |
| get_pull_request_diff | 拉取请求 | 获取拉取请求差异 |
| list_repo_pull_requests | 拉取请求 | 列出仓库中的所有拉取请求 |
| create_pull_request | 拉取请求 | 创建新的拉取请求 |
| create_pull_request_reviewer | 拉取请求 | 为拉取请求添加审阅者 |
| delete_pull_request_reviewer | 拉取请求 | 从拉取请求中删除审阅者 |
| list_pull_request_reviews | 拉取请求 | 列出拉取请求的所有审阅 |
| get_pull_request_review | 拉取请求 | 通过 ID 获取审阅 |
| list_pull_request_review_comments | 拉取请求 | 列出审阅的内联评论 |
| create_pull_request_review | 拉取请求 | 创建带有可选内联评论的审阅 |
| submit_pull_request_review | 拉取请求 | 提交待处理审阅 |
| delete_pull_request_review | 拉取请求 | 删除审阅 |
| dismiss_pull_request_review | 拉取请求 | 驳回审阅并附带可选消息 |
| merge_pull_request | 拉取请求 | 合并拉取请求 |
| search_users | 用户 | 搜索用户 |
| search_org_teams | 组织 | 搜索组织中的团队 |
| list_org_labels | 组织 | 列出组织级别定义的标签 |
| create_org_label | 组织 | 在组织中创建标签 |
| edit_org_label | 组织 | 编辑组织中的标签 |
| delete_org_label | 组织 | 删除组织中的标签 |
| search_repos | 仓库 | 搜索仓库 |
| list_repo_action_secrets | Actions | 列出仓库 Actions 机密(仅元数据) |
| upsert_repo_action_secret | Actions | 创建/更新(插入)仓库 Actions 机密 |
| delete_repo_action_secret | Actions | 删除仓库 Actions 机密 |
| list_org_action_secrets | Actions | 列出组织 Actions 机密(仅元数据) |
| upsert_org_action_secret | Actions | 创建/更新(插入)组织 Actions 机密 |
| delete_org_action_secret | Actions | 删除组织 Actions 机密 |
| list_repo_action_variables | Actions | 列出仓库 Actions 变量 |
| get_repo_action_variable | Actions | 获取仓库 Actions 变量 |
| create_repo_action_variable | Actions | 创建仓库 Actions 变量 |
| update_repo_action_variable | Actions | 更新仓库 Actions 变量 |
| delete_repo_action_variable | Actions | 删除仓库 Actions 变量 |
| list_org_action_variables | Actions | 列出组织 Actions 变量 |
| get_org_action_variable | Actions | 获取组织 Actions 变量 |
| create_org_action_variable | Actions | 创建组织 Actions 变量 |
| update_org_action_variable | Actions | 更新组织 Actions 变量 |
| delete_org_action_variable | Actions | 删除组织 Actions 变量 |
| list_repo_action_workflows | Actions | 列出仓库 Actions 工作流 |
| get_repo_action_workflow | Actions | 获取仓库 Actions 工作流 |
| dispatch_repo_action_workflow | Actions | 触发(调度)仓库 Actions 工作流 |
| list_repo_action_runs | Actions | 列出仓库 Actions 运行 |
| get_repo_action_run | Actions | 获取仓库 Actions 运行 |
| cancel_repo_action_run | Actions | 取消仓库 Actions 运行 |
| rerun_repo_action_run | Actions | 重新运行仓库 Actions 运行 |
| list_repo_action_jobs | Actions | 列出仓库 Actions 作业 |
| list_repo_action_run_jobs | Actions | 列出运行的 Actions 作业 |
| get_repo_action_job_log_preview | Actions | 获取作业日志预览(尾部/有限) |
| download_repo_action_job_log | Actions | 下载文件到日志文件 |
| get_gitea_mcp_server_version | 服务器 | 获取 Gitea MCP 服务器版本 |
| list_wiki_pages | 维基 | 列出仓库中的所有维基页面 |
| get_wiki_page | 维基 | 获取维基页面的内容和元数据 |
| get_wiki_revisions | 维基 | 获取维基页面的修订历史 |
| create_wiki_page | 维基 | 创建新的维基页面 |
| update_wiki_page | 维基 | 更新现有的维基页面 |
| delete_wiki_page | 维基 | 删除维基页面 |
## 🐛 调试
要启用调试模式,请在以 http 模式运行 Gitea MCP 服务器时添加 `-d` 标志:
```sh
./gitea-mcp -t http [--port 8080] --token <your personal access token> -d
```
## 🛠 故障排除
如果您遇到任何问题,以下是一些常见的故障排除步骤:
1. **检查 PATH**:确保 `gitea-mcp` 二进制文件位于系统 PATH 中包含的目录中。
2. **验证依赖项**:确保已安装所有必需的依赖项,例如 `make` 和 `Golang`。
3. **检查配置**:仔细检查您的 MCP 配置文件是否有任何错误或缺失的信息。
4. **查看日志**:检查日志中是否有任何错误消息或警告,这些信息可以提供有关问题的更多信息。
使用聊天界面尽情探索和管理您的 Gitea 仓库吧!
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器