見出し画像

158. MCP × Digital Twins × IoT

前回の記事                        次回の記事

はじめに

最近、とても気になっているキーワードがあります。それが、”MCP Server”。生成系AI をシステムに組み込むうえでとても重要な役割を果たすようです。
特に、Microsoft Learn への MCP Server 機能が追加されたという記事を見て、なおさらその重要性への認識が高まったような感じです。
ということで、今回は、生成系AI 活用システムを組むうえで、とても重要だと思われる MCP Server を Digital Twins、IoT と掛け合わせたらどんな未来が生まれるかについて考察することにします。

Microsoft Learn

その前にまず、Microsoft Learn について書いておくことにします。
Microsoft Learn は、Microsoft の技術を使って日々開発作業を行っている開発者なら熟知しているものと思いますが、Microsoft が提供する、サービス、技術、製品に関する、ありとあらゆる詳細な技術情報が公開されたサイトです。歴史的には、2010年代中盤までは、開発者向け情報は、MSDN Blog、ITインフラ系技術者向けには、TechNet というサイトが、各種技術情報を提供していました。私も含め、エバンジェリストもそれぞれ Blog を持っていて、超マニアックで詳細な技術情報が公開されていたものでした。その後、Microsoft Learn というサイトで技術情報は集約され、過去公開されていたBlog 記事などは消滅し、今に至っています。
およそ、Microsoft が提供している技術に関する情報で、記載はないものはない、というぐらい詳細で細かく技術情報が載っているのが、Microsoft Learn です。大本は英語の記事で、大抵の記事が日本語訳されて公開されています。今は未確認なので明確には言えませんが、日本市場が興味を示さないような記事の一部は日本語化されていないということも過去ありました。また、日本語化されていても、日本市場で需要が少ないと判断された技術分野については、日本語化されていても自動翻訳によるもので、読んでいると車酔いするような記事もありました。今は自動翻訳の技術が進歩しているので、そんなことはないかもしれないですね(苦笑)。最新IT技術は栄枯盛衰が激しいので、変化に応じて Microsoft Learn の内容も更新が加えられていきます。日本語訳の記事と大本の記事にタイムラグが生じたり、ニュアンスがちゃんと訳されていなかったりもするので、なるべくなら英語版の記事を読みこなすことをお勧めします。
記事は人間が書くので、間違いの内容も多々あります。この定期購読マガジンでも、IoT Edge の設定等の解説の回で、そんな間違いの発見・指摘を披露しましたが、間違いを連絡することもできますし、何なら記事のコントリビューターになることも可能です。
多分、質量ともに、これだけ詳しく豊富に記事を公開しているのは、Microsoft のほかにないだろうという感じ。お試しフェーズの記事が多数あって、詳細の技術情報がなく、そこは、導入したい企業に専任担当がついて、囲い込む的な戦略をとっているどこぞの企業もありますが、一線を画している感じです。
ただ、それぞれの技術領域ごと、それぞれに関する詳細な情報が書いてあるのはよろしいのですが、じゃあ具体的にどんなビジネス領域で、どんなふうに組み込んで使えばよいのかなどシステム全体との位置づけが判らない、とか、情報が多すぎて、知りたい情報が記載されたページにたどり着けない、なんて問題があるのも事実です。私自身、遠い目でページを追っていったら、「あ!こんなところにこんな情報が!」という事態は、日常茶飯事だったりします。システム全体との位置づけとか、どんなビジネス領域で、といった事項に関しては、Microsoft Architecture Center という分野で公開されています。(あ、これも Microsoft Learn の一分野になっているのね今w)ただし、こちらは Architecture を扱うので、ちょっと抽象的な解説にならざるを得ないので、ちゃんと IT Technology の基礎知識を持っていない人には難しいかもしれませんね。

全体との位置づけもそうだし、技術情報がうまく見つけられないというのも、生成系AI をうまく活用すれば、ある程度は解決できると考えるのは、今どきの自然な発想でしょう。

それを支援するのが、Microsoft Learn の MCP Server 対応というわけですね。既に、Visual Studio + Github Copilot が広まっていて、Copilot の支援に Microsoft Learn の技術情報を組み込めるということになって、まさに、鬼に金棒状態、ですね。

MCP Server

MCP Server とは何ぞやを、手っ取り早く Copilot に聞いてみると、

MCP Server(Model Context Protocol Server)とは、AIが外部のツールやデータに安全かつ柔軟にアクセスするための「接続ハブ」のような存在です。AIに“手足”を与える技術基盤として、2024年以降急速に普及しています。

”MCP Server って何?”に対する回答

MCPは、“Model Context Protocol” の略で、ChatGPT や Claude に問いを発したときに、MCP Server を実装した様々なサービスから情報を収集したり、指示を出せるための仕組みということ。
これがあることにより、

  • 開発支援:CursorやClineなどのIDEで、AIがコードを実行・編集・補完。

  • 業務自動化:SlackやGmail、Notionなどの操作をAIが代行。

  • 情報検索:AIがリアルタイムで天気やニュースを取得(従来は不可能だった)。

  • 企業システム連携:社内データベースやファイルサーバとAIを接続し、業務支援に活用。

Slack、Gmail だけでなく、Microsoft 365 にも対応した MCP Server も既にあるようですね。Microsoft 365 の場合、Graph API で業務に関わる文書、メール、会議、その他諸々のおよそ Microsoft 365 に対するビジネス情報の入出力したものが、MCP Server を介して、AI エージェントからアクセス可能ってこと。SharePoint にもアクセスできるので、ワークロードのワークフローにもアクセスできると思われます。

ネットワークを介してアクセス・使用できるサービスは山ほどあります。サービスは、それぞれが公開している、それぞれ独自の API を介して利用するようになっています。これらを AIエージェントのワークフローに組み入れたい場合、旧来は、それぞれの API に合わせたコーディングをしなければならなかったのが、サービス側が MCP Server を実装すれば、AI エージェントは個々の API の形式の考慮が必要ないので、それらの形式を気にせず、本来やりたいことだけを記述すればよいことになります。
便利ですねー。

今、しれっと、“API=内容×形式” ということを前提に説明しましたが、今読んでいるあなた、そういう実感、持ってますか?

著者の心のつぶやき

MCP を開発・普及させた企業は、米国の Anthropic という会社だそうで、先程出てきた、“Claude”シリーズを販売しているとのこと。MCP Server を公開したのが、2024年11月。。。たった一年前ですかぁ。。。最近のスピードと言ったらもぅ。。。

ちなみに、MCPの普及と連携企業は

  • OpenAI:自社の Agents SDK に MCP対応を表明

  • Microsoft:Playwright MCP や Fabric MCP Server を公開

  • Google DeepMind:Geminiエージェントとの連携を進行中

  • 日本企業

    • 株式会社homula:MCP導入戦略コンサルティングとカスタムMCPサーバー開発を提供

    • dotConf、Relipasoftなど:MCP対応ツールの開発・教育支援を展開

だそうですよ。

MCP の仕様は、
What is the Model Context Protocol (MCP)? - Model Context Protocol
で公開されています。このページの図を拝借しておきます。

https://mintcdn.com/mcp/bEUxYpZqie0DsluH/images/mcp-simple-diagram.png

MCP Server を立ち上げるには、そのサーバーが提供するフィーチャーを記述する必要があって、

  • Tools

  • Resources

  • Prompts

の3種類の Core Blocks を定義するとのこと。詳細は後日にするとして、ざっと見た感じ、これらは、これまでこの定期購読マガジンで取り上げてきた概念モデル×変換による実装で、妥当なものを作れそうに見える…というか、多分、確実にそれが可能だろうね。もっと踏み込むと、概念モデリング、あるいは、それに近いスキルがない人・組織が MCP Server を適当に作っても、なんちゃって MCP Server が出来上がるのではないかと想像される。この手のものは当然、とっても限定的なユースケースでしか使えず、そんな実装が増えていくと、MCP Server というコンセプト自体が酸っぱいブドウ状態(ん?微妙に違う気もするが、まぁいいか)になってしまうのが困りもの。

MCP Server × Digital Twins × IoT

さて、本題。
MCP Server と Digital Twins、IoT を組み合わせるとどうなるか。
巷で騒がしい DX(Digital Transformation)、この定期購読マガジンの過去の記事で、DX を実現するには、Digital Twins が必須だよと。なぜなら、Digital Transformation するには、デジタル化された対象が必要で、その対象は日々のビジネスを構成する様々な事柄のはず。それらをシステム上でデジタル化することは、現実世界のビジネスに関する意味の場の事柄の写しをデジタル空間上に作ること=Digital Twins だから、ということでした。この写しは、概念モデリングの用語を使えば、ある意味の場についての意味の構造を記述した圏Cのモデルをスキーマとした、圏I のモデルだよということ。圏Iの形だけ見ればグラフ構造をしているので、Microsoft 365 の Graph API が対象としているグラフと形式は一緒。ビジネスは様々な意味の場で記述されるので、それぞれの意味の場ごとのスキーマに対するグラフモデルということになる。そんな観点からすると、MCP Server を構成するには、暗黙的に、Digital Twins 的な作法というか技法というかが必須だろうということ。

そこに、IoT が加わるとどうなるか。IoT は現実世界の窓口たる機器と IT システムを接続するテクノロジーであり、

ここから先は

744字
説明では、Microsoft Azure 中心‼…になっていますが、最近は、Azure に限らず、IoT・Digital Twins、加えて、AI、DX 等のシステム構築に関するもっと本質的な話題を書いています。なんちゃってから卒業したい技術者の皆さんぜひ、ご購読くださいませー

IoT・Digital Twins を極めよう!

¥200 / 月 初月無料

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらチップで応援してみませんか?