API & MCP
Everything a person can do on Ohmforge RF Calculator: Antenna, Link Budget & VSWR, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://ohmforgerfcalculator.usefulweb.app/api/v1/calculate– run Ohmforge RF Calculator: Antenna, Link Budget & VSWRGET https://ohmforgerfcalculator.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Ohmforge RF Calculator: Antenna, Link Budget & VSWR
Three everyday radio calculations in one place: antenna element lengths for a frequency (half-wave dipole, quarter-wave monopole, coax stubs), a Friis link budget with free-space path loss, received power, margin and the maximum range for the fade margin you want, and the conversions between VSWR, return loss, reflection coefficient and mismatch loss — also straight from a load impedance.
| Field | Type | Default | Description |
|---|---|---|---|
mode | select (link, antenna, mismatch) | "link" | Calculation |
frequencyMHz | number | 2400 | Frequency. Antenna lengths and link budget. |
distanceM | number | 100 | Distance. Link budget: distance between the antennas. |
txPowerDbm | number | 20 | Transmit power. 20 dBm = 100 mW, 30 dBm = 1 W. |
txGainDbi | number | 2 | Transmit antenna gain |
rxGainDbi | number | 2 | Receive antenna gain |
txCableLossDb | number | 0 | Transmit cable and connector loss |
rxCableLossDb | number | 0 | Receive cable and connector loss |
otherLossDb | number | 0 | Other losses. Walls, bodies, foliage, polarisation mismatch, rain — whatever free space does not include. |
sensitivityDbm | number | -90 | Receiver sensitivity. Weakest signal the receiver decodes at the data rate you use (datasheet). |
fadeMarginDb | number | 10 | Fade margin you want. Reserve for fading and obstacles; the maximum range is computed for it. |
endEffect | number | 0.95 | End-effect factor (antenna). Shortening of a thin wire element because of the end capacitance; 0.95 is the usual approximation (thicker elements need less). |
velocityFactor | number | 1 | Velocity factor of the element (antenna). 1 for bare wire in air; insulated wire about 0.95–0.98. |
cableVelocityFactor | number | 0.66 | Velocity factor of the coax (stubs). Solid PE coax (RG-58, RG-213) 0.66, foam PE about 0.80–0.85. |
mismatchFrom | select (vswr, returnLoss, gamma, impedance) | "vswr" | You know (mismatch) |
value | number | 2 | Value (VSWR, return loss or |Γ|). VSWR ≥ 1, return loss in dB as a positive number, or |Γ| from 0 to 1. |
loadR | number | 75 | Load resistance R. Mismatch from a load impedance. |
loadX | number | 0 | Load reactance X. Positive = inductive, negative = capacitive. |
z0 | number | 50 | Reference impedance Z0 |
Example request
Wi-Fi link: 2.4 GHz over 100 m
curl -X POST https://ohmforgerfcalculator.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"mode":"link","frequencyMHz":2400,"distanceM":100,"txPowerDbm":20,"txGainDbi":2,"rxGainDbi":2,"txCableLossDb":1,"rxCableLossDb":1,"sensitivityDbm":-90,"fadeMarginDb":10}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://ohmforgerfcalculator.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
ohmforge_rf_calculator - Local stdio connector:
node src/mcp-stdio.ts --tool=ohmforge-rf-calculator
{
"mcpServers": {
"ohmforge-rf-calculator": { "type": "http", "url": "https://ohmforgerfcalculator.usefulweb.app/mcp" }
}
}