バイセル Tech Blog

バイセル Tech Blogは株式会社BuySell Technologiesのエンジニア達が知見・発見を共有する技術ブログです。

バイセル Tech Blog

MCP サーバー開発に挑戦!社内 AI ハッカソン開催レポート

こんにちは!バイセルのテクノロジー戦略本部 開発 2 部でバックエンドエンジニアをしている野口です。

バイセルでは毎月「Tech AI Hackathon」という社内ハッカソンを開催しています。今回は「MCP サーバー開発」をテーマに、1 日で様々な MCP サーバーを実装しました。

本記事では、Tech AI Hackathon の取り組みと得られた知見をご紹介します。

Tech AI Hackathon とは

Tech AI Hackathon は、AI 技術の実践的な学習と活用を目的とした月次開催の社内イベントです。

毎回 AI に関するテーマを定め、それに沿ったハッカソンを開催しています。

Tech AI Hackathon の狙い

バイセルでは「AI エージェントを活用した業務オペレーション構築」の実現を掲げており、その実現に向けた取り組みとして既に様々な AI 技術を導入しています。

  • Cursor Pro、GitHub Copilot の企業プラン導入
  • Devin 導入
  • Claude Code 導入(Claude MAX プランの導入)
  • 社内勉強会の開催
  • 社内の AI Bot の開発と導入

これらの環境は整備されましたが、個人の学習だけでは実際の業務への適用方法が不明確になりがちです。そこで「作りながら学ぶ」をコンセプトに、業務時間内に月 1 回のハッカソンを開催し、実際のプロダクトを題材に新技術を生かす方法を模索しています。

Tech AI Hackathonのテーマ:MCP サーバー開発

第 3 回となる今回のテーマは「MCP サーバー開発」です。

既存の API を MCP サーバー化したり、業務を効率化する新しい MCP サーバーを開発しました。1日という限られた時間で、実際に動くものを作りながら MCP 技術の可能性を探りました。

MCP とは何か?

MCP(Model Context Protocol)は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。「AI の USB-C ポート」のように、統一されたインターフェースで AI モデルと様々なデータソースやツールを接続できます。

技術的には、JSON-RPC 2.0 プロトコルをベースとしたクライアント・サーバー型のアーキテクチャです。MCP クライアントが MCP サーバーにリクエストを送信し、サーバーがデータや機能を提供する仕組みです。

MCP の詳細については、公式ドキュメントをご参照ください。

バイセルでの活用状況

バイセルでは、エンジニアの多くが既に MCP サーバーを使用しています。GitHubPostgreSQLPlaywright などの MCP サーバーを日常的に使用しており、簡易的な MCP サーバーを自作した経験を持つメンバーも増えてきています。

今回のハッカソンでは、MCP 経由で既存システムをどこまで AI 対応できるか、実際に手を動かして検証することにしました。

Tech AI Hackathon の流れ

前日までの準備

チーム編成は普段開発しているプロダクト単位を基本に編成しました。中にはそこから更にチームを細分化するなど、アウトプットを出しやすい形に適宜チームを組んでいます。

実施内容もチーム毎に話し合いを行い、当日までに Slack のスレッドにやること・分担をまとめたり、GitHub の Issue を作成しておくなど、各自で最適なやり方を模索し準備をしていました。

当日のタイムライン

当日は以下のような流れで進行しました。

  • 10:00 - 10:30 全体キックオフ(テーマ説明、注意事項の共有)
  • 10:30 - 13:00 開発タイム #1
  • 13:00 - 14:00 ランチ休憩
  • 14:00 - 14:30 中間報告(各チーム 3 分ピッチ)
  • 14:30 - 18:00 開発タイム #2
  • 18:00 - 18:50 成果発表(各チーム 5 分ピッチ)
  • 18:50 - 19:00 クロージング(アンケート依頼、振り返り)

ハッカソン当日の様子

MCP という新しい技術への挑戦ということもあり、チーム内だけでなくチームを跨いだ技術的な議論が活発に行われました。実装方法や仕様について意見を交わし、知見を共有し合う光景があちこちで見られました。

チームによっては出社とリモート参加が混在していましたが、この日のために遠方から出社する方もいらっしゃるなど、普段以上にオフィスに人が集まり活気付いていました。

成果発表では、各チームが開発した MCP サーバーを 5 分間でプレゼンテーションしました。

各々が普段から抱えている課題に沿った実用的な課題解決を目指していたことが印象的で、チームによっては20以上のツールを作成し、複雑な要求に対して高い精度の回答が得られるような成果物を作成しました。

今回はその中からいくつかピックアップしてご紹介します。

実際の取り組みと成果

テストデータ作成を自動化するMCPツール群

在庫管理APIの20以上の更新系操作をMCPツール化し、自然言語でテストデータを作成できるMCPサーバーを開発しました。従来、開発・テストで特定条件の商品データを作成する際は、管理画面で商品作成→移動処理→拠点変更→状態更新といった複数ステップの手動操作が必要でした。

MCPツール化により、「東京拠点で処理完了状態の商品を3つ作って」という自然言語の指示だけで、複雑な状態のテストデータが自動生成できるようになりました。

業務フローをMermaid図で構造化し、AIが状態遷移を正確に理解できるようにしたことで、障害調査時の状態再現も効率化されました。

既存APIサーバーを直接MCP化するアプローチ

Gin(Go)で構築されたAPIサーバーに/mcpエンドポイントを追加し、サーバー自体をMCP対応させる取り組みです。REST APIをラップする一般的なアプローチでは、特定のユーザーやテナントのデータしかアクセスできないといった既存の権限制御がそのまま適用されてしまいます。そこで、APIサーバー自体にMCPエンドポイントを追加することで、より柔軟な権限設計を可能にする新しいアプローチを採用しました。

MCPサーバーのTransportがStreamable HTTPだったため、既存のMCPクライアント(CursorやClaude Desktop)では対応していませんでした。そこで専用のMCPクライアントも自作し、ツール実行履歴の可視化機能なども実装しました。

複雑な商材マスタ情報を自然言語で検索・操作

複数のマイクロサービスに分散している商材マスタを統合的に扱えるMCPサーバーを開発しました。従来は「どの商材にどういう情報が紐づいているか」を調べるために、膨大なスプレッドシートから手動でgrep検索する必要がありました。

このMCPサーバーにより、「ブランドバッグの色に赤があるか調べて」という自然言語での問い合わせに即座に回答できるようになりました。さらにSQL自動生成機能で「お酒の属性の『査定業者提示価格』を削除するSQLを書いて」という指示から、関連する複数テーブルへのDELETE文を自動生成できます。

副次的な効果として、新旧システムの差異も明確になりました。旧システムでは12種類あった着物の色分類(赤金系・金銀系などの複合色を含む)が新システムでは未実装であることが判明し、システム移行時の課題も可視化できました。

その他の取り組みについて

書ききれないため以下抜粋ですが、ほとんどのチームが動くものを作りきり、実用的な成果物を作成していました。

  • ログ調査の完全自動化:GCP 上のプロダクトログを横断的に検索・要約
  • UI 開発支援ツール:Figma とコードリポジトリの自動連携
  • ピープルマネジメント支援:複数システムからの情報統合による 1on1 支援
  • 店舗での査定プロセス自動化

ハッカソンに対するフィードバック

1 日間の集中的な開発を通じて、参加者から得られた学びと気づきは以下の通りです。

参加者アンケートの結果

ハッカソン全体の満足度は 91.3%が高評価(5 段階評価で 4 以上)でした。

満足度が高かった要因としては以下のような点が挙げられました。

  • 「AI パイプライン全体に触れ、モデル選定やコスト試算まで体験できた」ことで、技術的自信が向上したから
  • 「目的が明確で技術選定を事前に済ませ集中できた」
  • 「既存APIを流用しLLM実装に専念できた」

一方で、時間不足やデータ連携の壁で「最低限動くが追加機能は未着手」という声もあり、一日開催ゆえの不完全燃焼さを感じていたチームも散見されましたが、全体的に新しい技術に触れる機会に対してポジティブな声が多かったです。

また、得られた学びと気づきとしては以下のような意見があがりました。今後のシステム開発でも活かせるような知見が得られたことは大きな成果でした。

  • プロンプト次第で成果が激変する」ことを実感
  • 「LangChain に頼らず REST でも MVP が成立する」という新たな気づき
  • MCP Inspector がデバッグツールとして有効で、ツールの呼び出し履歴やレスポンスを可視化できる
  • CursorやClaude Desktop等の主要なMCPクライアントがStreamable HTTP Transportに未対応だったので、自力でclientを作る必要がある
  • 複雑な処理でのタイムアウト問題(特に SQL 生成など思考を要する処理)

まとめ

今回はバイセルで開催しているハッカソンイベントについて紹介しました。

最初は「1 日で何ができるだろうか」という不安もありましたが、蓋を開けてみると、どのチームも新しい技術を使いこなし、実用的な活用方法を模索し実装していました。

普段の業務から離れ、新しい技術に触れてみる機会があり、その中でもチームで何かを作り上げる達成感を味わえたことは大きな成果でした。

結果的に参加者の 91.3% が高い満足度を示し、「もっと深く探求したい」「次回もぜひ参加したい」という声が多く聞かれたことが印象的でした。

バイセルでは今後も「作りながら学ぶ」スタイルで、新しい AI 技術の実践的な活用方法を探求し続けていきます。次回の Tech AI Hackathon でも、さらなる技術的挑戦を通じて、AI 活用の可能性を広げていきたいと思います。

バイセルではエンジニアを募集しています。少しでも気になった方はぜひご応募お待ちしています。

herp.careers herp.careers