mcpField
E
Euclid

Euclid

リモート
github.com/euclidtools科学・教育230 週間前に更新
リポジトリ

Euclid について

Euclid は、数値を推測ではなく決定的に計算するホスト型 MCP サーバーです。計算、単位換算、統計、金融、日付、エンコード、検証、色、正規表現、地理空間のツールを AI エージェントに提供します。

主な機能

  1. 01式の決定的な計算
  2. 02単位換算と統計
  3. 03日付と金融の計算
  4. 04エンコード、ハッシュ、JWT の確認
  5. 05正規表現、検証、色、地理空間ツール

活用シーン

  1. 01算術式や三角関数式の計算
  2. 02単位換算や統計値の算出
  3. 03金融計算や日付計算
  4. 04形式の検証や正規表現の安全な実行

MCP 対応

Euclid は HTTP 経由で MCP クライアントから利用するホスト型 MCP サーバーで、OAuth 2.1 認証を行います。接続したエージェントに決定的な計算ツールを公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.euclidtools.com
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Euclid

「証明なしに主張されたことは、証明なしに退けられます。しかし、証明されたことは、いつまでも残ります。」 アレクサンドリアのユークリッドの精神にならって

23世紀前、アレクサンドリアのユークリッドは、当時の数学が、言い伝えや直感、そして「信じてください」が入り交じった状態にあるのを見て、こう言いました。もうたくさんだ。彼は公理と証明を基礎に、幾何学を一から築き上げました。何かが真実なら、それが真実であることを_示す_ことができました。ごまかしも、当てずっぽうもありません。

大規模言語モデルも、ユークリッドの同時代人と同じ問題を抱えています。モデルは計算するのではなく、_予測_します。LLM に「247 × 389 は?」と尋ねると、学習データに照らし合わせて答えの見た目を推測します。正しいこともあれば、間違っていることもあります。その違いを知るすべはありません。

AI エージェント向けの決定論的な計算ツール。

Euclid はホスト型の MCP サーバーで、あらゆる AI エージェントに実際の決定論的な計算エンジンを提供します。自明なことを推測する必要はありません。算術はまさに自明なことの一つです。


クイックスタート

Claude Code
claude mcp add euclid --transport http https://mcp.euclidtools.com
Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

{
  "mcpServers": {
    "euclid": {
      "url": "https://mcp.euclidtools.com"
    }
  }
}
Cursor

プロジェクトのルートにある .cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)に追加します。

{
  "mcpServers": {
    "euclid": {
      "url": "https://mcp.euclidtools.com"
    }
  }
}
Windsurf

~/.windsurf/mcp.json に追加します。

{
  "mcpServers": {
    "euclid": {
      "url": "https://mcp.euclidtools.com"
    }
  }
}
VS Code(Copilot)

プロジェクトの .vscode/mcp.json に追加します。

{
  "servers": {
    "euclid": {
      "type": "http",
      "url": "https://mcp.euclidtools.com"
    }
  }
}
その他の MCP クライアント

HTTP トランスポートをサポートする MCP クライアントであれば、どれでも利用できます。接続先は次のとおりです。

https://mcp.euclidtools.com

認証は OAuth 2.1 によって自動的に処理されます。初回接続時に、クライアントからサインインを求められます。


動作確認

接続後、AI エージェントに次のように尋ねてください。

「247 × 389 は?」

Euclid が動作していれば、エージェントは答えを予測するのではなく、calculate ツールを呼び出します。応答内にツール呼び出しが表示されます。正解は 96,083 で、暗算とは違い、常に正しい答えが得られます。


問題点

LLM は非決定論的です。生成するトークンはすべて_予測_であり、計算も例外ではありません。

  • 247 × 389 → モデルは 96,083 と_予測_します(96,183 や 95,983 になることもあります)
  • sin(47.3°) × cos(12.1°) → モデルはおおよそ近い値を_予測_します
  • $8,472.50 の 15% → モデルは金額を_予測_します

予測が正しいこともあれば、わずかに間違っていることもあります。どちらなのかを確実に判断できないことが問題です。

Euclid を使えば、この問題はなくなります。 AI エージェントが Euclid を利用できる場合、式を実際の計算エンジンに送り、計算結果を受け取ります。決定論的。正確。毎回です。

AI のコード検索に grep がもたらした変化と同じようなものだと考えてください。シンプルで実績のあるツールによって、モデルが根本的に持たない能力を提供します。


コード実行を使えばよいのでは?

多くの LLM 環境には、計算ができるコード実行ツール(Python サンドボックスなど)があります。違いは次のとおりです。

コード実行Euclid
オーバーヘッドサンドボックス/インタープリターを起動ほぼゼロ:式の文字列を評価するだけ
レイテンシー数百ミリ秒から数秒1桁ミリ秒
利用可能性クライアントによって異なるあらゆる MCP クライアント
モデルの動作計算を行う_コード_をモデルが記述_数式_をモデルが記述
失敗の種類構文エラー、実行時例外ヒントと例を含む明確なエラー
トークンコストコード生成は冗長式の文字列は最小限

決定論的な計算を徹底する

Euclid をインストールすると、AI が電卓を使えるようになります。しかし、使えるだけでは不十分です。AI が電卓を使うように指示する必要があります。明示的な指示がなければ、モデルはデフォルトで学習データから計算結果を予測し続けます。

プロジェクトの AI 指示ファイルに以下を追加してください。あらかじめ作成されたバージョンは rules/ ディレクトリにあります。

ファイル対象
rules/CLAUDE.mdClaude Code
rules/AGENTS.mdOpenAI Codex
rules/.cursorrulesCursor
rules/.windsurfrulesWindsurf

内容はすべて同じです。お使いの IDE に対応するファイルをプロジェクトのルートにコピーするか、既存の指示ファイルに追記してください。

指示ブロックをプレビュー
## Deterministic Computation (Euclid)

**NEVER predict, guess, or mentally compute numerical results.** LLMs produce answers by
pattern-matching against training data, sometimes right, sometimes subtly wrong, and
there is no way to tell which. Always use Euclid's MCP tools instead.

| Tool         | When to Use                                                                                                                            |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| `calculate`  | Arithmetic, percentages, margins, exponents, trig, logarithms, factorials. Any expression with a numerical answer                     |
| `convert`    | Unit conversions: m² to acres, km to miles, L/hr to gal/hr, °C to °F, bytes to kB, etc.                                               |
| `statistics` | Mean, median, mode, std deviation, variance, percentile, min, max, sum. Plus t-test, z-test, chi-squared, confidence intervals, correlation |
| `datetime`   | Date differences, add/subtract time, business days, age, day of week, quarter, leap year. Any calendar arithmetic                     |
| `encode`     | Base64, hex, URL, HTML encoding/decoding; SHA-256/512, SHA-1, MD5 hashing; HMAC signatures; JWT decoding                               |
| `finance`    | Loan payments, amortization, present/future value, NPV, IRR, CAGR, margin/markup, compound interest. Any financial formula             |
| `regex`      | Pattern testing, text extraction, match-all, replace, split. Execute patterns, never predict whether they match                        |
| `color`      | Color conversion (hex, RGB, HSL, etc.), contrast ratios, WCAG accessibility, lighten/darken, palette generation                        |
| `validate`   | Email, URL, UUID, credit card (Luhn check), IPv4, IPv6, IBAN. Structural validation with check digits                                  |
| `geo`        | Distances (Haversine/Vincenty), bearings, midpoints, destination points, polygon area, point-in-polygon, coordinate conversions        |

This applies everywhere, not just code. Analytics, business metrics, growth rates,
marketing numbers, cost calculations, date arithmetic, financial projections during
conversation. If there is a number to compute, a date to calculate, or data to
encode, hash, or validate, use Euclid. No exceptions.

これが重要な理由: LLM は、何も間違っていないかのように、誤った計算結果を自信たっぷりに出力します。247 × 389 = 96,183 と答えるモデルも、正解の 96,083 と答えるモデルも、同じくらい自信があるように見えます。正確さを保証する唯一の方法は、予測ではなく計算することです。


ツール

Euclid には 10 個のツールがあります。

calculate

数式を決定論的に評価します。

calculate("(245 * 389) + (12^3 / 7)")  → 95,551.857...
calculate("sqrt(144)")                  → 12
calculate("sin(45 deg)")                → 0.707...
calculate("10!")                         → 3,628,800
calculate("e^(i * pi) + 1")            → 0  (Euler's identity)

対応項目:算術、演算子の優先順位、累乗、根、三角関数、対数、階乗、定数(pi、e、phi)、複素数、Unicode 数学記号(×、÷、√、π、²、³)。

convert

単位を決定論的に変換します。

convert(100, "fahrenheit", "celsius")   → 37.778
convert(5, "km", "miles")              → 3.107
convert(1024, "bytes", "kB")           → 1.024
convert(60, "mph", "km/h")             → 96.561

対応項目:長さ、質量、体積、温度、面積、速度、時間、データ、および 100 種類以上の単位。自然言語の別名(例:「celsius」、「miles per hour」)は自動的に正規化されます。

statistics

記述統計と推測統計の計算を行います。

statistics("mean", [23, 45, 12, 67, 34])          → 36.2
statistics("std", [23, 45, 12, 67, 34])            → 21.159
statistics("z_test_proportion", { ... })            → { significant: true, p_value: 0.023 }
statistics("confidence_interval", { data: [...] })  → { lower: 28.1, upper: 44.3 }

記述統計:平均値、中央値、最頻値、標準偏差、分散、最小値、最大値、合計、パーセンタイル。 推測統計:z 検定、t 検定、カイ二乗検定、信頼区間、相関、正規累積分布関数/逆関数。

datetime

日付と時刻の算術演算を決定論的に行います。

datetime("difference", { from: "2026-01-01", to: "2026-03-15", unit: "days" })  → 73
datetime("add", { date: "2026-01-01", amount: 90, unit: "days" })               → "2026-04-01"
datetime("age", { birthDate: "1990-06-15", asOf: "2026-03-21" })                → 35
datetime("business_days", { from: "2026-01-01", to: "2026-01-31" })             → 22

9 つの操作:差分、加算、減算、営業日、月の日数、年齢、四半期、曜日、うるう年判定。

encode

エンコード、デコード、ハッシュ生成、JWT の検査を決定論的に行います。

encode("base64_encode", { input: "hello world" })               → "aGVsbG8gd29ybGQ="
encode("sha256", { input: "hello world" })                      → "b94d27b9..."
encode("hmac", { input: "data", key: "secret", algorithm: "sha256" }) → "1b779..."
encode("jwt_decode", { input: "eyJhbGci..." })                  → { header, payload, signature }

16 の操作:base64、base64url、hex、url、html(エンコード/デコード)、sha256、sha512、sha1、md5、hmac、jwt_decode。

finance

任意精度の十進演算を使って財務計算を行います。

finance("loan_payment", { principal: 350000, rate: 6.5, periods: 360 })   → $2,212.24/mo
finance("irr", { cashflows: [-100000, 30000, 35000, 40000, 45000] })      → 17.094%
finance("compound_growth", { start_value: 2.1M, end_value: 4.8M, periods: 4 }) → 22.958% CAGR

16 の操作:loan_payment、amortization、present_value、future_value、periods、interest_rate、npv、irr、roi、markup、margin、discount、percentage_change、compound_growth、simple_interest、compound_interest。

color

色変換、アクセシビリティチェック、パレット生成を行います。

color("convert", { color: "#FF6B35", to_space: "hsl" })
color("contrast_ratio", { foreground: "#FFFFFF", background: "#2563EB" })  → "4.62:1"
color("wcag_level", { foreground: "#FFFFFF", background: "#2563EB" })      → "AA"
color("analogous", { color: "#2563EB", count: 5 })

変換、アクセシビリティ(WCAG)、色の調整、パレット生成にわたる 14 の操作。8 つの色空間:hex、rgb、hsl、hsv、cmyk、lab、oklab、oklch。

regex

安全な正規表現の実行を行います(線形時間を保証し、ReDoS は発生しません)。

regex("test", { pattern: "^\\d{3}-\\d{4}$", subject: "555-1234" })     → true
regex("matchAll", { pattern: "\\d+", subject: "abc 123 def 456" })     → ["123", "456"]
regex("replace", { pattern: "\\s+", subject: "a  b  c", replacement: " " }) → "a b c"

6 つの操作:test、match、matchAll、replace、split、escape。

validate

チェックディジットを使った構造検証を行います。

validate("email", { input: "[email protected]" })        → { valid: true }
validate("credit_card", { input: "4111111111111111" })   → { valid: true, type: "Visa" }
validate("iban", { input: "GB82WEST12345698765432" })    → { valid: true }

対応形式:email、url、uuid、credit_card(Luhn)、ipv4、ipv6、iban。

geo

地理空間の計算を行います。

geo("distance", { from: [lat, lon], to: [lat, lon] })        → km (Haversine or Vincenty)
geo("bearing", { from: [lat, lon], to: [lat, lon] })         → degrees
geo("point_in_polygon", { point: [lat, lon], polygon: [...] }) → true/false

距離、面積、中点、方位角、目的地の座標、点がポリゴン内にあるかの判定、座標変換。


料金

すべてのアカウントで、1,000 回の無料ツール呼び出しを利用できます。クレジットカードは不要です。

その後は、app.euclidtools.com でクレジットを追加してください。


哲学

LLM が生成するものはすべて予測です。創作や推論では問題ありませんが、数学では問題になります。

解決策は、モデルの数学の予測能力を高めることではありません。計算機を与えることです。

これは、より広い原則の一部です。**モデルが本来は決定的であるべきことを予測によって行う場合は、常に決定的なツールを与えます。**数学が最もわかりやすい例ですが、単位変換、日付の計算、正規表現の評価、エンコードなどにも同じ考え方が当てはまります。


ライセンス

Euclid MCP サーバーはプロプライエタリソフトウェアです。このリポジトリには、統合を目的とした接続手順、スキル、ドキュメントが含まれています。

すべての権利を留保します。詳細については、LICENSE を参照してください。


アレクサンドリアのユークリッドは、2,300年前に数学的証明を体系化しました。
私たちは彼の道具を機械に与えているだけです。

コメント

MCP は初めてですか?

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

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