前置き

MCP サーバーを一元管理する Bloque というサービスを作っています↓。現在β版です。

Bloque – All Your MCPs, Centrally Managed.

今のところターゲットは中小企業を考えています。ソフトウエア開発者であれば MCP サーバーという単語やそれが何をするのかを理解している人が多いと思いますが、非技術者だとその辺りに詳しくない人も多く、何に使えるの?という状態の人もいるかもしれません。

ということで、まずは MCP サーバーを使って業務を効率化する実例を本ブログで色々紹介していき、読んだ方が MCP サーバーの有用性や使っていく際の課題などを理解する助けになればと考えています。いきなり高度な内容だと理解が追いつかない方もいるかもしれませんので、簡単なものから投稿していきます。

なお、本投稿や今後の投稿で紹介する実例はいずれも Bloque を使わなくても実現可能なものですが、使った場合のメリット、他の選択肢の比較なども宣伝抜きで書いていこうと思います。

対象・背景

ソフトウェア開発プロジェクトなどで、課題管理に Backlog を使っている事も多いと思います。(弊社でもいくつかのお客様とのプロジェクトで使っています。)

Backlog の issue で返信がされていないものがあれば返信したり、お客様から返信が無いものは返信を催促する、というのは日常的に発生する業務です。数件であれば良いですが件数が増えてくると大変ですし、PM の方であれば自分が担当以外の issue にも目を配る必要がありますので、自動化できると削減できる時間はかなりのものです。

解決策

概要

以下を自動的に行う仕組みを作ります。

  1. Backlog で未完了の issue を全部取得
  2. 各 issue の直近コメント3件を読んで、対応が必要かそうでないかなどを分類
  3. Slack で報告

実現方法

Claude Code から Backlog と Slack に MCP サーバー経由で接続できるように設定します。そして、上述の処理内容を Agent Skill にしておきます。

後は、Claude Code からそのスキルを呼び出すだけで、Backlog issue が状況別に分類されて Slack メッセージとして送信されます。

自動実行したい場合についても、README.md に記載してあります。

使い方

ほぼそのまま使えるコードを以下に公開してあります。README に沿って設定してみてください。

bloque-public-files/sample-projects/ja-backlog-report at main · mobalab/bloque-public-files

Bloque では、プロジェクトで使う複数の MCP サーバーを Hub と呼ばれる単位でまとめて管理し、その Hub を公開する仕組みがあります。今回は2つの MCP サーバーしか使わないので手動で追加してもそれほど手間ではありませんが、README では以下の Hub をインストールして設定を行うという手順になっています。

kashima’s Hub: Backlog + Slack

他の実現方法等の検討

Claude Code + Bloque 経由で Backlog と Slack の MCP サーバーを使って、やりたい事が簡単に実現できることを理解していただけたかと思いますが、他の方法はないのでしょうか。

Backlog 自体にはそのような機能はない → 待つより作った方が楽

そのそも Backlog 自体にそのような機能は無いのでしょうか。Backlog を開発しているヌーラボ社は(当然の事ながら)AI 関連の機能を強化しているようですが、本ブログ記事執筆時点では、issue を読んで対応の要否を判断してくれるような機能はないようです。

ヌーラボ、「Backlog」におけるAI機能群の最新アップデートを発表 | プレスリリース | 株式会社ヌーラボ(Nulab inc.)

また、Slack 連携機能もありますが、通知を Slack に送るだけという単純な内容です。

BacklogのSlack連携 – Backlog ヘルプセンター

今までであれば、ヌーラボ社に機能追加の要望などを出していたと思いますが、AI 時代の現在は足りない機能を自分で作る方が楽ですし、世間としてもそのような流れにあります。そして、なぜ足りない機能を作るのが楽になったかというと、Backlog が自身の機能を外部から使えるように MCP サーバーを提供しているからです。

Backlog API を使う → 可能だが、判断の部分で AI が必須

前項で「Backlog が自身の機能を外部から使えるように MCP サーバーを提供している」と書きましたが、勘の良い方であれば「それって API ではないの?API でも同じ事ができるんじゃないの?」と思うかもしれません。

結論としては、データの取得・送信に関してはその通りですが、その issue の状態を判別するには AI の機能が必須です。

AI が無い時代であれば、以下のようにする事で似たような事を実現していました。

  1. Backlog API から issue 一覧を取得
  2. 各 issue の以下のような情報を元に状態を判別
    • 現在の担当者
    • 最後にコメントした人
    • 最終更新日
    • コメント内のメンション情報
  3. Slack API でメッセージを送信

今回の方法と違うのは以下の2点です。

  • AI が無いと、issue の状態判別はルールベースになる(最後にコメントした人が自分以外で、最終更新日から2日以上経過している、等)
  • API からデータを取得してくる部分のプログラムを自作する必要がある

前者は機能的な差異です。ただ、ルールベースでも8割くらいの場合には対処できると思うので、それで十分という考え方もあるかもしれません。

その場合でも、後者は問題となります。AI が無い時代は、Backlog と Slack の API の仕様書をみつつ、自分でプログラムを書く必要がありました(※)。一方、今回の方法では MCP サーバーの設定を AI エージェント(今回は Claude Code)にするだけで、AI が Backlog と Slack にどのような機能がありどのように呼び出せば良いのかを自分で判断します。

※: 少し専門的な話をすると OpenAPI によって大昔に比べればある程度は簡略化されていますが、それでも大変なことには変わりありません。

Bloque を使わずに MCP サーバーをセットアップする → 可能だが・・・

今回、Backlog と Slack の MCP サーバーを使っています。

「わざわざ Bloque なんていう得体の知れないサービスを使わなくても、普通に Claude Code で MCP サーバーの設定をすれば良いでしょ」

という意見もあると思います。

Backlog の MCP サーバーについては、以下の簡単なドキュメントがあります。

MCPサーバーについて – Backlog ヘルプセンター

詳しくは GitHub を見てくれと書いてあります。そして GitHub のレポジトリは以下の通りです。

nulab/backlog-mcp-server

見ての通り、技術者じゃないと理解するのは難しいです。Slack についても同様です(ドキュメントのリンク等は省略します)。

ということで、非技術者の場合は Bloque のようなサービスを使った方が楽です。

そして、自分で MCP サーバーの設定が出来る技術者の場合も Bloque を使うメリットはいくつかあります。

1つ目は、トークンの管理が一元管理出来る点です。少し専門的になりますが、今回の例では、Backlog は固定の API キーを使った認証、Slack の場合は OAuth を使った認証を行っています。API キーの場合は、GitHub 等に間違えて push しないように管理方法に気を配る必要がありますし、OAuth の場合はアクセストークンは MCP クライアント(Claude, ChatGPT)毎に別の場所に保存されるため、同一の MCP サーバーを使った業務を複数の MCP クライアントで行う場合などには認証処理が煩雑になりがちです。また、Claude の Slack コネクターを使った場合、プロジェクト毎にスコープを分けることも出来ません。

MCP is dead じゃなかったの?

数ヶ月前に技術系の人の間で “MCP is dead” というキャッチーな件名のブログ記事が話題になりました。これについての私の意見はどっかに書いた気もしますが見つからないので簡単に述べると、現時点で問題点はあるけどすぐに改善されるし(既に改善されている問題点も多い)、MCP サーバーではなく CLI を使った方が良いのは開発などの限られた文脈の話なので一般化は出来ない、という感じです。

MCP サーバーは、今後重要な技術となっていくと(現時点では)確信しています。

まとめ

Backlog と Slack の MCP サーバーを Bloque 経由でセットアップして、Claude Code のスキルと組み合わせることで、Backlog の issue のうち対応すべきものをまとめて Slack で送るという処理を簡単に実現できました。

MCP サーバーは AI エージェントの機能を拡張する仕組みであると共に、MCP サーバー提供側(今回は Backlog と Slack)の機能を拡張する仕組みとも言えます。Backlog 単体で出来なかった事、Slack 単体で出来なかった事が AI エージェント+MCP サーバーで実現出来るようになります。

業務で使う MCP サーバーが増えるにつれて管理が面倒になりますが、弊社で開発している Bloque はそれを簡略化する仕組みです。今回紹介した仕組みも Bloque 無しでも実現できますが、Bloque を使った方がより簡単に実現でき、便利に使う事が出来ます。この辺りは別の記事でも書こうと思います。

Bloque は現在β版で、Early Access Program の参加者を募集しています。β版を利用してフィードバックをくださった方には Starter プランを永年無料で提供するというものです。是非ご参加いただければと思います。

Register for Bloque (formerly MHaaS) Early Access & Lifetime Benefits