io.github.antonpogrebenko-public/rftools
241 RF & electronics calculators + 13 simulation tools for AI agents.
Open source Open in the app JSON README (API)
About
241 RF & electronics calculators + 13 simulation tools for AI agents.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- antonpogrebenko-public
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.7.3
- Stars
- 6
- Forks
- 1
- Last push
- 2026-08-29T21:33:36Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:02:26
- Updated
- 2026-08-29 22:00:12
- Origin id
io.github.antonpogrebenko-public/rftools
README
# rftools-mcp
[](https://www.npmjs.com/package/rftools-mcp)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
**MCP server for [rftools.io](https://rftools.io) — 241 RF & electronics calculators + 13 server-side simulation tools for AI agents.**
Give Claude, Cursor, or any MCP-compatible AI assistant access to validated engineering calculators and heavy server-side simulations. Microstrip impedance, link budgets, filter design, converter sizing, antenna patterns, and 200+ more calculators — plus NEC2 antenna simulation, FDTD, Monte Carlo, SMPS analysis, EMI estimation, and more, all callable as MCP tools.
## Quick Start
Calculators work with no API key. For simulation tools, sign up at [rftools.io](https://rftools.io) and generate an API key from your dashboard.
## Setup
### Without API key — calculators only
All 241 calculators run locally with no sign-up required.
### With API key — calculators + simulation tools
Sign up at [rftools.io](https://rftools.io) and generate an API key from your [dashboard](https://rftools.io/dashboard). Free accounts include 5 simulation runs/month. Pro: 100/month. API tier: 10,000/month.
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
```
Omit the `env` block to use calculators only. Restart Claude Desktop after saving.
### Claude Code
```bash
claude mcp add rftools-mcp -- npx -y rftools-mcp
```
To add your API key:
```bash
claude mcp add rftools-mcp -e RFTOOLS_API_KEY=rfc_your_key_here -- npx -y rftools-mcp
```
### Cursor
Add to `.cursor/mcp.json` in your project:
```json
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
```
### Windsurf
Add to `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
```
## Tools
### Calculator tools — no API key required
#### `list_calculators`
List available calculators, optionally filtered by category.
```
"List all RF calculators"
"What antenna calculators are available?"
"Show me power electronics calculators"
```
**Parameters:**
- `category` (optional): `rf`, `pcb`, `power`, `signal`, `antenna`, `general`, `motor`, `protocol`, `emc`, `thermal`, `sensor`, `unit-conversion`, `audio`
#### `get_calculator_info`
Get detailed info about a calculator — inputs with units/defaults, outputs, and the formula used.
```
"What inputs does the microstrip impedance calculator need?"
"Show me the buck converter calculator parameters"
```
**Parameters:**
- `slug` (required): Calculator identifier (e.g. `"microstrip-impedance"`)
#### `run_calculation`
Run a calculator with specific inputs. Returns results with units and a link to the interactive version on rftools.io. Runs locally — instant, no quota consumed.
```
"Calculate microstrip impedance for a 0.3mm trace on 0.2mm Rogers RO4003C"
"What's the link budget for a 2.4 GHz link over 500m?"
"Size a buck converter: 12V in, 3.3V out, 2A"
```
**Parameters:**
- `slug` (required): Calculator identifier
- `inputs` (required): Object with input values, e.g. `{"traceWidth": 0.3, "substrateHeight": 0.2}`
---
### Simulation tools — API key required
Server-side jobs that are too heavy for in-browser computation. Jobs run on shared compute (free tier) or a priority queue (Pro/API tier). Simulations typically complete in 15–120 seconds; queue wait may add additional time.
**Quota:** Free: 5 runs/month · Pro: 100/month · API tier: 10,000/month
#### `list_simulation_tools`
List all 13 available simulation tools with their `jobType` identifiers and parameter reference.
```
"What simulation tools are available?"
"Show me the RF simulation tools"
```
#### `run_simulation`
Submit a simulation job and wait for the result. Returns the full result JSON along with a link to the interactive results page on rftools.io.
```
"Synthesize a broadband matching network from 50Ω to 200Ω between 800–1200 MHz"
"Run a Monte Carlo tolerance analysis on a 2nd-order Butterworth low-pass filter at 1 GHz"
"Simulate a 3-element Yagi antenna at 144 MHz"
"Estimate radiated emissions from a 10cm trace carrying 50mA at 100 MHz"
"Run SMPS control loop stability analysis on my buck converter"
```
**Parameters:**
- `jobType` (required): Job type identifier — use `list_simulation_tools` to see all valid values
- `params` (required): Simulation parameters — use `list_simulation_tools` to see required params per job type
**Available simulation tools:**
| Tool | `jobType` |
|------|-----------|
| Broadband Impedance Matching Synthesizer | `impedance_match` |
| RF Filter Monte Carlo Tolerance Analysis | `filter_monte_carlo` |
| Eye Diagram Generator | `eye_diagram` |
| NEC2 Wire Antenna Simulator | `antenna_sim` |
| S-Parameter Analysis Pipeline | `sparam_pipeline` |
| FDTD S-Parameter Simulator | `fdtd_sparam` |
| SMPS Control Loop Stability Analyzer | `smps_control_loop` |
| EMI Radiated Emissions Estimator | `emi_radiated` |
| Magnetics Optimizer (NSGA-II) | `magnetics_optimizer` |
| Radar Detection Probability Calculator | `radar_detection` |
| PDN Impedance Analyzer | `pdn_impedance` |
| Satellite Link Budget (ITU-R) | `sat_link_budget` |
| RF Cascade Budget with Monte Carlo | `rf_cascade` |
## Example Conversations
### PCB Design
> **You:** I need a 50-ohm microstrip on 1.6mm FR4 with 1oz copper. What trace width?
>
> **AI:** *Calls `run_calculation` with microstrip-impedance* → A trace width of ~2.9mm gives you 50.2 Ω on 1.6mm FR4 (εr=4.2). [View on rftools.io →](https://rftools.io/calculators/rf/microstrip-impedance)
### RF Link Budget
> **You:** Will my 100mW 915 MHz LoRa link work at 2km with 3dBi antennas?
>
> **AI:** *Calls `run_calculation` with rf-link-budget* → Received power: -72 dBm. With LoRa sensitivity at -137 dBm, you have 65 dB of link margin. Easily workable. [View on rftools.io →](https://rftools.io/calculators/rf/rf-link-budget)
### Power Electronics
> **You:** Design a buck converter: 24V input, 5V output, 3A load, 500kHz switching.
>
> **AI:** *Calls `run_calculation` with buck-converter* → Duty cycle: 20.8%, inductor: 17.4 μH, output cap: 22 μF. [View on rftools.io →](https://rftools.io/calculators/power/buck-converter)
## All 241 Calculators
| Category | Count | Examples |
|----------|------:|---------|
| **RF & Microwave** | 29 | Microstrip impedance, coplanar waveguide (CPW/GCPW), VSWR/return loss, Smith chart, link budget, noise figure cascade, radar range, free-space path loss, mixer spur |
| **PCB Design** | 36 | Trace width for current, controlled impedance, edge-coupled stripline pairs (symmetric, offset, embedded), differential via with stub loss, skin depth percentage, conductor-to-pad width, BGA breakout width, aperture diagonal, maximum pad diameter, effective dielectric constant, via step response, microvia current capacity, asymmetric (offset) stripline, dual stripline, broadside-coupled pair, differential pair, via calculator, crosstalk, critical trace length, fusing current, decoupling capacitor, padstack/annular ring, BGA land pad, conductor spacing, planar spiral inductor, embedded resistor, via voltage drop |
| **Power Electronics** | 21 | Buck converter, boost converter, flyback, LDO thermal, battery life, MOSFET dissipation, solar panel sizing |
| **Signal Processing** | 14 | Filter designer, ADC SNR, FFT bin resolution, PLL loop filter, BER/SNR, Johnson noise, rise time to bandwidth |
| **Antenna Design** | 8 | Dipole, patch, Yagi-Uda, horn, parabolic dish, loop, EIRP, beamwidth |
| **General Electronics** | 24 | Ohm's law, crystal PPM tolerance, op-amp gain, 555 timer, BJT bias, MOSFET operating point, Schmitt trigger, crystal load capacitance |
| **Motor Control** | 22 | DC motor speed, stepper, BLDC, servo, PID tuning, gear ratio, H-bridge selection, torque converter |
| **Communications** | 11 | UART baud rate, I2C pull-up, SPI timing, CAN bus, USB termination, RS-485, Ethernet, Modbus, LIN bus |
| **EMC/EMI** | 16 | Shielding effectiveness, EMI filter, ferrite bead, ESD/TVS diode, radiated emission estimate, common-mode choke |
| **Thermal** | 6 | Heatsink calculator, junction temperature, thermal via array, PCB trace temperature |
| **Sensor Interface** | 17 | NTC thermistor, RTD, thermocouple, Wheatstone bridge, load cell, photodiode, 4-20 mA loop transmitter |
| **Unit Conversion** | 19 | dBm↔Watts, rectangular↔polar, frequency↔wavelength, length (mm/mil/inch), AWG wire, capacitor code, temperature, inductance, data rate |
| **Audio Electronics** | 18 | Speaker crossover, room modes, headphone power, class-D efficiency, audio transformer, equalizer Q |
## Why Use This Instead of Asking the AI to Calculate?
LLMs are unreliable at arithmetic. They may:
- Use simplified formulas that omit corrections (e.g. copper thickness in microstrip)
- Confuse units (mils vs mm, dBm vs dBW)
- Accumulate rounding errors
- Confidently present wrong answers
This MCP server calls the **exact same validated calculator code** that runs on [rftools.io](https://rftools.io). Hammerstad-Jensen for microstrip, Friis for path loss, exact dB/linear conversions — real engineering formulas, not LLM approximations.
## How It Works
**Calculators** are bundled as pure TypeScript functions — no API calls, no network latency, no rate limits. The AI calls the function directly and gets instant results.
```
AI Agent ←stdio→ rftools-mcp ←direct call→ calculator function
```
**Simulation tools** run server-side on rftools.io infrastructure (AWS Lambda + SQS + Fargate). The MCP server submits the job and polls until the result is ready, then returns the full result JSON inline.
```
AI Agent ←stdio→ rftools-mcp ←HTTPS + API key→ rftools.io API → SQS → worker
←poll /jobs/{id}←
←result JSON←
```
## Machine-Readable Documentation
- **[rftools.io/llms.txt](https://rftools.io/llms.txt)** — Summary with API info and MCP setup
- **[rftools.io/llms-full.txt](https://rftools.io/llms-full.txt)** — Complete listing of all 203 calculators with inputs, outputs, units, and URLs
## Links
- **Website:** [rftools.io](https://rftools.io)
- **npm:** [npmjs.com/package/rftools-mcp](https://www.npmjs.com/package/rftools-mcp)
- **Blog:** [rftools.io/blog](https://rftools.io/blog)
- **Announcement:** [rftools.io Now Speaks MCP](https://rftools.io/blog/rftools-mcp-server-ai-agents)
## License
MIT