MCP Expr-Lang について
MCP Expr-Lang は Claude Desktop と expr-lang の評価エンジンを接続します。式を使い、計算や数値、文字列、配列、オブジェクトの変換を行えます。
主な機能
- 01算術式と論理式の評価
- 02文字列の操作
- 03配列のマッピング、フィルタリング、集約、ソート
- 04オブジェクトプロパティの参照と変換
- 05条件式と組み込み関数の利用
活用シーン
- 01Claude との会話中に値を計算
- 02構造化データの絞り込みや並べ替え
- 03文字列やオブジェクトプロパティの変換
MCP 対応
MCP 経由で `eval` ツールを提供し、Claude Desktop から expr-lang の式を実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Expr-Lang
Model Context Protocol(MCP)を使用して Claude Desktop で利用できる、強力な式評価ツールです。
概要
MCP Expr-Lang は、Claude AI と強力な expr-lang 式評価エンジンをシームレスに統合します。このツールを使うと、Claude との会話の中で、複雑なデータ操作、計算、変換を直接実行できます。
MCP Expr-Lang では、次のことができます。
- 数式を評価する
- 配列やオブジェクトを変換・フィルタリングする
- 複雑なデータ構造を並べ替える
- 文字列を操作する
- 条件分岐を使用する
- さらに多くのことを実行する
インストール
Smithery 経由でインストールする
Smithery 経由で、Claude Desktop 用の MCP Expr-Lang を自動的にインストールするには、次の手順を実行します。
npx -y @smithery/cli install @ivan-saorin/mcp-expr-lang --client claude
前提条件
- Go 1.18 以降
- Claude Desktop アプリケーション
- Git
ステップ 1:リポジトリをクローンする
git clone https://github.com/ivan-saorin/mcp-expr-lang.git
cd mcp-expr-lang
ステップ 2:依存関係をインストールする
go mod download
ステップ 3:アプリケーションをビルドする
Windows の場合
go build -o bin/server.exe
macOS/Linux の場合
go build -o bin/server
chmod +x bin/server
ステップ 4:Claude Desktop を設定する
- Claude Desktop を開きます
- 設定に移動します
- 「Advanced」セクションに移動します
- 次の設定を
config.jsonに追加します。
Windows の場合
{
"mcpServers": {
"eval": {
"command": "C:\\path\\to\\mcp-expr-lang\\bin\\server.exe"
}
}
}
macOS/Linux の場合
{
"mcpServers": {
"eval": {
"command": "/path/to/mcp-expr-lang/bin/server"
}
}
}
- 設定を保存し、Claude Desktop を再起動します
使用方法
インストールが完了したら、Claude との会話で eval ツールを直接使用できます。ツールを使って式を評価するよう Claude に依頼するだけです。
基本的な例
User: Use eval to calculate "10 + 5 * 3"
Claude: [Uses eval tool]
Result: 10 + 5 * 3 = 25
複雑な例
User: We have users = [{"Name": "John", "Age": 30},{"Name": "Ivan", "Age": 51},{"Name": "Eve", "Age": 15}]
Use eval to calculate "sortBy(users, .Age, "desc")"
Claude: [Uses eval tool]
Result: The expression returns the users sorted by age in descending order:
[
{"Age": 51, "Name": "Ivan"},
{"Age": 30, "Name": "John"},
{"Age": 15, "Name": "Eve"}
]
その他の例については、EXAMPLES をご覧ください。
機能
MCP Expr-Lang は expr-lang エンジンのすべての機能をサポートしており、次の機能が含まれます。
- 算術演算:加算、減算、乗算、除算、剰余、べき乗
- 文字列操作:連結、長さ、大文字・小文字の変換
- ブール演算:AND、OR、NOT、比較演算子
- 配列操作:マッピング、フィルタリング、集約、並べ替え
- オブジェクト操作:プロパティへのアクセス、変換
- 条件分岐:三項演算子、if-else 式
- 組み込み関数:数学、文字列、配列、日付の関数
式言語の構文と機能の全容については、expr-lang のドキュメントをご覧ください。
トラブルシューティング
よくある問題
-
Claude にツールが表示されない:
config.jsonのパスが正しいこと、および Claude Desktop が再起動されていることを確認してください。 -
実行エラー:expr-lang のドキュメントに従って、式の構文が正しいことを確認してください。
-
権限の問題(macOS/Linux):サーバーのバイナリに実行権限があることを確認してください(
chmod +x bin/server)。
ヘルプを得る
問題が発生した場合や質問がある場合は、次の手順を実行してください。
- GitHub の Issues セクションを確認します
- 問題がまだ報告されていない場合は、新しい issue を作成します
コントリビューション
コントリビューションを歓迎します。MCP Expr-Lang の改善にご協力いただける場合は、次の手順を実行してください。
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
- 強力な式評価エンジンを提供する expr-lang
- Model Context Protocol の実装を提供する mcp-golang
- AI アシスタントプラットフォームを提供する Claude AI
Ivan Saorin が ❤️ を込めて作成
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。