项目简介

Forgejo MCP 服务器是一个集成插件,旨在连接 Forgejo 版本控制系统与模型上下文协议 (MCP) 系统。它允许用户通过一个兼容MCP的聊天界面,例如 Cursor 或其他支持MCP插件的LLM客户端,与 Forgejo 实例进行交互,执行代码管理、问题追踪等操作。

主要功能点

该服务器通过实现一系列工具 (Tools) 来提供对 Forgejo 功能的访问,主要包括:

  • 代码仓库管理: 创建、Fork、列出您拥有的代码仓库。
  • 分支管理: 创建、删除、列出指定代码仓库的分支。
  • 文件操作: 获取、创建、更新、删除代码仓库中指定文件的内容。
  • 提交记录: 列出指定代码仓库的提交记录。
  • 问题 (Issue) 管理: 获取、列出、创建、评论、更新、添加标签、修改问题状态。
  • 拉取请求 (Pull Request) 管理: 获取、列出、创建拉取请求。
  • 搜索功能: 搜索用户、组织团队、代码仓库。
  • 服务器信息: 获取 Forgejo MCP 服务器的版本。

安装步骤

您可以选择下载官方发布的二进制文件或从源代码构建:

  1. 下载官方二进制文件:Forgejo MCP 发布页 下载适用于您操作系统的最新版本。
  2. 从源代码构建:
    • 克隆仓库源代码:'git clone https://forgejo.org/forgejo/forgejo-mcp.git'
    • 确保安装了 'make' 和 Go 1.24 或更高版本。
    • 在仓库根目录运行 'make build'。
    • 构建成功后,您将在当前目录找到 'forgejo-mcp' 可执行文件。
  3. 添加可执行文件到 PATH: 将下载或构建好的 'forgejo-mcp' 二进制文件复制到一个系统 PATH 包含的目录中,例如 '/usr/local/bin/',以便可以直接通过名称运行。

服务器配置

MCP 服务器需要被 MCP 客户端启动或连接。您需要在 MCP 客户端的配置文件中指定 Forgejo MCP 服务器的启动方式或地址。常见的配置方式有:

  • Stdio 模式: 客户端通过标准输入/输出来与服务器通信。您需要配置客户端启动 Forgejo MCP 服务器的命令 ('command') 和参数 ('args')。
    • 'command': 通常是您安装的 'forgejo-mcp' 可执行文件路径或名称 (如果已添加到 PATH)。
    • 'args': 包含服务器启动参数,例如:
      • '-t stdio' 或 '--transport stdio': 指定使用 stdio 传输模式。
      • '--host <Forgejo地址>': 指定您的 Forgejo 实例的 URL。
      • '--token <您的访问令牌>': 指定用于认证的 Forgejo 个人访问令牌。
    • 'env': 您也可以通过环境变量 'GITEA_HOST' 和 'GITEA_ACCESS_TOKEN' 来配置 Forgejo 地址和访问令牌。命令行参数优先级高于环境变量。
  • SSE 模式: 客户端通过 Server-Sent Events (SSE) 连接到已经运行的服务器。您需要配置客户端连接服务器的 URL ('url')。
    • 'url': Forgejo MCP 服务器运行在 SSE 模式下监听的地址,通常是 'http://localhost:8080/sse' (默认端口 8080)。您可以通过 '--port' 参数指定端口。在 SSE 模式下,访问令牌通常通过 '--token' 参数或 'GITEA_ACCESS_TOKEN' 环境变量提供给服务器。

请参考您的 MCP 客户端文档来创建具体的 JSON 格式配置。

基本使用方法

配置完成后,在支持 MCP 的客户端中,Forgejo MCP 服务器的功能将作为可用工具暴露给 LLM。您可以在聊天界面中直接使用自然语言描述您想要执行的操作,LLM 客户端会识别意图并调用 Forgejo MCP 服务器提供的相应工具。

例如,在聊天框中输入: 'list all my repositories'

如果配置正确,LLM 客户端会调用 'list_my_repos' 工具,Forgejo MCP 服务器将请求您的 Forgejo 实例并返回您的代码仓库列表。

信息

分类

开发者工具