使用说明(简明易懂,包含必要配置信息):

  • 项目简介

    • 本项目实现一个基于 MCP 协议的服务器端,提供对 Gitea 实例的资源访问、工具执行和提示模板的渲染能力,便于 LLM 客户端通过标准化接口获取所需信息并执行外部操作。
  • 主要功能点

    • 资源管理:通过资源接口暴露 Gitea 的数据快照(如用户仓库、仓库详情、问题、拉取请求、文件内容等)。
    • 工具注册与执行:提供多种工具,例如列表、创建、获取、更新等操作的封装,覆盖仓库、问题、 PR、分支、标签、用户、组织等领域。
    • 搜索与交互:内置对仓库、问题、用户、代码等的搜索能力。
    • 安全性与配置:支持危险操作开关(如删除仓库、删除分支、删除团队等)通过环境变量开启,默认禁用。
    • 运行与通信:通过标准输入/输出(stdio)传输实现 MCP 服务端与客户端的 JSON-RPC 通信。
  • 安装步骤

      1. 安装依赖并构建
      • 运行 npm install
      • 运行 npm run build
      1. 配置 Gitea 链接与权限
      • GITEA_URL:你的 Gitea 实例地址(如 https://gitea.example.com)
      • GITEA_TOKEN:用于 API 访问的个人访问令牌
      • GITEA_ALLOW_DANGEROUS:是否开启危险操作,默认 false
      1. 启动服务器
      • 使用 stdio 传输启动服务器(服务器会通过标准输入输出与 MCP 客户端通信)
      • 启动命令示例(对开发环境友好,请根据实际路径运行构建后的入口)
        • node build/index.js
  • 服务器配置(给 MCP 客户端使用的连接配置,JSON 格式,包含 server 名称、启动命令等信息)

    • server: gitea
    • command: node
    • args: ["/path/to/claude-gitea-app/build/index.js"]
    • env: GITEA_URL, GITEA_TOKEN, GITEA_ALLOW_DANGEROUS
    • 说明:
      • server 为 MCP 客户端唯一标识,用于区分不同的 MCP 服务端。
      • command 与 args 指定启动服务器的命令及参数,MCP 客户端将通过该信息启动并连接服务端。
      • env 用于传递运行时所需的环境变量,确保服务器能够正确访问 Gitea 实例。 示例(请替换为你实际的路径与令牌): { "server": "gitea", "command": "node", "args": ["/path/to/claude-gitea-app/build/index.js"], "env": { "GITEA_URL": "https://your-gitea-instance.com", "GITEA_TOKEN": "your-personal-access-token", "GITEA_ALLOW_DANGEROUS": "false" } }
  • 基本使用方法

    • 启动后,客户端可以通过 MCP 协议发送请求,获取资源信息、执行工具、获取提示模板等。
    • 常见操作包括:
      • 请求列表资源、获取具体资源信息、执行具体工具等,以实现对 Gitea 的远程操作与查询。
    • 如需开启危险操作,请将 GITEA_ALLOW_DANGEROUS 设置为 true,并确保有合适的权限控制。
  • 连接与运行注意

    • 服务器通过 StdioServerTransport 与客户端通信,因此客户端需要配置使用 stdio 类型的 MCP 连接,并指向服务器启动的进程及参数。
    • 服务器端日志会输出到标准错误输出,便于调试。

信息

分类

AI与计算