mcpField
C
calc-mcp

calc-mcp

ローカル
github.com/coo-quack開発ツール9今日更新

calc-mcp について

calc-mcpは、計算、日付、エンコード、ハッシュなどの決定的な処理を提供するMCPサーバーです。処理データを外部サービスに送らずローカルで計算したいMCPクライアント利用者向けです。

主な機能

  1. 01数式と統計の計算
  2. 02日付とタイムゾーンの処理
  3. 03暗号学的乱数の生成
  4. 04データのエンコード・デコード・ハッシュ
  5. 05単位と基数の変換
  6. 06一般的な形式の解析と検証

活用シーン

  1. 01LLMの推測に頼らず数式を計算
  2. 02時刻変換と日付間隔の算出
  3. 03UUIDやパスワードの生成
  4. 04テキストのエンコードやハッシュ計算

MCP 対応

stdio経由で、数学、乱数生成、日付処理、エンコード、ハッシュ、変換、解析、検証を扱う21種類のツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"coo-quack-calc": {
"command": "npx",
"args": [
"-y",
"@coo-quack/calc-mcp"
]
}
}
}
起動コマンドnpx -y @coo-quack/calc-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@coo-quack/calc-mcp2.1.5

ツール

21

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
maxnumberいいえ数値生成の最大値(デフォルト:100)
minnumberいいえ数値生成の最小値(デフォルト:0)
typeenumはい生成するランダム値の種類:uuid、ulid、password、number、または shuffleuuid | ulid | password | number | shuffle
itemsarrayいいえシャッフルする項目(type=shuffle の場合)
lengthintegerいいえパスワードの生成文字数(デフォルト:16)
charsetstringいいえパスワードのカスタム文字セット(大文字/数字/記号のオプションを上書き)
numbersbooleanいいえパスワードに数字を含める(デフォルト:true)
symbolsbooleanいいえパスワードに記号を含める(デフォルト:true)
readablebooleanいいえ読みやすいモード:紛らわしい文字(l/1/I/O/0/o)を除外して読みやすくします
uppercasebooleanいいえパスワードに大文字を含める(デフォルト:true)
uuidVersionenumいいえUUID のバージョン:v4(ランダム、デフォルト)または v7(時系列順)v4 | v7
excludeCharsstringいいえパスワードから除外する文字(例:"\\|{}")

詳細

Calc MCP

npm version CI License: MIT

Calc MCP demo

📖 ドキュメント — ツールのリファレンス、例、インストールガイドを網羅しています。

AI が苦手なことのための 21 個のツール — 決定論的な数学、暗号学的に安全な乱数、正確な日付計算、エンコード、ハッシュなどに対応します。

LLM は計算を幻覚し、真の乱数を生成できず、タイムゾーンの扱いにも苦労します。この MCP サーバーがそれらの問題を解決します。

クイックスタート
# Claude Code
claude mcp add -s user calc-mcp -- npx -y @coo-quack/[email protected]

# Or just run it
npx -y @coo-quack/[email protected]

Claude Desktop、VS Code Copilot、Cursor、Windsurf、その他すべての MCP クライアントで動作します — セットアップガイドはこちら。


なぜ?

AI のみcalc-mcp を使用した場合
「10 + 34 × 341 ÷ 23 = 507.8」❌514.087 ✅(数学)
「UUID はこれです:550e8400-...」🤷 偽の値暗号学的に安全なランダム UUID v4/v7 ✅(乱数)
「今から 100 日後は...」🤔 推測2026-05-22 ✅(日付)
「password123 の SHA-256 は...」💀 幻覚{"hash": "ef92b778bafe..."} ✅(ハッシュ)
  • 決定論的 — 毎回、同じ入力には同じ正しい出力を返します
  • 安全 — サンドボックス化された数学、ReDoS 対策、脆弱なハッシュの警告
  • プライベート — すべての計算はローカルで実行され、外部サービスにデータは送信されません
  • サーバー設定不要 — npx で一度インストールすれば完了。MCP クライアントのセットアップは必要です
  • API キー不要 — calc-mcp 自体にアカウントや API キーは必要ありません。Node.js が必要です

使用例

自然言語で質問すると、AI アシスタントが適切なツールを選択します。

数学と数値
質問結果ツール
10 + 34 × 341 ÷ 23 はいくつですか?514.087math
255 を 2 進数に変換してください11111111base
4539578763621486 は有効なカード番号ですか?trueluhn
テキストとエンコード
質問結果ツール
「Hello, World! 🌍」は何文字ですか?15 chars, 18 bytescount
「Hello World」を Base64 でエンコードSGVsbG8gV29ybGQ=base64
「eyJhbGciOiJIUzI1NiJ9」を Base64 でデコード{"alg":"HS256"}base64
「hello world」を URL エンコードhello%20worldencode
「hello%20world」を URL デコードhello worldencode
&lt;script&gt; を HTML デコード<script>encode
「password123」の SHA-256 ハッシュ{"hash": "ef92b778bafe..."}hash
キー「secret」を使用した「message」の HMAC-SHA256{"hash": "8b5f48702995..."}hash
日付と時刻
質問結果ツール
ニューヨークの現在時刻は?2026-02-10T19:00:00-05:00datetime
2026-02-11 の 100 日後は?2026-05-22date
「30 9 * * 1-5」はいつ実行されますか?Mon–Fri at 9:30cron_parse
生成
質問結果ツール
UUID v7を生成019c4b54-aad2-7e52-...random
読みやすい20文字のパスワードを生成hT9jZDojX6sHRJt8vaKSrandom
["Alice", "Bob", "Charlie"]をシャッフル["Charlie", "Alice", "Bob"]random
変換
質問結果ツール
100マイルは何キロメートル?160.93 kmconvert
72°Fは何℃?22.22°Cconvert
#FF5733をRGBに変換rgb(255, 87, 51)color
rgba(255, 0, 0, 0.5)を8桁のHEXに変換#ff000080color
分析と解析
質問結果ツール
"abc123def456"から数値を抽出123, 456regex
1.5.3は^1.0.0を満たしますか?truesemver
1.8.0は">=1.5.0 <2.0.0"を満たしますか?truesemver
192.168.1.0/24のIP範囲は?192.168.1.1 – .254 (254 hosts)ip
編集距離:"kitten" → "sitting"3diff
"€"のUnicode情報U+20AC, Currency Symbolschar_info
{"name":"test"}は有効なJSONですか?valid, objectformat_validate
デコードと解析
質問結果ツール
このJWTをデコード:eyJhbGci...{ alg: "HS256", name: "John Doe" }jwt_decode
https://example.com/search?q=helloを解析host: example.com, q: "hello"url_parse

21 個のツール

ツール説明
math式、統計の計算
count文字数(書記素クラスタ対応)、単語数、行数、バイト数
datetime現在時刻、タイムゾーン変換、UNIX タイムスタンプ
randomUUID v4/v7、ULID、パスワード(読みやすい形式、カスタム文字セット)、乱数、シャッフル
hashMD5、SHA-1、SHA-256、SHA-512、CRC32、HMAC
base64エンコード/デコード
encodeURL、HTML エンティティ、Unicode エスケープ
date差分、加算/減算、曜日、和暦
regexテスト、マッチ、matchAll、置換
base基数変換(2~36)
diff行の差分、レーベンシュタイン距離
format_validateJSON、CSV、XML、YAML の検証
cron_parse人が読みやすい cron 表記と次回実行時刻(曜日名/月名に対応)
luhnチェックディジットの検証/生成
ipIPv4/IPv6 情報、CIDR の包含チェック、範囲の計算
colorHEX ↔ RGB ↔ HSL(アルファチャンネル対応)
convert8 カテゴリ、146 の単位名:長さ、重量、温度、面積(坪、畳)、体積、速度、データ、時間
char_infoUnicode コードポイント、ブロック、カテゴリ
jwt_decodeヘッダーとペイロードをデコード(検証なし)
url_parseプロトコル、ホスト、パス、パラメーター、ハッシュ
semver比較、検証、解析、範囲との適合性

インストール

Claude Code
claude mcp add -s user calc-mcp -- npx -y @coo-quack/[email protected]
Claude Code プラグイン

coo-quack marketplace からプラグインとしても利用できます:

/plugin marketplace add coo-quack/claude-code-marketplace
/plugin install calc-mcp@coo-quack

詳しくはインストールガイドをご覧ください。

Claude Desktop / Cursor / Windsurf

設定ファイルに追加します:

アプリ設定ファイルのパス
Claude Desktop(macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop(Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "calc-mcp": {
      "command": "npx",
      "args": ["-y", "@coo-quack/[email protected]"]
    }
  }
}
VS Code(GitHub Copilot)

ワークスペースの .vscode/mcp.json に追加します:

{
  "servers": {
    "calc-mcp": {
      "command": "npx",
      "args": ["-y", "@coo-quack/[email protected]"]
    }
  }
}
Docker イメージ

Calc MCP は、GitHub Container Registry から Docker イメージとして利用できます。

docker run --rm -i ghcr.io/coo-quack/calc-mcp:latest

または、MCP クライアントの設定で使用します。

{
  "mcpServers": {
    "calc-mcp": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/coo-quack/calc-mcp:latest"]
    }
  }
}

利用可能なタグ:

  • ghcr.io/coo-quack/calc-mcp:latest — 最新リリース
  • ghcr.io/coo-quack/calc-mcp:X.Y.Z — 特定のバージョン(X.Y.Z を希望するバージョンに置き換えてください)
その他の MCP クライアント

Calc MCP は、MCP 互換のあらゆるクライアントで動作します。stdio 経由でサーバーを実行します。

npx -y @coo-quack/[email protected]

クライアントの MCP 設定で、上記のコマンドを指定してください。サーバーは標準の Model Context Protocol を使用して stdio 経由で通信します。

開発

bun install
bun run dev       # Start dev server
bun test          # Run tests
bun run lint      # Biome
bun run format    # Biome

セキュリティ

calc-mcp はすべてのデータを ローカルで 処理し、以下のことは 行いません。

  • ❌ 外部サーバーへのデータ送信
  • ❌ ファイルやリモートサービスへのデータの記録
  • ❌ 処理したデータの永続的な保存

詳しいセキュリティ情報については、SECURITY.md をご覧ください。

LLM を安全に利用する

calc-mcp 自体はローカルのみで動作します。 ただし、LLM 経由で使用する場合、入力した内容は LLM プロバイダー(Anthropic、OpenAI など)に送信されます。

  • ✅ 推奨: 可能な場合はテストデータやサンプルデータを使用してください
  • ✅ 推奨: 機密性の高い操作にはローカルのみで動作する LLM を使用してください
  • ❌ 禁止: 本番環境のシークレットを MCP ツールに渡さないでください(LLM プロバイダーに送信されます)

例:

# ❌ Unsafe: Any secret passed to MCP tool is sent to your LLM provider
# Tool: hash
# Input: { "input": "sk-1234567890abcdef", "algorithm": "sha256" }

# ✅ Safe: Use test data only (for learning/development)
# Tool: hash
# Input: { "input": "test-value-123", "algorithm": "sha256" }

# ✅ For production secrets: Use local-only LLMs or process outside MCP

注記: エラーメッセージは、意図しないデータ漏えいを防ぐため、自動的にサニタイズされます。

セキュリティ上の問題については、セキュリティポリシーをご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。