👨‍🔧 人間をMCPツールとして利用する

Human as a Tools

先週、会社でエンジニアのLT会があったので、LT会向きのネタを思いついたので実装してみた。

👇 みたいな感じで、LLMから人間がMCP経由で呼び出されて利用される。

LLMが人間の目と舌を使う様子

何の説明もしないで、突然このチャットを始めて人間をMCPツールとして利用している様子を見せたので、不気味がってもらえた。

種明かし

MCPサーバーは単純に human_* という名前のツールを提供して、そのツールに依頼されたことをローカルのSQLiteに “タスク” として書き込む。同じSQLiteを参照するWebアプリケーションには書き込まれた “タスク” が並んでおり、そのタスクに対して実際の人間が応答するとMCPサーバーは回答を待ち受けており、最終的にMCPクライアントに実際の人間の応答が返されるという仕組み。

human-mcp 全体像

自分がLTをして、デモをしている時は会場にいた1人に協力してもらって、私がデモをしている最中にWebアプリケーションで一生懸命入力してもらっていた(上の画像で言うHuman Bの役割)。

両方横並びにするとこんな感じ。

人間がツールと化している様子

思いついてから、RooCodeを使って30分くらいで作成できたのでいい時代ですね。StreamlitでWebインターフェースを一瞬で作成できるのもありがたい。