Skip to main content
Glama
Lazy-Coder-03

leftbrain

leftbrain

あなたのAIエージェントのための左脳。 言語モデルが苦手とするすべてのものに対して、正確で決定的な答えを提供します — 算術と微積分、日付とタイムゾーン、単位変換、比例スケーリング、カウント、ソート、検証、ランダム性、ハッシュ — さらにオプションのライブデータ(天気、為替レート)とファイルツール(PDFテキスト、画像→base64)も備えています。

プレーンな Pythonライブラリ として、または MCPサーバー(stdioまたはHTTPS)として、Claude Code、Claude Desktop、Cursor、Windsurf、Zed、その他のMCPクライアントと一緒に使用できます。

pip install "leftbrain[all]"
claude mcp add leftbrain -- leftbrain          # Claude Code, one line

なぜ

モデルは右脳的です:流暢で直感的ですが、9.11 < 9.9strawberry のrの数、今日が何日か、締め切りまでに残っている営業日数、03/04/2025が3月か4月かについて間違えます。これらのすべてには正確な答えがあります。leftbrainは、モデルが推測する代わりにその答えを与える、小さくてよく説明されたツールセットです。

設計ルール:

  1. 決定的のみ。 同じ入力には同じ出力。ツール内のLLMはありません。

  2. 推測する代わりに曖昧さを拒否。 IST03/04/2025tonozKB — それぞれが暗黙の仮定ではなく具体的な選択肢を返します。

  3. すべての解釈を表面化。 各レスポンスには assumptions[](「ロケールINに従ってDD/MMとして読む」)と warnings[](「日が月末にクランプされました」)が含まれます。

  4. 正確と小数を同時に。 sqrt(2)/2 および 0.7071…7/4 および 1.75。モデルが再丸めしないようにします。

  5. 少数のツール、多数のモード。 13のコアツール、それぞれに mode パラメータがあり、毎ターンのツールリストを安価に保ちます。

  6. 説明は いつ を言い、 を言わない。 通常の失敗はモデルがツールを呼び出さないことです。

Related MCP server: Euclid

ツール

コア(leftbrain、オフライン、純関数)

ツール

モード

モデルの推測を置き換えるもの…

math

eval, exact, simplify, expand, factor, solve, diff, integrate, limit, series, ode, matrix, stats, convert_form, plot_points

あらゆる算術、15% of 200、複素数 (3+4i)(1-2i)、三角関数(angle 必須)、微積分、線形代数、統計 — SymPy、サンドボックス化

datetime

now, convert_tz, parse, add, diff, weekday, nth_weekday, business_days, overlap, duration_sum, recurrence, cron_next, age, fiscal

現在時刻、DST対応の変換、「次の金曜日17時」、月末クランプ、祝日を含む営業日、RRULE展開、cron

scale

4→7人前、1kgあたりの価格→250gあたり、3人×5日→12人(mode=inverse)、すべての従属数量を含む

convert

units, temperature, currency

km→mi、sqft→sqm、°C→°F(絶対または差)、GB→GiB、USD→INR(レートが必要)

holidays

list, check, next, countries, subdivisions

150以上の国とその州の祝日

numbers

compare, round, format, allocate, sequence, parse, to_words

9.119.9、半数上げと銀行家丸め、₹1,23,45,678.50、₹100を3人でパイサを失わずに分割、「壱拾弐万参阡… 也」

finance

emi, compound, cagr, npv_irr, gst, percent

₹10Lを8.5%で20年→₹8,678.23、ゼロに一致するスケジュール付き、SIP将来価値、CAGR、二分法によるNPV/IRR、₹1,180税込→₹1,000 + ₹90 CGST + ₹90 SGST、20%引きの後10%引きは28%であって30%ではない

text

count, regex_match, regex_replace, diff, sort, dedupe, extract, find

文字/単語/出現回数、正規表現の実行、正確な差分、自然ソート、メール/電話/GSTINの抽出

collections

set_ops, group_by, aggregate, pick_fields, flatten, unflatten, paginate, find_duplicates, sort_by, chunk

リストAにありBにないもの、合計付きグループ化、複数キーソート — 約20項目の崖を超えた場合

validate

json_schema, assert, id, email, url, phone, ip, sql_parse, regex

JSONに対するルールチェック({path, op, value} → pass/fail + スコア)、Luhn/IBAN/GSTIN/PAN/Aadhaar/ISBN/EAN/VINチェックサム、WHERE なしの DELETE

random

uuid, int, float, pick, shuffle, token, bool, sample

真のランダム性:UUID v4/v7、シード付き整数、安全なトークン/OTP、A/Bバケット

geo_offline

tz_for_place, tz_for_coords, distance, country, zone_info

「Mumbai」→ Asia/Kolkata、ハバーサイン距離、国のゾーン — ネットワーク不要

encode

hash, hmac, checksum, base64, hex, url, html, jwt_decode, json

SHA-256、HMAC、CRC32、base64 — モデルはこれらすべてを幻覚します

外部(leftbrain-external、ネットワーク、キー不要の公開API)

ツール

ソース

weather — 現在、予報(16日間)、履歴(1940年まで)、サマリー

Open-Meteo

fx_rate — 最新または指定日のECB基準レート、convert が受け入れるテーブルを返す

Frankfurter

geo — ジオコーディング、逆ジオコーディング、運転ルートの距離/時間

Open-Meteo / Nominatim / OSRM

url_check — 実際のステータスコード、リダイレクトチェーン、レイテンシ

直接

ファイル(leftbrain-files、オプトイン)

ファイルを自分で開けないカスタムエージェントループ用(Claude Codeなどのホスト型エージェントはすでに開けます)。pdf_textpdf_infoimage_infoimage_to_base64(バイト予算に合わせてリサイズ/圧縮、すぐ使えるAnthropicおよびOpenAI画像ブロックを返す)、base64_to_filefile_inforead_textlist_dir。アクセスは LEFTBRAIN_FILE_ROOTS に制限されています。

契約

すべてのツールは同じエンベロープを返します:

{"ok": true,  "result": {...}, "assumptions": ["read as DD/MM per locale IN"], "warnings": []}
{"ok": false, "error": "ambiguous", "message": "...", "needs": {"field": "locale", "options": [...]}}
{"ok": false, "error": "invalid_input" | "unsupported" | "timeout" | "needs_rates" | "internal", "message": "..."}

resultnull になることはありません。needs が存在する場合は、オプションを選んで再度呼び出してください。

インストール

pip install leftbrain                 # library only
pip install "leftbrain[mcp]"          # + MCP servers (stdio)
pip install "leftbrain[all]"          # + external (httpx), files (pypdf, Pillow), HTTP server (uvicorn)

Python 3.11以上。APIキーは不要です。

Pythonから使用

import leftbrain as lb

lb.math_tool("eval", expr="(3+4i)*(1-2i)")["result"]["decimal"]      # '11 - 2i'
lb.math_tool("solve", equations=["x^2+1=0"])                          # ±i
lb.datetime_tool("convert_tz", value="2026-03-08 09:30", from_tz="Asia/Kolkata", to_tz="America/New_York")
lb.datetime_tool("parse", value="03/04/2025")                         # ok: False, needs.options = DD/MM or MM/DD
lb.datetime_tool("business_days", start="2026-10-01", end="2026-10-31", region="IN")
lb.scale_tool(from_qty=4, to_qty=7, entities=[{"name": "flour", "qty": "2.5", "unit": "cup"}])
lb.convert_tool(value=2, from_unit="ton", to_unit="kg")               # ambiguous: metric / short / long
lb.numbers_tool("allocate", total=100, parts=3)                       # 33.34 / 33.33 / 33.33
lb.numbers_tool("to_words", value=123456.5, system="indian", currency="INR")
lb.validate_tool("id", kind="gstin", value="27AAPFU0939F1ZV")
lb.validate_tool("assert", data=doc, rules=[{"path": "leave.days", "op": "lte", "value": 2}])

lb.TOOLS はツール名を関数にマップします。OpenAIの関数呼び出し、LangChain、または独自のループに配線したい場合に使用できます — MCPは不要です。

MCPサーバーとして使用(stdio)

Claude Code

claude mcp add leftbrain -- leftbrain
claude mcp add leftbrain-external -- leftbrain-external
claude mcp add leftbrain-files -e LEFTBRAIN_FILE_ROOTS=/path/to/docs -- leftbrain-files

Claude Desktop / Cursor / Windsurfclaude_desktop_config.json.cursor/mcp.json):

{
  "mcpServers": {
    "leftbrain":          { "command": "leftbrain" },
    "leftbrain-external": { "command": "leftbrain-external" }
  }
}

インストール不要:"command": "uvx", "args": ["--from", "leftbrain[all]", "leftbrain"]

HTTPS経由で使用(ホスト型)

1つのプロセスがStreamable HTTPで全ツールセットを提供します:

pip install "leftbrain[server]"
LEFTBRAIN_API_KEY=your-secret leftbrain-serve --port 8080
# core:      http://localhost:8080/mcp
# external:  http://localhost:8080/external/mcp
# files:     add --files (and set LEFTBRAIN_FILE_ROOTS)

デフォルトでステートレスに動作するため、任意のロードバランサーの背後で水平スケールします。TLSは前面のプラットフォームで終端されます:

  • Docker: docker build -t leftbrain . && docker run -p 8080:8080 -e LEFTBRAIN_API_KEY=… leftbrain

  • Railway / Render / Fly.io: リポジトリを指定します。Dockerfile$PORT は自動的に認識され、HTTPSが提供されます。

  • セルフホスト: Caddyまたはnginxを前面に配置(reverse_proxy localhost:8080)、またはCloudflare Tunnelを使用します。

次に、クライアントを公開URLに接続します:

claude mcp add --transport http leftbrain https://leftbrain.example.com/mcp \
  --header "Authorization: Bearer your-secret"

ヘルスチェック:GET /healthz。サービス説明:GET /

ユーザーごとのAPIキー(公開無料ティア)

他の人が独自のキー、クォータ、レート制限でデプロイメントを使用できるようにするには、静的キーの代わりに(または併用して)キーストアを有効にします:

LEFTBRAIN_KEYS_DB=/data/keys.sqlite3 leftbrain-serve     # or --keys-db

ストアは SQLite(パス、ボリューム付きの単一インスタンス用)または PostgresLEFTBRAIN_KEYS_URL=postgres://…pip install "leftbrain[postgres]")を話します。永続ディスクのないプラットフォーム向けです。DSNは LEFTBRAIN_KEYS_URL、次に DATABASE_URL、次に LEFTBRAIN_KEYS_DB から読み取られます — そのためNorthflank/Render/Railwayが注入する DATABASE_URL が自動的に認識されます。

ストアが設定されると、leftbrain-serve はウェブサイトも提供します:

  • / — ランディングページ(ブラウザ)またはJSONサービス説明(Accept: application/json

  • /login — GitHub OAuth。キーはアカウントの確認済みプライマリメールに属します

  • /dashboard — 有効期間30/90/365日(または警告付きで無期限)のアクティブキーを最大3つ作成、今日の使用量と各キーの有効期限を表示、キーを再度表示、失効

  • /docs — Windows PowerShell / macOS / Linuxタブ付きクイックスタート、MCPクライアント設定

  • POST /demo/{numbers|convert|datetime|text} — キー不要のデモ、IPあたり30 req/min

キーAPIは次のように動作します:

  • セルフサービスサインアップ: POST /keys/signup {"email": "dev@example.com"}{"key": "lblz_…", "daily_quota": 1000, "rpm": 60}。IPあたり1日3回のサインアップとメールあたり3つのアクティブキーに制限されます。匿名サインアップは LEFTBRAIN_OPEN_SIGNUP=1 でない限り オフ です。ウェブサイトがある場合は、代わりに /login でサインインします。

  • すべてのリクエスト はメータリングされます:X-RateLimit-Remaining-TodayX-RateLimit-Limit-DayX-RateLimit-Limit-Minute ヘッダー。制限に達すると 429Retry-After。無効なキーには 403、キーの有効期間が終了すると 403 {"error": "expired", "message": "key expired on 2026-11-25; create a new one at /dashboard"}。期限切れキーは3アクティブ上限にカウントされません。

  • 呼び出し側の自己チェック: GET /keys/me をキーとともに → 所有者、クォータ、今日の使用量、expires_at

環境: GITHUB_CLIENT_IDGITHUB_CLIENT_SECRETLEFTBRAIN_SECRET(Cookie署名用、32文字以上のランダム文字列)、LEFTBRAIN_BASE_URL(例: https://leftbrain.idlesync.in、OAuthコールバックに使用)、および LEFTBRAIN_TRUSTED_PROXY_HOPS(デフォルト 1)— プロセスの前段で X-Forwarded-For に追記するプロキシの数。これにより、IP単位の制限は、呼び出し元が指定した最左のエントリではなく、あなたのプロキシが書き込んだエントリをキーとして判定されます。リバースプロキシが1つ(Northflank、Render、Fly、nginx)の場合は 1。さらに Cloudflare を前段に追加すると 2 になります。0 はプロキシが存在せず、転送ヘッダーを信頼しないことを意味します。

デフォルト値は LEFTBRAIN_DEFAULT_DAILY_QUOTA(1000)、LEFTBRAIN_DEFAULT_RPM(60)、LEFTBRAIN_SIGNUPS_PER_IP_PER_DAY(3)から取得されます。認証は常にキーの SHA-256 のみを比較します。LEFTBRAIN_SECRET が設定されている場合、ストアは各キーの Fernet 暗号化コピーも、そのシークレットから導出されたキーの下に保持するため、サインインした所有者はダッシュボードで自分のキーを再度表示し、ドキュメントの例に自動入力することができます。LEFTBRAIN_SECRET をローテーションすると、既存のキーは引き続き機能しますが、再表示はできなくなります。シークレットを未設定のままにすると、ハッシュのみが保存されます。

管理CLI(任意のDSN):

leftbrain-keys create --owner you@example.com --daily 50000 --rpm 300 --expires 90d --note "partner"   # default 365d; --expires never warns
leftbrain-keys list                                     # one JSON line per key, with expires_at / expired
leftbrain-keys disable lblz_xxxxxxxx
leftbrain-keys enable lblz_xxxxxxxx
leftbrain-keys revoke lblz_xxxxxxxx
leftbrain-keys set lblz_xxxxxxxx --daily 20000 --rpm 120 --expires 30d   # --expires counts from now; also revives an expired key
leftbrain-keys usage --days 7
leftbrain-keys stats

ぴったりの無料ホスティング: Northflank のサンドボックス(常時稼働サービス + 無料 Postgres + カスタムドメイン)— サブドメインの DNS を含むステップバイステップは docs/deploy-northflank.md を参照してください。

変更される内容の例

質問

なし

leftbrain あり

「9.11 と 9.9 はどちらが大きい?」

しばしば 9.11

numbers.compare → 9.9

「3月8日 9:30 IST をニューヨーク時間に変換」

DST 前後で ±1 時間

datetime.convert_tz → 3月7日 23:00、EST、day_shift −1

「₹100 を3人で分割」

33.33 × 3 = 99.99

numbers.allocate → 33.34 / 33.33 / 33.33

「27AAPFU0939F1ZV は有効な GSTIN ですか?」

「有効に見える」

チェックサム検証済み

「2026年10月のインドの営業日は何日?」

21〜23日と推測

20日、ガンディー・ジャヤンティとダシェラを明記

「sin(30)」

気分によって 0.5 または −0.988

angle が指定されるまで拒否

開発

git clone https://github.com/Lazy-Coder-03/leftbrain && cd leftbrain
python -m venv .venv && . .venv/bin/activate     # .venv\Scripts\activate on Windows
pip install -e ".[dev]"
pytest                          # unit tests
python scripts/smoke.py         # every tool, end to end
python scripts/mcp_client_check.py   # spawn each MCP server over stdio and call it
ruff check src tests

構成: src/leftbrain/core/ には純粋関数(ツールごとに1ファイル)、contract.py にはエンベロープ、mcp_server.py には stdio サーバー、serve.py には HTTP サーバー、external/files/ にはオプションのセットが格納されます。

リリースは vX.Y.Z タグをプッシュして作成されます — docs/releasing.md を参照してください。各バージョンの変更内容は CHANGELOG.md に記載されています。

ロードマップ

  • Nodeベースのエージェント向け TypeScript ポート(同じツール名とコントラクト)

  • スキャンされた PDF の OCR フォールバック

  • files での csv/xlsx 解析

ライセンス

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a suite of deterministic tools for time calculations, math, and string manipulation that LLMs often struggle to perform accurately. It also includes utilities for secure randomness, data validation, and basic network operations like DNS lookups.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    AI agents hallucinate math. Euclid fixes that. Connect once and give your agent 10 deterministic tools: arithmetic, unit conversion, statistics, datetime, finance, regex, color, encoding, validation, and geospatial. Same input, same output, every time.
    2
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a set of micro-tools (time calculation, regex, encoding, JSON diff, etc.) for LLM agents to handle deterministic, precision tasks that models often get wrong.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides deterministic tools for transforming, formatting, and inspecting structured data for AI agents.
    15
    19
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Precision math engine for AI agents. 203 exact methods. Zero hallucination.

  • 500+ deterministic tools for AI agents: math, conversion, validation, hashing, encoding, date/time.

  • 60+ units, live FX, timezones, and date arithmetic for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lazy-Coder-03/leftbrain'

If you have feedback or need assistance with the MCP directory API, please join our Discord server