使用说明
Gitea MCP服务器
用于审查Gitea拉取请求的模型上下文协议(MCP)服务器。
快速开始
1.构建服务器
dotnet build
2.设置环境变量
- 生成具有读/写访问权限的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是否正确且可访问