MCP Calculator Server について
MCP Calculator Serverは、公式go-sdkで構築された数学計算用のMCP サーバーです。計算ツールや数学リソースを必要とするMCPクライアント向けに、数学のプロンプト、定数、乱数生成も提供します。
主な機能
- 01演算子の優先順位、括弧、科学表記に対応
- 02確率分布を使った乱数生成
- 03数学定数のリソース
- 04問題生成と解説のプロンプト
- 05引数補完とクライアントへのログ通知
活用シーン
- 01括弧を含む数式の計算
- 02範囲を指定した乱数の生成
- 03よく使う数学定数の参照
- 04数学問題の作成や計算手順の説明
MCP 対応
MCP サーバーとして、`calculate`と`random_number`のツール、数学定数とサーバー情報のリソース、数学問題と計算解説のプロンプトを公開します。stdioとstreamable-httpのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Calculator Server
堅牢な数学演算機能を提供する、Model Context Protocol(MCP)サーバーです。公式の go-sdk を使用して構築されています。
機能
ツール
- calculate:適切な演算子の優先順位、括弧への対応、科学表記法による数学演算
- random_number:さまざまな確率分布を使用して、指定された範囲内の乱数を生成します(分布が指定されていない場合は、エリシテーションを使用します)
どちらのツールも、ツールアノテーション(読み取り専用、閉世界のヒント)、タイトル、構造化出力スキーマを宣言します。
リソース
- math://constants:JSON 形式の数学定数(π、e、φ、√2、ln2、ln10)
- math://constants/{name}:リソーステンプレート — 名前で指定する単一の定数。例:
math://constants/pi - server://info:サーバー情報と機能の概要
プロンプト
- math_problem:難易度とトピックを設定できる数学の文章題を生成します
- explain_calculation:数学式を段階的に説明します
プロトコル機能
- 補完:プロンプト引数(
difficulty、topic)とリソーステンプレート内の定数名の引数補完 - エリシテーション:
random_numberは、分布が指定されていない場合に、使用する分布をクライアントに尋ねます - ログ記録:ツールのアクティビティは、stderr に加えて MCP のログメッセージとしてクライアントに転送されます
- アイコンとメタデータ:サーバーとツールのアイコン、タイトル、ウェブサイト URL、指示
トランスポートモード
- stdio:ローカルクライアント(Cursor、Claude Desktop、MCP Inspector)向けです。特別な理由がなければ、こちらを使用してください。
- streamable-http:信頼できるネットワークでのみ使用してください。すべてのインターフェースにバインドされ、認証も Origin チェックもありません。認証(および Origin)を強制するリバースプロキシの背後に配置するか、外部に公開しないでください。
デフォルト:
- トランスポート:
TRANSPORTが未設定の場合はstreamable-http(デモに便利ですが、本番環境向けのデフォルトではありません) - ポート:
8080(PORT)
使い捨てのデモ以外で使用する場合は、TRANSPORT=stdio を実行するか、HTTP の前段で TLS と認証を終端してください。
インストール
Linux、macOS、Windows(amd64/arm64)向けのビルド済みバイナリは、各 GitHub リリース に添付されています。
または、Go を使用してインストールします。
go install github.com/yinebebt/mcp-calculator-server@latest
使用方法
# Run with stdio
TRANSPORT=stdio mcp-calculator-server
# Run with HTTP (serves MCP at :8080/mcp, health check at /health)
mcp-calculator-server
# Test
go test ./...
MCP クライアントの設定
MCP Client でテストする場合:
{
"command": "/path/to/mcp-calculator-server",
"env": {
"TRANSPORT": "stdio"
}
}
数学機能
- 演算子の優先順位:
2+3*4 = 14 - 括弧:
(2+3)*4 = 20 - 科学表記法:
1e2 = 100 - エラー検出:ゼロ除算、無効な構文、対応しない括弧、有限でない結果(NaN/Inf)
リリース
リリースは、GitHub Actions を介して GoReleaser でビルドされます。vX.Y.Z タグをプッシュすると、linux/darwin/windows × amd64/arm64 向けにクロスコンパイルされ、アーカイブとチェックサムが GitHub リリースに添付されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。