こんにちは、横井です。
先日の投稿で「エージェンティックな機能より、エージェントフレンドリーな機能」という話しを書きましたが、Saasプロバイダーは具体的な動きが出ています。
https://corp.freee.co.jp/news/20260302freee_mcp.html
■MCPサーバー「freee-mcp」について
MCP(Model Context Protocol)は、AIアシスタントと外部ツールを接続するためのオープンプロトコルです。「freee-mcp」は、freeeが2018年から提供してきたPublic APIをベースに、会計・人事労務・請求書・工数管理・販売など約270本のAPIを網羅的にMCPツール化し、幅広いfreeeプロダクトに対応します。また、MCPツールに加えて、freee APIをMCP経由でより効果的に操作するためのAgent Skillsも含まれており、AIエージェントが業務文脈を理解した上で正確に操作を実行できます。
https://help.salesforce.com/s/articleView?id=platform.hosted_mcp_servers.htm&type=5
MCP サーバーは、AI アシスタントがデータソースに接続するための標準手段を提供することで、CRM データへのアクセス性とアクション性を高めます。Salesforce Hosted MCP Server を使用すると、組織は AI アシスタントが使用できるツールとして特定の Salesforce API とデータを公開できます。
現時点でシェアを獲得しているSaasは、いくらAIエージェントのコーディング能力が高くなったとしても、その機能の豊富さと複雑さ、なにより可用性やインフラのスケール、運用対応を考えれば、そう簡単にひっくり返るものではありません。
前置きが長くなりましたが、エージェントフレンドリーな機能とはどういうものでしょうか?
平たく言うと、エージェントが使いやすい手段(プロトコル)が提供されている。という事になります。
システムの操作はUI、ユーザーインターフェースを介して行いますが、その名の通りユーザー(人)が操作する為に考えられたインターフェースです。
最近はエージェントの機能として色々なツールを使えるようになったので、UIを操作することが出来ます。いわゆるRPAのようにブラウザ上の画面を人に変わって入力する、表示されたデータを認識する。と言った事も可能です。ただ、それは「できる」というだけで、それがエージェント(AI)にとって操作しやすいか?と言うと別な話になります。で、システムが提供するエージェントが操作可能なインターフェースは何か?というと、具体的には「Web API」「MCP」「CLI」があります。
現状、本命としてはMCP(Model Context Protocol)があげられます。元々はAnthropic社が考えたエージェントが他のサービスへアクセスするための共通プロトコルですが、他のエージェントも対応してきたため、現在ではディファクトになってきています。
MCPで当初問題視されたのはMCPを使用する設定をするとエージェント起動時から内容が読み込まれ、MCPを使用していない間もコンテキストを圧迫するという事態が発生しました。現在ではアドホックに読み込みがされるようになり、この問題も解消しています。
この状況を見るとやはり本命はMCPだと思われるかもしれませんが、私は少し違う意見です。
私の推しはCLI(Command line interface)です。CLIとはコマンドプロンプトやシェルで実行可能なコマンド(プログラム)の事です。
なぜそんなに推すのかというと、これも実体験になりますが、大量のレガシーコードをエージェント使って解析していて気が付いた事がありました。この時はClaude code(以下CC)だったのですが、CCはbashを駆使します。正確にはbash上でLinuxのコマンド(grep, cat, wc, less, などなど)を駆使してリポジトリ上のコードを解析します。他のエージェントだとRAGやインデックスを構築して使いますが、CCの場合はそういったDB化をせずに直接コマンドを組み合わせて情報抽出をする特性があります。
そして繰り返し繰り返し解析を続けていると、定型的な処理が見えてくるので、今度はCCはPythonでコードを書き始めます。いわゆるバッチ処理化です。バッチ処理化するメリットとしては
(1) 同じ処理を繰り返し実行できる
(2) 同じ処理を繰り返し実行しても同じ結果となる
(3) バッチ処理の実行にはLLMを使用しない
といった点があります。
(1)は一般的にもバッチ処理の特徴ですが、(2)と(3)が生成AIならではの点です。
まず(2)の「同じ処理を繰り返し実行しても同じ結果となる」ですが、一見当たり前の事に思われるかもしれませんが、生成AIは確率論的な推論でアウトプットを生成します。同一のインプット、同一の実行条件でもアウトプットに揺らぎが出ます。繰り返し大量に実行した場合は当然揺らいだ結果が多くなってしまいます。これがバッチ処理であれば何回実行しても同じ結果となるのはプログラムという仕組み上、当然の結果です。
また、(3)に関しては、バッチ処理の実行自体にはLLMが使われますが、それ以降バッチ処理が完了するまではそのプログラムが実行されLLMは全く使われません。当然、LLMに対するトークンも消費されませんから課金もありません。スピードもLLMとのやり取りから比べたら爆速です。
業務システムのコーディングやレガシーマイグレーションでの大量のソースコード解析やドキュメントの出力など、ロングランを必要とする処理では地味に重要なポイントだったりします。
この2つの事から、私はCLIを好んで使っていますし、MCPが提供されているサービスはそれをラップする形でCLIを自分で作成し、利用していたりします。
皆さんも是非、MCPとCLIを使い比べてその善し悪しを実感してみてください。
では。






