概要
AIにGiteaを読み取らせましょう。リポジトリの検索、コメント・ファイル・差分・レビューを含むイシューとプルリクエストのトリアージ、リリースと組織の確認、ブランチ・コミット・ファイルの読み取りができます。gitea.comでも自前のGiteaサーバーでも、アクセストークンで利用できます。読み取り専用です。
ガイド付きセットアップ
Gitea を Microsoft Copilot に 2 分で接続
AnythingMCP Cloud の無料トライアルを始め、ガイド付きセットアップで Gitea を接続して、MCP URL を Microsoft Copilot に追加します。コードもサーバーの運用も不要です。
クレジットカード不要 · 7日間の試用 · セルフホストの選択肢あり
こう聞いてみよう
Gitea のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要です。cloud.anythingmcp.com をそのままお使いください。 サインインして Connectors → Gitea をクリックし、認証情報を貼り付けて、MCP APIキーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要です。
Gitea + Microsoft Copilot
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はlimitを大きくするのではなく次のページを要求します。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 — Microsoft Copilotにコネクターを追加する
サーバーURL: AnythingMCP で MCP Servers を開き、このコネクタがあるサーバーを選んで URL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと表示されている箇所に使ってください。
Microsoft Copilot は、Copilot Studio で作成したエージェントを通じて MCP サーバーを使います。AnythingMCP をツールとしてエージェントに追加し、そのエージェントを Microsoft 365 Copilot と Teams に公開します。Copilot Studio は Microsoft のクラウドから Streamable HTTP で接続し、AnythingMCP はこれに対応しています。
- Copilot Studio でエージェントを開き(または新規作成し)、Tools で Add a tool → New tool → Model Context Protocol を選びます。
- Server name(例:
AnythingMCP)、コネクタでできることを説明する Server description、Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDを入力します。Copilot Studio はこの説明をもとに、いつサーバーを呼び出すかを判断します。 - 認証で API key を選び、Type を Header、ヘッダー名を
X-API-Keyにして Create を選びます。 - Add tool で Create a new connection を選び、AnythingMCP の MCP API キー(MCP Servers → 対象のサーバー → API keys)を貼り付けて Add to agent を選びます。
- エージェントの Test ウィンドウで試します。
Giteaのツールが必要になる依頼をしてみましょう。 - Publish を選び、Channels → Microsoft 365 and Microsoft Teams で Make agent available in Microsoft Copilot を選択したまま Add channel を選びます。See agent in Teams で自分用にインストールされます。Microsoft 365 Copilot では @ を入力してエージェントを選びます。
ユーザーごとにサインインさせたい場合は、API キーの代わりに OAuth 2.0 → Dynamic discovery を選びます。各ユーザーは、エージェントが初めて呼び出すときに AnythingMCP にサインインします。
セルフホストの場合は、https://cloud.anythingmcp.com の代わりにインスタンスの公開 HTTPS アドレスを使ってください。Copilot Studio は Microsoft のクラウドから接続するため、localhost は使えません。
利用可能なツール
| ツール | 機能 |
|---|---|
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、コメント数、created_at、updated_at など… |
gitea_search_issues | トークンのユーザーが閲覧できるすべてのリポジトリからイシューとプルリクエストを検索します。自分に割り当てられた、自分が作成した、自分に言及しているものに絞り込むこともできます… |
gitea_get_issue | 番号で1つのイシューを取得します: title、body(Markdown)、state、labels、assignees、milestone、due_date、コメント数、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(ブランチ、sha、リポジトリ)、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
どの Copilot が対象ですか? 職場で使う Microsoft 365 Copilot で、Copilot Studio のエージェントを通じて利用します。個人アカウント向けの Microsoft Copilot アプリでは、独自の MCP サーバーを追加できません。
何が必要ですか? エージェントを作成するために、Copilot Studio を利用できる職場アカウント(ライセンスまたは試用版)が必要です。Microsoft 365 Copilot や Teams でエージェントを使う人には、エージェントへのアクセス権が必要です。共有するか、管理者に組織向けに公開してもらってください。組織が Power Platform コネクタにデータ ポリシーを適用している場合は、MCP サーバーにも適用されます。
エージェントがツールを呼び出しません。 ヘッダー名が正確に X-API-Key であること、キーが URL と同じ MCP サーバーのものであることを確認し、Server description を具体的に書いてください。Copilot Studio はこの説明をもとにサーバーを呼び出すかどうかを判断します。変更のたびにエージェントを再公開し、開いているチャットでは "start over" と入力すると新しいバージョンになります。
次のステップ
このガイドは役に立ちましたか?