Forgejo Mcp について
Forgejo MCP は、AI アシスタントから Gitea や Forgejo のリポジトリを管理できる MCP サーバーです。Issue、ラベル、マイルストーン、リリース、プルリクエスト、Wiki に対応しています。プロジェクトの進捗管理やリポジトリ運用に AI を活用したいチーム向けです。
主な機能
- 01Issue、コメント、添付ファイル、依存関係の管理
- 02ラベルとマイルストーンの管理
- 03リリースとリリース添付ファイルの管理
- 04プルリクエストと Wiki ページの参照
- 05Forgejo / Gitea Actions タスクの参照
活用シーン
- 01Issue の内容に基づくラベルとマイルストーンの自動設定
- 02直近のプルリクエストのレビュー優先度の分析
- 03Wiki ドキュメントとリリースノートの整理
MCP 対応
本プロジェクトは MCP サーバーであり、stdio または HTTP(SSE と Streamable HTTP)経由で Forgejo と Gitea のリポジトリ管理機能を MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gitea/Forgejo MCP Server
AI をコードリポジトリ管理アシスタントに
Claude、Gemini、Copilot などの AI アシスタントを通じて Gitea/Forgejo リポジトリを管理できる、Model Context Protocol (MCP) サーバーです。
🚀 Forgejo MCP Server を使う理由
次のようなことを実現したい場合に役立ちます。
- 進捗のスマートな追跡:AI を活用してプロジェクトの進捗を追跡し、ボトルネックを分析できます
- 課題の自動分類:内容に基づいて課題にラベルを自動で付け、マイルストーンを設定できます
- 優先順位の整理:AI に課題の内容を分析させ、タスクの優先順位付けに役立てられます
- コードレビューの支援:プルリクエストで AI による提案や分析結果を得られます
- プロジェクトドキュメントの整理:Wiki ドキュメントやリリースノートを自動で整理できます
このツールは、そんなあなたのためのものです!
✨ 対応機能
課題管理
- 課題の作成、編集、表示
- ラベルの追加、削除、置換
- 課題のコメントと添付ファイルの管理
- 課題の依存関係の設定
プロジェクトの整理
- ラベルの管理(作成、編集、削除)
- マイルストーンの管理(作成、編集、削除)
- リポジトリの検索と一覧表示
リリース管理
- バージョンリリースの管理
- リリースの添付ファイルの管理
その他の機能
- プルリクエストの表示
- Wiki ページの管理
- Forgejo/Gitea Actions タスクの表示
📦 インストール
方法 1:docker を使用する(推奨)
STDIO モードの場合は、使用方法のセクションに進んでください。
SSE/Streamable HTTP モードの場合は、MCP クライアントを設定する前に、forgejo-mcp をサーバーとして実行してください。
docker run -p 8080:8080 -e FORGEJOMCP_TOKEN="my-forgejo-api-token" ronmi/forgejo-mcp http --address :8080 --server https://git.example.com
方法 2:ソースからインストールする
go install github.com/raohwork/forgejo-mcp@latest
方法 3:ビルド済みバイナリをダウンロードする
お使いのオペレーティングシステムに適したバージョンを、リリースページからダウンロードしてください。
🖥️ 使用方法
このツールには、ローカル連携用の stdio とリモートアクセス用の http の 2 つの主要な動作モードがあります。
MCP クライアントを設定する前に、Forgejo/Gitea サーバーでアクセストークンを作成する必要があります。
- Forgejo/Gitea インスタンスにログインします
- 設定 → アプリケーション → アクセストークンに移動します
- 新しいトークンを生成をクリックします
- 適切な権限スコープを選択します(少なくとも
repositoryとissueの書き込み権限を推奨します) - 生成されたトークンをコピーします
💡 ヒント:セキュリティのため、設定にトークンを直接記述するのではなく、環境変数を設定することを検討してください。
export FORGEJOMCP_SERVER="https://your-forgejo-instance.com"
export FORGEJOMCP_TOKEN="your_access_token"
Stdio モード(ローカルクライアント向け)
Claude Desktop や Gemini CLI などのローカル AI アシスタントクライアントと連携する場合は、このモードを推奨します。標準入出力を使用して直接通信します。
AI クライアントの設定
docker を使用する場合:
{
"mcpServers": {
"forgejo": {
"command": "docker",
"args": [
"--rm",
"ronmi/forgejo-mcp",
"stdio",
"--server", "https://your-forgejo-instance.com",
"--token", "your_access_token"
]
}
}
}
ソースまたはビルド済みバイナリからインストールした場合:
{
"mcpServers": {
"forgejo": {
"command": "/path/to/forgejo-mcp",
"args": [
"stdio",
"--server", "https://your-forgejo-instance.com",
"--token", "your_access_token"
]
}
}
}
ベストプラクティスについては、セキュリティに関する推奨事項のセクションもご覧ください。
HTTP サーバーモード(リモートアクセス向け)
このモードでは Web サーバーを起動し、リモートクライアントが HTTP 経由で接続できるようにします。Web ベースのサービスや、複数のユーザー向けの集中ゲートウェイの構築に適しています。
次のコマンドを実行してサーバーを起動します。
# with local binary
/path/to/forgejo-mcp http --address :8080 --server https://your-forgejo-instance.com
# with docker
docker run -p 8080:8080 -d --rm ronmi/forgejo-mcp http --address :8080 --server https://your-forgejo-instance.com
サーバーは 2 つの動作モードに対応しています。
- シングルユーザーモード:起動時に
--token(または環境変数FORGEJOMCP_TOKEN)を指定すると、すべての操作でそのトークンが使用されます。forgejo-mcp http --address :8080 --server https://git.example.com --token your_token - マルチユーザーモード:トークンを指定しない場合、サーバーは各リクエストで
Authorization: Bearer <token>ヘッダーを送信するようクライアントに要求します。これにより、複数のユーザーに安全にサービスを提供できます。
クライアントの設定
HTTP 経由でリモート MCP サーバーへの接続に対応しているクライアントには、次のような設定を追加できます。この例では、マルチユーザーモードで動作するサーバーへの接続方法を示します。
{
"mcpServers": {
"forgejo-remote": {
"type": "sse",
"url": "http://localhost:8080/sse",
"headers": {
"Authorization": "Bearer your_token"
}
}
}
}
または http タイプ(Streamable HTTP の場合は、URL のパスを変更してください)
{
"mcpServers": {
"forgejo-remote": {
"type": "http",
"url": "http://localhost:8080/",
"headers": {
"Authorization": "Bearer your_token"
}
}
}
}
シングルユーザーモードのサーバーに接続する場合は、headers フィールドを省略できます。
🛡️ セキュリティに関する推奨事項
- 環境変数を使用する:
FORGEJOMCP_SERVERとFORGEJOMCP_TOKENを設定し、設定から--serverと--tokenを削除します - トークンの権限を制限する:必要な権限スコープのみを付与します
- トークンを定期的にローテーションする:アクセス トークンを定期的に更新します
📋 使用例
設定後、AI アシスタントで自然言語を使ってリポジトリを管理できます。
"Show me critical bug reports of this repo on my gitea server"
"According to our discussion above, create a detailed issue about this bug, then leave a comment on the issue to describe how we will fix it."
"Give me a report about current milestone. Recent progression in particular."
"Analyze recent pull requests and tell me which ones need priority review"
🤝 サポートとコントリビューション
- バグの報告:GitHub Issues
- コードへの貢献:プルリクエストを歓迎します!
📄 ライセンス
このプロジェクトは Mozilla Public License 2.0 の下でライセンスされています。
AI をコードリポジトリ管理のパートナーにしましょう! 🚀
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。