概要
AIにGiteaを読み取らせましょう。リポジトリの検索、イシューやプルリクエストのコメント・ファイル・差分・レビューの確認、リリースや組織の確認、ブランチ・コミット・ファイルの読み取りができます。gitea.com でも自分のGiteaサーバーでも、アクセストークンで利用できます。読み取り専用です。
ガイド付きセットアップ
Gitea を ChatGPT に 2 分で接続
AnythingMCP Cloud の無料トライアルを始め、ガイド付きセットアップで Gitea を接続して、MCP URL を ChatGPT に追加します。コードもサーバーの運用も不要です。
クレジットカード不要 · 7日間の試用 · セルフホストの選択肢あり
ChatGPT のプラグインディレクトリにある AnythingMCP プラグインは、AnythingMCP Cloud 上で社内データベース(PostgreSQL、MySQL、SQL Server、Oracle、SAP HANA、SQLite、MongoDB、読み取り専用)への質問に答えます。掲載ページを開き (新しいタブで開きます)、Install plugin をクリックしてください。それ以外のコネクタは、AnythingMCP の MCP URL を使ってカスタム MCP サーバーとして ChatGPT に追加します。
こう聞いてみよう
Gitea のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要です。cloud.anythingmcp.com をそのままご利用ください。 サインインして Connectors → Gitea をクリックし、認証情報を貼り付けて、MCP APIキーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要です。
Gitea + ChatGPT
AIにGiteaを読み取らせましょう。リポジトリの検索、イシューやプルリクエストのコメント・ファイル・差分・レビューの確認、リリースや組織の確認、ブランチ・コミット・ファイルの読み取りができます。gitea.com でも自分のGiteaサーバーでも、アクセストークンで利用できます。読み取り専用です。
前提条件
コネクタに組み込まれているセットアップ手順をすべて確認してください(アプリ内ストアでコネクタを選択すると表示されます)。このコネクタに必要な環境変数は次のとおりです。
GITEA_URL, GITEA_TOKEN
ステップ 1 — 認証情報を取得する
セットアップには約2分かかります。gitea.com または自分のGiteaサーバーのアカウントと、Repository、Issue、Organization、User に対する Read 権限を持つアクセストークンが必要です。
- Giteaでアバターをクリックし、Settings、Applications の順に開きます。Manage Access Tokens で名前(例: "AnythingMCP")を入力し、Repository、Issue、Organization、User を Read に設定します(スコープ
read:repository、read:issue、read:organization、read:user)。トークンスコープのないバージョンのGiteaでは、トークンはそのユーザーの全権限を持ちます。 - Generate Token をクリックし、すぐにトークンをコピーします。Giteaが表示するのは一度だけです。
GITEA_TOKENにはトークンだけを貼り付けてください。先頭にtokenやBearerを付けないでください。コネクタが自動でtokenを付与します。 GITEA_URLには、Giteaを開くアドレスを設定します。例:https://gitea.comやhttps://git.example.com。/api/v1や末尾のスラッシュは付けません。Giteaがサブパスで動作している場合は、そのまま残してください(https://example.com/gitea)。- コネクタをインストールして
gitea_get_current_userを実行します。トークンの所有ユーザーが表示され、アドレスとトークンが正しく機能することを確認できます。
読み取り専用: 30個のツールはすべて読み取りのみを行います。コネクタはGitea上で何かを作成、変更、削除することはできず、AIにはトークンのユーザーが見られる内容がそのまま見えます。
読み取れる内容: リポジトリ(インスタンス全体の検索、または自分・組織・他のユーザーの一覧)、コメント・ラベル・マイルストーン付きのイシュー、変更ファイル・差分・コミット・レビュー付きのプルリクエスト、ノートと添付ファイル付きのリリース、メンバーとチーム付きの組織、ブランチ、コミット、ファイルツリー、ファイルの内容です。gitea_search_issues は、あなたに割り当てられた、あなたが作成した、またはあなたのレビュー待ちのイシューとプルリクエストを、すべてのリポジトリから検索します。
リポジトリと番号: すべてのリポジトリには owner(ユーザーまたは組織)と repo を指定します。これは https://host/owner/repo の2つの部分です。イシューとプルリクエストは、リポジトリごとに1つの連番を共有します。Giteaはプルリクエストをイシューとしても扱うため、gitea_get_issue と gitea_list_issue_comments はプルリクエスト番号でも動作し、タイトル、ラベル、会話を取得できます。コード側は gitea_get_pull_request、gitea_get_pull_request_files、gitea_get_pull_request_diff で取得します。
自分のサーバー: 内部ホスト(プライベートIPや内部名)上のGiteaには、同じネットワーク内のセルフホストAnythingMCPが必要です。そのホスト名を SSRF_ALLOWED_HOSTS に設定してください。そうしないと、送信ガードが呼び出しをブロックします。ForgejoおよびそれをベースにしたCodebergも同じAPI v1ルートを提供しているため、https://codeberg.org のようなアドレスでも動作するはずです。このコネクタはGitea APIに対して作られています。
制限: Giteaサーバーはデフォルトで1ページあたり30件、最大50件(MAX_RESPONSE_ITEMS 設定)を返すため、AIは上限を増やすのではなく次のページを要求します。200 KBを超えるプルリクエストの差分やファイルの内容は切り詰められます。残りはプルリクエストの html_url を開いて確認してください。
よくあるエラー: 401 は、トークンが間違っている、期限切れ、削除済み、または GITEA_URL が別のサーバーを指していることを意味します。403 は、呼び出しに必要なスコープがトークンにないことを意味します(Giteaがメッセージで名前を示します)。例えば、イシューには read:issue、組織には read:organization が必要です。404 は、リポジトリ、イシュー、ファイルが存在しない、またはユーザーに見えないことを意味します。Giteaは非公開リソースを隠すために404を返します。422 は、不足または無効なフィールドを示します。
このコネクタは、イシュー、コメント、プルリクエスト、リリース、ブランチ、ファイルの作成や編集、マージや承認を行いません。また、Actionsの実行とワークフロー、パッケージ、Wiki、通知、Webhook、デプロイキー、管理機能も対象外です。
ステップ 2 — アダプターをインストールする
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
ステップ 3 — ChatGPTにコネクタを追加する
サーバーURL: AnythingMCPで MCP Servers を開き、このコネクタが属するサーバーのURL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと書かれている箇所で使用してください。
ChatGPTでは、MCPサーバーを Plugins ページからプラグインとして追加します。Web版の有料プランで利用できます。デベロッパーモードはもう不要です。Businessワークスペースでは、管理者とオーナーのみが追加できます。EnterpriseとEduでは、管理者が Create plugins with MCPs 権限を付与できます。
- chatgpt.com/plugins を開き、Add、Add custom MCP server の順にクリックします。
- 名前を入力します。例: Name:
Gitea。 - Connection で Server URL に
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDを入力し、Authentication は OAuth のままにします。 - I understand and want to continue を選択し、Create as a plugin を選びます。ChatGPTから求められたら、AnythingMCPにサインインしてアクセスを許可します。
- 個人用プラグインから新しいプラグインをインストールし、チャットで @ を入力して選択します。
利用可能なツール
| ツール | 機能 |
|---|---|
gitea_get_current_user | トークンの所有者であるGiteaユーザーを取得します: id、login、full_name、email、is_admin、html_url |
gitea_search_repositories | トークンで見られるインスタンス全体のリポジトリを、キーワード、トピック、タイプ、アーカイブ状態で検索します: full_name、description… |
gitea_list_my_repositories | トークンのユーザーが所有するリポジトリを一覧表示します: full_name、description、default_branch、private、archived、stars_count… |
gitea_list_organization_repositories | トークンのユーザーが見られる組織のリポジトリを一覧表示します: full_name、description、default_branch、private、archived… |
gitea_list_user_repositories | トークンのユーザーが見られる、指定ユーザー所有のリポジトリを一覧表示します: full_name、description、default_branch、private、archived… |
gitea_get_repository | 1つのリポジトリを取得します: description、default_branch、private、archived、fork、empty、size、stars_count、forks_count、open_issues_count… |
gitea_list_issues | リポジトリのイシューをフィルター付きで一覧表示します: number、title、state、labels、assignees、milestone、comments count、created_at、updated_at など… |
gitea_search_issues | トークンのユーザーが見られるすべてのリポジトリからイシューとプルリクエストを検索します。自分に割り当てられたもの、自分が作成したもの、自分がメンションされたものなどに絞り込めます… |
gitea_get_issue | 番号で1つのイシューを取得します: title、body(Markdown)、state、labels、assignees、milestone、due_date、comments count、created_at、closed_at… |
gitea_list_issue_comments | イシューのコメントを古い順に一覧表示します: id、body(Markdown)、user、created_at、updated_at、html_url |
gitea_list_labels | リポジトリのラベルを一覧表示します: id、name、color、description |
gitea_list_milestones | リポジトリのマイルストーンを一覧表示します: id、title、state、description、due_on、open_issues、closed_issues |
gitea_list_pull_requests | リポジトリのプルリクエストを一覧表示します: number、title、state、merged、mergeable、headとbaseのブランチ、user、labels、created_at、updated_at… |
gitea_get_pull_request | 番号で1つのプルリクエストを取得します: title、body(Markdown)、state、merged、mergeable、headとbase(branch、sha、repository)、additions… |
gitea_get_pull_request_files | プルリクエストが変更するファイルを一覧表示します: filename、previous_filename、status(added、modified、deleted、renamed)、additions、deletions など… |
gitea_get_pull_request_diff | プルリクエストのunified diffをプレーンテキストで読み取り、実際の変更をレビューできます |
gitea_list_pull_request_commits | プルリクエストのコミットを一覧表示します: sha、message、author、date、html_url |
gitea_list_pull_request_reviews | プルリクエストのレビューを一覧表示します: id、reviewer、state(APPROVED、REQUEST_CHANGES、COMMENT、PENDING)、body、comments_count、submitted_at |
gitea_list_releases | リポジトリのリリースを新しい順に一覧表示します: tag_name、name、body(Markdownのリリースノート)、draft、prerelease、published_at、添付… |
gitea_get_latest_release | ドラフトでもプレリリースでもない最新のリリースを取得します: tag_name、name、body(リリースノート)、published_at、assets など… |
gitea_get_release_by_tag | タグ名で1つのリリースを取得します: name、body(リリースノート)、draft、prerelease、published_at、assets、html_url |
gitea_list_my_organizations | トークンのユーザーが所属する組織を一覧表示します: name、full_name、description、visibility、website |
gitea_get_organization | 1つの組織を取得します: name、full_name、description、website、location、visibility、avatar_url |
gitea_list_organization_members | トークンのユーザーが見られる組織のメンバーを一覧表示します: login、full_name、html_url |
gitea_list_organization_teams | 組織のチームを一覧表示します: id、name、description、permission、およびチームがすべてのリポジトリを対象とするかどうか |
gitea_list_branches | リポジトリのブランチを一覧表示します: name、最新コミット(id、message、timestamp)、protected、プッシュできるユーザー |
gitea_list_commits | リポジトリのコミットを新しい順に一覧表示します: sha、message、author、date、html_url |
gitea_get_commit | ブランチ、タグ、shaで1つのコミットを取得します: message、author、committer、date、parents、html_url、files を指定した場合は変更ファイルと統計も |
gitea_get_tree | ブランチ、タグ、コミット時点のリポジトリのファイルとフォルダーを一覧表示します: path、type(blob はファイル、tree はフォルダー)、mode、size |
gitea_get_file_content | ブランチ、タグ、コミット時点のリポジトリのファイルをテキストとして読み取ります(ref を省略した場合はデフォルトブランチ) |
FAQ
無料のChatGPTプランでカスタムMCPサーバーは使えますか? OpenAIはカスタムMCPサーバーを有料プランのみで提供しており、無料プランは対象に含まれていません。
次のステップ
このガイドは役に立ちましたか?