Gitea MCP服务器
用于审查Gitea拉取请求的模型上下文协议(MCP)服务器。
快速开始
1.构建服务器
dotnet build2.设置环境变量
- 生成具有读/写访问权限的gitea私有令牌。
- 在环境变量(GITEA_BASE_URL、GITEA_token)中添加令牌和根链接
\[或\]
# Set your Gitea instance URL (without trailing slash)
$env:GITEA_BASE_URL = "https://your-gitea-instance.com"
# Set your Gitea personal access token (with repo read/write permissions)
$env:GITEA_TOKEN = "your-token-here"3.运行手动测试
直接使用PowerShell测试服务器:
# Navigate to project directory
cd d:\Projects\GiteaMcpServer
# Run the test script
.\test-mcp.ps1可用工具
工具
服务器通过MCP公开以下工具 tools.list / tools.call.
list_pull_requests--在存储库中列出拉取请求。
- 参数: owner (字符串,可选), repo (字符串,可选), repository (字符串,可选,“所有者/仓库”), state (字符串,默认“打开”), summary (bool,默认为true), per_page (int,默认值50), base_url (字符串,可选)。
get_pull_request_diff--获取PR的统一差异。
- 参数: owner (字符串), repo (字符串), pr_number (整数), base_url (字符串,可选)。
get_pull_request_description--返回PRtitle和description。如果PR正文为空,则返回作者的第一条评论。
- 参数: owner (字符串), repo (字符串), pr_number (整数), base_url (字符串,可选)。
add_pull_request_comment--在PR中添加一般性评论(问题评论)。
- 参数: owner (字符串), repo (字符串), pr_number (整数), body (字符串), base_url (字符串,可选)。
add_pull_request_inline_comment--在特定文件和行中添加内联代码审查注释。如果Gitea实例不支持内联PR注释,服务器将退回到发布包含文件和行上下文的问题注释。
- 参数: owner, repo, pr_number, body, path, line (均为必填项);可选的 position, commit_id, base_url.
manage_pull_request_labels--添加、删除或替换PR(问题)上的标签。
- 参数: owner, repo, pr_number (必填); add_labels (字符串数组), remove_labels (字符串数组), set_labels (字符串数组), base_url (可选)。
list_org_labels--列出为组织或存储库定义的标签(在更新PR时用于选择标签)。
- 参数: owner (组织/所有者,必填),可选 repo (string)列出回购标签, base_url (可选)。
create_branch--在存储库中创建分支(从基本分支或默认分支)。
- 参数: owner, repo, new_branch (必填);可选的 base_branch, base_url.
commit_files--将一个或多个文件提交到分支。每个文件都必须提供path和content(UTF-8纯文本);服务器将创建或更新文件。
- 参数: owner, repo, branch, commit_message, files (对象数组 path + content), base_url (可选)。
将这些工具一起使用,可以检查PR、发布建议(内联或一般注释)、修改标签、创建分支和推送小补丁提交,以便审查建议的修复。
MCP客户端的配置
Claude桌面配置
添加到您的Claude Desktop配置文件(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"gitea": {
"command": "dotnet",
"args": [
"run",
"--project",
"d:\\Projects\\GiteaMcpServer\\GiteaMcpServer.csproj"
],
"env": {
"GITEA_BASE_URL": "https://your-gitea-instance.com",
"GITEA_TOKEN": "your-token-here"
}
}
}
}Code Studio/Cline配置
查看文档 .帮助
- 在本地计算机上构建并部署项目,采用exe路径。
- 在codestudio聊天->设置->MCP服务器->自定义服务器->+添加自定义服务器
- 粘贴。.\\GiteaMcpServer\\bin\\debug\\GiteaMcpServer.exe,命名服务器。
将生成以下文件。
{
"servers": {
"Gitea_MCP_server": {
"type": "stdio",
"command": "D:\\MCPServer\\GiteaMCPServer\\GiteaMCPServer2_0\\bin\\Debug\\net10.0\\GiteaMCPServer2_0.exe",
"args": []
}
},
"inputs": []
}测试技巧
- 检查环境变量:确保
GITEA_BASE_URL和GITEA_TOKEN设置正确 - 验证令牌权限:您的令牌需要读取权限才能列出PR和差异,需要写入权限才能发表评论
- 检查Gitea API版本:此服务器使用Gitea v1.x API进行测试
- 监控日志:服务器日志写入stderr,并在MCP客户端日志中可见
故障排除
- “未设置GITEA_BASE_URL”:未配置环境变量
- PR列表为空:检查存储库名称、令牌权限或PR状态筛选器
- 401/403错误:令牌无效或缺少所需权限
- 连接错误:验证GITEA_BASE_URL是否正确且可访问
