Rough Logic
roughlogic
Field math for the trades. Free, fast, no ads, no accounts, works offline.
roughlogic.com is 1,709 small, single-purpose calculators for electricians, plumbers, HVAC techs, carpenters, restoration techs, firefighters, surveyors, and dozens of other trades. Everything runs in your browser. Every answer comes from a published formula and cites its source.
Use it
Search for what you need, or browse by trade.
Type your numbers. The answer updates as you type. There is no submit button.
Tap Copy to take a value with you.
A calculator opens empty. Every number box is captioned with the value the page's worked example uses (e.g. 150), so you can see the expected unit and magnitude before you type your own over it.
Every calculator's page is the same short thing, in this order. Nothing below the example is open until you ask for it:
Title + one line | what it does |
Run the calculator | opens it with the example already loaded |
Example | the exact inputs and the exact answer |
Collapsed detail | Show the formula, source, and assumptions on every page, and More about this calculator where there is more to say |
Here is that Example block, from Voltage Drop:
You enter | You get | ||
Phase | single | Voltage drop | 7.45 |
Material | copper | Percent drop | 3.1 |
AWG | 10 | ||
Length one-way (ft) | 150 | ||
Current (A) | 20 | ||
Source voltage (V) | 240 |
Grounded in Vd = 2 · K · I · L / CM, NEC Ch. 9 conductor properties. Everything is named the way the calculator names it. The machine field names an AI agent passes (length_ft, drop_V) are listed inside the collapsed formula block, so the page stays readable and the contract stays published.
Your inputs live in the URL, so a calculator is bookmarkable and shareable with its numbers preloaded. After the first load it works with no signal. No account, no email, no tracking, ever.
Related MCP server: QuantOracle
Use it from an AI agent
The whole catalog is available to AI agents (Claude Code, Claude Desktop, Cursor) through a local, zero-dependency MCP server that runs on your machine over stdio. No hosting, no network. Four tools (search_calculators, describe_calculator, run_calculator, run_calculators) read straight from this repo, so the agent surface can never drift from the site. See mcp/README.md.
What's in the catalog
21 trade benches. Search spans all of them at once; the letters are internal group codes (I is reserved).
Bench | Bench | ||
A | Electrical | N | Stage & Live Production |
B | Plumbing & Gas | O | Kitchen & Food Service |
C | HVAC | P | Field, Backcountry & SAR |
D | Water Damage & Mold Restoration | Q | Historical Reference Data |
E | Carpentry & Construction | R | Accounting, Tax & Small-Business |
F | Fire-Ground Engineering | T | Bench Science & Laboratory Math |
G | Cross-Trade Utilities | X | Real Estate |
H | Knowledge References | Y | Educators & K-12 |
J | Trucking & Logistics | Z | Rigging & Heavy Lift |
K | Mechanic - Auto, Marine, Aviation | ||
L | Agriculture & Forestry | ||
M | Water & Wastewater Operations |
One calculator is one formula on one screen. (In the source and the gate names below, a calculator is called a tile.) Every formula is transcribed in docs/derivations.md and every citation in docs/data-sources.md.
Why you can trust the answers
The hard part of a calculator catalog is not the arithmetic. It is proving, at scale, that every tile stays correct as the catalog grows. That is a build problem here: npm run lint runs 41 static gates before a change can land.
Gate | What it guarantees |
| every formula is dimensionally consistent |
| independent tiles computing the same quantity agree numerically |
| a fuzzer sweeps each tile's input domain; no NaN/∞, monotonicity where required |
| each tile's example reproduces a publisher-verified reference number |
| every tile names a real, dated source, freshness-tracked |
| every formula has a written derivation |
| no rendered field is silently ignored by the compute function |
| every tile is registered, crash-free, and matches its declared I/O shape |
| zero horizontal scroll on every page at 320 px and 200% text zoom |
CI adds four parallel jobs per push: lint + unit tests + data-integrity verification, Lighthouse (median of 3), axe-core accessibility at 320 px, and the full Playwright suite on Chromium and WebKit. At runtime, integrity.js re-verifies the SHA-256 of every data manifest against data/integrity.json; the read-only posture means the worst case is a visible warning, never silent corruption.
How it's built
A 100% client-side static site. No server, no database, no accounts, no analytics, no runtime third-party dependency.
The browser loads index.html + styles.css + app.js (router, search, theme, URL-hash state), which dynamic-imports one of 57 per-group calculator modules (calc-*.js) on first open, which reads the sharded JSON in data/. A service worker (sw.js) caches the shell and data shards keyed to the build hash, so the site works offline after the first load.
At build time only (never in production), build-data.mjs refreshes the integrity-hashed data shards from NIST, NOAA, NCEI WMM, FHFA, HUD, and published bulletins, and build-shells.mjs emits one zero-JS crawlable static shell per tile (1709) and per group, plus a sitemap that carries 1731 URLs.
The home payload gzips to well under the 100 KB budget. Opening a calculator dynamic-imports only that trade's module and only the data shards it needs. See docs/architecture.md and docs/seo.md.
Develop
npm install # dev tooling only; the site itself has zero runtime deps
npm run dev # serve the SPA locally
npm run build # emit dist/ (SPA + static shells + sitemap)
npm run lint # the full static-gate chain (41 checks)
npm test # unit tests (node --test)
npm run test:e2e # Playwright integration suite (needs a browser)The repo root holds the SPA entry (index.html, styles.css, app.js, sw.js), the calc-*.js modules, and shared UI helpers. data/ holds sharded JSON with per-folder manifests and integrity hashes. scripts/ holds build and gate tooling (never runs in production). specs/ is the numbered specification history; docs/ holds derivations, data sources, architecture, and the audit trail. See docs/maintainer-quickstart.md and docs/contributor-checklist.md.
License
MIT. See LICENSE.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceCryptographically signed market state verification for autonomous financial agents. Ed25519 receipts, fail-closed safety, 28 global exchanges (equities, derivatives, 24/7 crypto). MCP-native, x402-payable, SMA Protocol conformant.MIT
- AlicenseAqualityAmaintenance63 deterministic quant computation tools for autonomous financial agents. Options pricing, derivatives, risk metrics, portfolio optimization, statistics, crypto/DeFi, macro/FX, time value of money. 1,000 free calls/day, no signup required.7411MIT

usenami-mcpofficial
AlicenseAqualityFmaintenancePerp-first funding rate & RWA spread data for AI agents. 30+ CEX/DEX venues, 6 tools (4 x402-paywalled, 2 free), bring-your-own-wallet via Base mainnet.61MIT- AlicenseNot gradedqualityBmaintenanceRead-only crypto perps microstructure for AI agents: normalized cross-exchange market state (funding + multi-year percentile, OI, volume, CVD, order-book imbalance, liquidations, basis), OHLCV, 15-min state history, and measured conditional outcomes (historical base rates, not predictions) — 6 assets across Binance, Bybit, OKX and Hyperliquid, every metric with self-declared coverage and freshnessMIT
Related MCP Connectors
Crypto futures math: PnL, liquidation, position sizing, carry trade. 19 tools. Not AI estimates.
Four market-statistics tools + a free qd_ key by email: 1 anonymous look, then 10 calls/UTC day.
Processor fees, charge-to-net, invoice totals and proration. 3 of 6 tools free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/clay-good/roughlogic.com'
If you have feedback or need assistance with the MCP directory API, please join our Discord server