MCP を使った AI エージェントで、午後の空いた時間でアプリのプロトタイプを構築・デプロイする

2 min read

Dec 9, 2025

多くのチームと同様に、私たちにも事業の成長とともにサイズも複雑さも急速に増していったスプレッドシートがありました。
そこには、顧客の受注実績、業界、競合、そしてなぜ勝てたのかという理由が記録されており、組織にとって非常に価値の高いナレッジの蓄積となっていました。

しかし時間が経つにつれて、大規模に管理・分析するのが難しくなっていきました。
チームにとって使いづらくなり、サードパーティのAIシステムを使ってクエリしようとしても、結果が一貫しなかったり、誤った回答が返ってくることが多くなっていました。

MCP を使った AI エージェントで、午後の空いた時間でアプリのプロトタイプを構築・デプロイする

私たちは、もっと賢く、構造化された顧客データと顧客のコメント(引用)のようなリッチな情報を組み合わせ、さらに自然な英語で探索できる仕組みを求めていました。
「Science & Engineering 業界で、クエリ性能を改善した顧客」のように、厳密一致ではない、より柔軟な問いかけができることが理想でした。

そこで私たちは、SingleStore の Model Context Protocol(MCP)に目を向け、
LLM、MCPサーバー、そして自社データソースが実際にどの程度うまく連携できるのかを検証するための初期イテレーションとして、AIエージェント駆動のプロトタイプ構築を試すことにしました。

Model Context Protocol(MCP)を使い始める

SingleStore の MCP サーバー実装 を使えば、アイデアから動作するプロトタイプまでを数分で作成できます。MCP クライアントや Claude のような大規模言語モデル(LLM)を SingleStore 環境に直接接続し、自然言語の指示からコード、スキーマ、ノートブックを生成することが可能です。 SingleStore は 構造化データと非構造化データの両方を同一データベースで扱えるため、Postgres と pgvector のように複数のシステムを使い分ける必要がありません。 スキーマからベクトルまで、すべてが単一の高性能データベースに集約されます。

まず最初に、GitHub から SingleStore の MCP サーバーリポジトリ をクローンしました。 

git clone https://github.com/singlestore-labs/mcp-server-singlestore.git

このリポジトリには、Model Context Protocol(MCP)サーバーをローカルで実行し、対応する MCP クライアントに接続するために必要なものがすべて含まれています。 クローン後、次のコマンドで依存関係をインストールしました。:

1uv sync --dev  2
3uv run pre-commit install

環境のセットアップが完了したら、次のステップは AI搭載IDEである Cursor と MCP サーバーを統合することでした。 これにより、AIエージェントとして振る舞う LLM が Model Context Protocol と直接やり取りし、自然言語を通じてアプリケーションを構築できるようになります。

この2つを連携させるために以下を実行します:

1uvx singlestore-mcp-server init --client=cursor2
3uvx singlestore-mcp-server start

この時点で、SingleStore アカウントへのサインインを促すブラウザウィンドウが開きました。 認証が完了すると、ターミナルに 「Authentication Successful」 というメッセージが表示され、環境が正しく接続されたことが確認できました。

念のため確認するために、Cursor の設定画面を開き、次の場所へ移動しました。

Preferences > Cursor Settings > Tools & MCP

そこで singlestore-mcp-server のインジケーターが緑色でハイライトされているのを確認できた瞬間、すべてがつながったと実感しました。 MCP 接続が有効になり、サーバーが稼働し、自然言語コマンドを使って直接開発を始められる状態になったのです。

 

AIエージェントを使ってデータベースを設計する

MCP サーバーを接続した状態で、元の外部データソースである CSV スプレッドシートを同じディレクトリにコピーしました。 CSV 自体は複雑なものではありませんでしたが、構造化データと非構造化データが混在しており、効果的にクエリするのが難しい状態でした。 各行は 1つの顧客のお客様の声を表しており、 以下のようなカラムが含まれていました。 

  • 顧客名 
  • 業界 
  • 売上レンジ 
  • 競合 
  • 以前のソリューションにおける課題 
  • 受注につながった機能 

さらに、顧客のコメント(quote)欄もあり、これはフィードバックコールやケーススタディから抜粋した短い文章で、各案件の背景にあるニュアンスを捉えるものでした。 これらのコメントは後に、SQL スキーマ内のベクトルフィールドの基盤となり、 構造化データと同じテーブル内で、セマンティック検索や類似度マッチングを可能にする重要な要素となります。

このステップでは、好みの AI モデルを自由に使うことができます。Model Context Protocol の一部機能(たとえば elicitation)は、現時点では Claude Desktop では未対応ですが、VS Code や Cursor のような関連ツールでは完全にサポートされています。 私は、応答性と文脈理解の正確さを理由に Claude 4.5 Sonnet を選びました。 そして MCP 連携を通じて、Claude に CSV ファイルを解析し、スキーマ案を提案するよう依頼しました。LLM はファイルを解析し、論理的なカラム名を特定した上で、完全な CREATE TABLE 文を自動生成してくれました。

create-table.png

その後、ベクトルフィールド型を含む各フィールド名を作成しました:

1CREATE TABLE `customers` (2  `category` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,3  `customer_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,4  `industry` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,56  `embedding` vector(1536, F32) NOT NULL,7)

私は SingleStore のワークスペースを毎日使っているわけではないため、コスト削減のために8時間後に自動サスペンドされており、最初は少し戸惑いました。 しかし驚くべきことに、Claude がその状況に気づき、ワークスペースを自動的に再開し、正しい組織 ID に接続してくれました。 これにより、いくつもの手順を省くことができ、インテリジェントな AI エージェントと組み合わせた MCP の可能性を強く実感する出来事となりました。

データの取り込みと埋め込み(Embedding)

次に私は、CSV を読み込み、OpenAI API に接続し、顧客コメントから埋め込み(エンベディング)を生成し、それらを SingleStore データベースに保存するインポートスクリプトを、大規模言語モデルに作成させました。 このスクリプトでは SingleStore の Python クライアントを使用し、 ベクトルフィールドと、業界・競合・売上レンジなどの従来型の構造化カラムの両方を含むテーブルに対して、行データを書き込んでいます。

こここそが、SingleStore のアプローチが真価を発揮するポイントです。 ベクトルフィールドは、構造化データと同じテーブル・同じデータベース内に存在します。 そのため、二重のシステム構成や外部ベクトルストアは不要です。 この統合された設計により、SQL による条件フィルタリングと、ベクトル類似度検索を並行して実行でき、 すべてを 同一の SingleStore 環境内で完結させることができます。

スクリプトが生成された後、MCP に接続されたワークスペース内からそれを実行しました。 想定どおり、最初の実行では いくつかの SQL エラーが発生しました。LLM が 一部カラムの最大文字長を過小評価していたためです。 しかし、短いテキスト指示を出すだけで、Claude は問題を特定し、テーブルをドロップして正しい定義で再作成し、その後データを再インポートしてくれました。 この一連の デバッグ作業は5分もかからず、すべて 自然言語でのやり取りだけで完結しました。

MCP を使って Python ノートブックを構築する

データの準備が整った後、MCP サーバーを使って Claude に、シンプルな対話型 Python ノートブックを生成させました。

「SingleStore のノートブックを作成し、このワークスペースにデプロイしてください。 customer_name、revenue_band、ok to mention、industry を構造化フィールドとして検索できるようにし、 さらにベクトルフィールドを検索するためのテキスト入力(ベクトル検索)も用意してください。 構造化フィールド用の値は事前に読み込む必要があります。 ユーザーが正しい項目を選択できるよう、ドロップダウン形式を使ってください。」

このような簡潔なプロンプトだけで、AI エージェントは指示どおりの ノートブック用インターフェースを作成しました。 MCP アーキテクチャは SingleStore プラットフォーム上の外部ツールにもアクセスできるため、 Model Context Protocol 連携を通じて、ノートブックを直接 SingleStore Helios に作成・デプロイすることができました。

notebook-uploaded.png

 

実行する前に、openai などのサードパーティライブラリ用に pip install コマンドを含める必要があることを、Claude に念押ししました。 そうしないとノートブックが正しく実行できないためです。 その点を修正した後、API シークレットの設定へと進みました。

SingleStore Cloud ポータル内で、Query Editor の「Secrets」タブからシークレットを作成しました。 そこで OpenAI API キーの名前と値を入力し、保存しました。

 

Python からは、シンプルなコードスニペットを使ってそのシークレットを取得しました:

1from singlestoredb.management import get_secret2secret = get_secret('OPEN_AI_KEY')

キーを安全に保存したことで、Python ノートブックは SingleStore と OpenAI の両方にシームレスに接続できるようになりました。 ユーザーのクエリ文字列を埋め込み(エンベディング)し、業界や売上レンジといった構造化フィルターと、ベクトル類似度スコアリングを組み合わせたハイブリッド検索を実行できるようになりました。

テキストボックスに 「speed up query time(クエリ時間が高速化された)」のような効果を入力すると、 ノートブックは SingleStore に保存された顧客コメントに対してベクトル類似度検索を実行します。 これにより、同じようなテーマに言及しているフィードバックを即座に抽出できるようになりました。

「faster query performance」で検索すると、 「Lightning-Fast Performance」、「Fast queries」、「Reduced query execution」 といったお客様の声に加え、完全一致する結果も返ってきました。

構造化された ドロップダウンは検索対象を素早く絞り込む手段を提供し、一方で ベクトル入力は、より自然言語に近い探索体験を実現しました。 このデモは、Model Context Protocol、MCP クライアント、LLM、そして Python ノートブックが連携することで、 実データを対象とした実用的かつ軽量なデータ探索アプリケーションを構築できることを示しています。

生成されたノートブックは GitHub 上でホスティングされています。

すぐに使える(ターンキー)AIアプリケーションのワークフロー

特に印象的だったのは、体験全体が非常に一体感のあるものだったことです。 SingleStore の MCP サーバー、Claude、そして Helios 環境を使い、静的な CSV から動作する Python ノートブックアプリまで、半日もかからずに構築できました。 Postgres も pgvector も不要で、無理に複数のデータベースを組み合わせる必要もありません。 データ取り込み、エンベディング、対話型クエリまで、すべてを単一のプラットフォームで完結できたのです。

Model Context Protocol は、単にモデルとデータを接続するだけの仕組みではありません。 AI エージェントを強化し、LLM をフルスタックの協働者として機能させることで、 SingleStore 内で動作する実用的なアプリケーションの土台を構築できるようにします。 これにより、迅速なプロトタイピングが現実的になります。 特に、規模が小さすぎる、実験的すぎる、あるいはエンジニアリング工数を割く価値がないと判断されがちで、 スプリントバックログの上位には決して上がらないようなアイデアに対して、その効果は絶大です。

この最初のバージョンでは、競合情報のスプレッドシートを検索可能なナレッジアプリに変換することに注力しましたが、 同じパターンは多くのワークフローを加速させることができます。 たとえば、顧客フィードバックツール、社内向けユーティリティ、軽量なレポーティングアプリ、さらには PoC 用のダッシュボードなどです。 この種のプロジェクトは、どのチームにも構築する時間がなく、ホワイトボード上で何カ月も眠り続けるのが通常でした。 しかし今では、1日でドラフトを作成し、テストし、改善を重ねることが可能になっています。

AIアシスタントとともに描くこれから

実際に SingleStore の MCP サポート、Claude、そして Model Context Protocolを使ってみて、 私たちは これから訪れる開発の姿を垣間見ることができました。 それは、プロトタイピングや実験がこれまでになく高速に行われ、 開発者が アプリケーションの土台作りではなく、アイデアの洗練により多くの時間を使える AI 支援型開発の世界です。

SingleStore を無料で試す


Share