feat(connector): add search and fetch tools for ChatGPT connectors

Add a new "connector" domain exposing exactly-named "search" and "fetch"
MCP tools for ChatGPT-style connector compatibility (gitea#84). search
looks up repositories via the existing SearchRepos SDK call, optionally
resolving an owner/org name to an owner ID, and returns concise entries
(id, name, url, html_url). fetch reuses GetContents to read a file and
decodes its base64 content, returning path, sha, size, encoding and the
decoded content. Registers connector.Tool in operation.go and documents
the two tools in all three README tables.

Co-Authored-By: Codet <codet@commitgo.dev> (GPT-5-Codex)
This commit is contained in:
Lunny Xiao
2026-08-24 00:23:37 -07:00
parent 815a0e26aa
commit d7d0cf34d6
7 changed files with 351 additions and 1 deletions
+2
View File
@@ -191,6 +191,8 @@ Cursor 等客戶端可使用 stdio 命令:
| get_release | release | 讀取 | 依 ID 取得版本發布 |
| get_latest_release | release | 讀取 | 取得最新版本發布 |
| list_releases | release | 讀取 | 列出倉庫版本發布 |
| search | connector | 讀取 | 為 ChatGPT 風格的連接器依關鍵字搜尋 Gitea 倉庫 |
| fetch | connector | 讀取 | 為 ChatGPT 風格的連接器取得檔案的解碼內容與中繼資料 |
> **說明:** 部分工具是聚合的、基於操作的工具,單個工具透過 `method` 參數暴露多個操作。當伺服器以唯讀模式執行時(`-r` / `GITEA_READONLY`),存取為「寫入」的工具會被隱藏;可透過 `-S` / `--scope``GITEA_SCOPES`)依範圍過濾,或透過 `-O` / `--tools``GITEA_TOOLS`)依工具名稱過濾對外暴露的工具集合。