0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BacklogとCodeRabbitをMCPで連携させる

Posted at

CodeRabbitはAIコードレビューサービスです。GitHubやGitLab、BitBucketなどさまざまなGitリポジトリサービスと連携し、PRを自動レビューします。そんなCodeRabbitでは、コードレビュー時のコンテキストとして、MCPサーバーへの接続が可能です。

CodeRabbit Documentation - MCP Server

今回は、そのMCPサーバー機能を使って、Backlogと接続してみました。

CodeRabbitのMCPサーバー機能について

CodeRabbitは、デフォルトでJiraやLinearと接続できます。そして、さらにMCPサーバー機能によって、以下のようなサービスと連携できます。

  • Notion
  • Context7
  • GitHub Copilot
  • Sentry
  • Asana
  • Monday.com
  • ClickUp
  • DeepWiki

これらのサービスへの接続は、コードレビュー用のコンテキスト収集向けに行われます。

BacklogのMCPサーバー機能について

Backlogでは、オフィシャルにMCPサーバー機能が公開されています。

BacklogのMCPサーバーを公開しました|採用情報|株式会社ヌーラボ

ただし、これはstdinでの連携になります。CodeRabbitで利用する際には、SSEやStreamable HTTPで使える必要があります。そして、それを作ってくれている方がいます。

BacklogのMCPサーバーをリモート対応してみた|koふみ

今回はknowledge-oasis/backlog-mcp-server: リモート対応(SSEとStreamable HTTP)を利用させてもらっています。

設定について

Backlog MCP Serverの立ち上げ時には、BacklogのAPIキーとドメインが必要です。これは .env に書いておけばOKです。

BACKLOG_API_KEY=2rb...bms
BACKLOG_DOMAIN=your_domain.backlog.jp

そして、サーバーを立ち上げます。

npm run build
node build/index.js

そうすると、 http://localhost:3000 でサービスが立ち上がります。

ngrokの利用

立ち上げたサーバーの公開にはngrokを使います。

ngrok http 3000

これで https://your_domain.ngrok-free.app のようなURLが得られます。

CodeRabbitでの設定

CodeRabbitのダッシュボードで、 Integrations の中にある MCP Servers を選択し、 New MCP Server ボタンを押します。

項目
Label Backlog
Server URL https://your_domain.ngrok-free.app
Usage guidance どういった際に呼び出すのかのガイダンス(オプション)
Authentication Method None

Usage guidance には Backlog is used for issue management. It is one of the sources of information when reviewing the contents of PR. などと入力しておけば良いかと思います。

image.png

登録すると、 POST / が何回か呼ばれます。

FireShot Capture 217 - ngrok - Inspect - [127.0.0.1].png

実際に動作

実際の動作は、PRを作成すればわかります。すべて POST / または GET / が呼ばれます。例えば、以下はIssueの一覧を呼んでいるリクエストです。

{
    "method": "tools/call",
    "params": {
        "name": "get_issues",
        "arguments": {
            "keyword": "bookmarks",
            "count": 10
        }
    },
    "jsonrpc": "2.0",
    "id": 5
}

あとはこういった内容も。

{
    "method": "tools/call",
    "params": {
        "name": "get_issues",
        "arguments": {
            "keyword": "RLS",
            "count": 10
        }
    },
    "jsonrpc": "2.0",
    "id": 6
}

この時、PRのタイトルが Feat/iteration 2 auth rls でした。そうすると、 IterationAuthRLS といったキーワードで呼ばれました。つまり、PRのタイトルで検索されるので、それに合わせてBacklogの課題を作成しておくと良さそうです。

まとめ

Backlogを用いてプロジェクトの課題管理を行われているチームで、CodeRabbitと連携する際の手順を解説しました。良いコンテキストを提供すれば、コードレビューの精度が上がります。ベストプラクティスだけでなく、チームのガイドラインや視点に合わせたレビューが実現できます。

ぜひBacklogとCodeRabbitを組み合わせて、コードレビューの高速化・最適化してください。

AIコードレビュー | CodeRabbit | 無料トライアル可能

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?