Exevalator の Ver.2.4 をリリース — MCPをサポートし、AI用の計算ツールとしても使用可能に

オープンソースの式計算ライブラリ「 Exevalator(エグゼバレータ)」の最新版、Ver.2.4.0 をリリースしました!

Exevalator は、つい先日も Ver.2.3 へのメジャーアップデートを行ったばかりで、その際は Python で使用可能になりました:

今回の Ver.2.4 では、上記で追加された Python 移植版をベースに、新たに「MCP」というプロトコルをサポートする事で、AI用の計算ツールとしても活用できるようになりました!

今回はその詳細や、実際の使用例をご紹介します。

- 目次 -

Exevalator とは?

本来の Exevalator は、プログラム内に組み込んで、「文字列として与えられた計算式」の値を計算する機能を担うライブラリです。例えば、以下のような式の値を求められます:

(1 + 2) * 3
sqrt( sin(1.2) / (cos(3.4) + 1) )

こういった式が、プログラムの実行中に、ユーザー入力などによって(動的に)与えられる場合、それを計算するのは意外と難しい処理が必要です。

そこで Exevalator は、多種多様なプログラミング言語向けに、そういった処理をライブラリとして提供する事で、手軽に行えるようにしたものです。 現時点で Java, Rust, C++, C#, VB.NET, TypeScript, Python の7言語で利用可能で、今後もサポート言語が増えていく予定です。

そして今回は言語ではなく、AIとやり取りするためのプロトコルである「MCP」 を新たにサポートしました。

MCP (Model Context Protocol: モデル・コンテキスト・プロトコル) とは?

MCP は最近登場した新種のプロトコルなので、まだご存じでない方も多いと思います。

というか、そもそも一般には「プロトコルって何?」っていう感じかもしれませんね。そのあたりから少し補足しておきましょう。

そもそもプロトコルとは

プロトコルとは、ざっくり言うと、何らかのシステム同士が「やり取り」するための、あらかじめ決められた枠組み(ルールや前提など)の事です。

例えば一般論として、システム同士が情報をやり取りしたり、互いを制御したりする場合を考えると、以下のような事が言えますよね:

このような諸々の枠組みを取り決めたものを、プロトコルと呼びます。それに従って、システム同士はやり取りして、通信や連携などをしているわけです。

代表的な例としては、Webで情報を「送信する側」と「受信する側」がやり取りするためのプロトコルの一種である「TCP」や、その上に乗っかるプロトコルの「HTTP」などが非常に有名ですね。

いまこのページを読んでいる皆さんのPCやスマホにも、RINEARNのサイトを配信しているWebサーバーから、HTTP や TCP のルールに則ってページ内容の情報が送られています。

そういった共通化された枠組み(プロトコル)があるからこそ、皆さんのPCやスマホで、様々なWebサーバーとやり取りし、世界中のWebサイトを見れるわけです。

MCPは、AIを備えたシステムが、外部のツールや情報等とやり取りするためのプロトコル

さて、ここからが本題です。

ここ数年でAIがめちゃくちゃ進化して、最近はついにAI自身がツール等を使い、自律的に作業をこなしてくれる ようになりつつありますよね。 いわゆる「AIエージェント」とか呼ばれているシステムです。

ラフに図にすると、以下みたいな雰囲気のシステムですね:

なんかSFみたいな世界観ですが、こういうシステムが最近一気に実用水準に入りつつあり、あちこちで流行し始めてます。いやAIの進化の波は本当に速いですね…

で、こういう場面では、「AIエージェント的なシステム」と、「AI用のツール」(とか情報提供システムとか色々)がやり取りをするわけです:

そう、ここで「やり取り」が発生するわけです。そういった「やり取り」を、AIにとって効率的かつ確実に行えるようにするためには、やはり共通化されたプロトコル的なものが欲しいところですよね。

その有力な選択肢の一つが、MCP (Model Contexit Protocol: モデル・コンテキスト・プロトコル) です。米国の Anthropic というAI企業が2024年に提唱したもので、登場したてホヤホヤのプロトコルですね。

なお、この種のプロトコルは他にも出てきているんですが(OpenAI の Function Calling 等)、今の所は MCP が、スタートダッシュでだいぶ優位に立った印象です。 このままデファクトを握るかどうかまでは不透明ですが、各種のAIシステムが続々とMCPをサポートし始めたり、サポート予定を発表したりしている状況です(2025年11月現在)。

MCPのサポートにより、Exevalator を AI 用の計算ツールとして利用可能に!

Exevalator が MCP をサポート

さて、やや前置きの説明が長くなってしまいましたが、今回から Exevalator も、MCP による制御をサポートしました。

これにより、まさに先程の図の通り、Exevalator を AI 用の計算ツールとしても使えるようになります:

どういう状況で有用なの?

といっても、

今時のAIは普通に Python とかでスクリプトを書いて計算できるのでは?

という疑問も沸きますよね。

これは実際そうで、「AI に任意のスクリプトの実行を許せるような状況」であれば、わざわざ Exevalator を使う必要は全くないと言えます。

それじゃあ一体どういう場面で役立つの? というと、そう、逆に

AI に任意のスクリプトの実行権限を与えたくない状況

です。

「任意のスクリプトの実行」って、AIがその気になれば何でもできてしまうので、例えば以下のようなケースなど、そういう権限を与えたくない or 与えられない場合が普通にあり得ます:

で、そういう場合に、

でも、式の計算や、値のメモ(変数の読み書き)程度の事は行いたい

みたいなケースはあり得ます。そういった場合に Exevalator が有効です。

Exevalator だと、以下のような特徴があるので、安全に計算を行えます:

なので、仮に機密情報を読んだりシステムを壊そうと思っても、そもそもできないので安心、というわけです。

留意点

ただし、

という点には留意が必要です。従って、「flaot 以外の型の値やインスタンスを作って、それを引数として特定関数を呼び出す」みたいな事はできません。あくまでも数値の計算用です。

使ってみよう!

それでは最後に、実際に Exevalator をAIエージェントに接続して使ってみましょう!

サンプル環境と Exevalator の導入手順など

ここからのサンプル実行例は、以下の環境を用いています:

※ OpenAI に対して有料のAPI契約が必要ですが、GPT-5 nano は利用料がかなり安く、百万トークンあたり入力 0.05 ドル、出力 0.4 ドルとかです。 なので、「 とりあえずMCPツールを呼べているかどうかだけ確かめたい 」といった場面では安心です。が、性能も低いので、用途によってはより賢い(高コストな)モデルの選択が適切です。

上記の環境における、Exevalator の導入・接続方法については、公式 README で解説していますので、そちらをご参照ください。

数学関数を使った計算をやってみる

まずは、適当な数学関数を使った式を計算してみてもらいましょう:

きちんと理論上正しい値を算出できていますね。

なお、 Exevalator のMCP版は、何の関数も登録されていない「 exevalator_mcp.py 」と、数学関数があらかじめ登録された「 exevalator_mcp_math_preset.py 」の2通りが存在します。 ここでは後者を接続して用いています。

どちらも、中身を編集して、使える関数を増やす事ができます。もちろん独自関数を作る事も可能です。

変数を使った手続き計算をやってみる

続いて、変数を宣言・読み書きして、ちょっとした手続き計算のようなものをやってもらいましょう:

こんな感じで、値をメモって後で使う、みたいな事ができます。

※ モデルが GPT-5 nano だと、最終回答としては合っているものの、途中の手順がやや混乱したり、計算結果を変数に格納するのをサボってしまったり、といった問題がしばしば見られました。これくらいの課題になると、GPT-5 mini かそれ以上のモデルの方が適していそうです。mini ではサボらずきちんと動いていました。

ちなみに上記を試してて思ったんですが、なんか「ザ・自然言語プログラミング」って感じですよね。こういう方向の、プログラミング入門用の言語処理系を作ってみるのも面白いかな?とか思いました。完全に余談ですが。

さてさて、今回のお知らせは以上です。今回のアプデの実装は、個人的にかなりワクワクしました。どんどんSF的な未来が近づいていますよね!

Exevalator は今後も対応言語を増やしていく予定で、恐らく次のメジャーアプデの Ver.2.5 では、 Go を新規サポートしようかなと思っています。が、正式には一応まだ未定です。

Exevalator に関する情報は、今後もこのコーナーにてお知らせしていきます。お楽しみに!

参考文献, 謝辞


なお、今回の機能実装は、以下の書籍でMCPを学ぶ所からスタートしましたが、かなり実践的な良書で、この場をお借りして厚く御礼申し上げます:

既に Python で何らかのコマンドラインツールやライブラリ等を書かれている方なら、上記書籍などで学んでちょっと手を動かすだけで、すぐにAI用ツールに昇格させる事ができるのでは? と感じました。今後、色々なツールやライブラリがAI対応していくと面白そうですよね。一緒にAI時代の波を盛り上げましょう!