{
  "markdown": "# rftools-mcp\n\n[![npm version](https://img.shields.io/npm/v/rftools-mcp)](https://www.npmjs.com/package/rftools-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-compatible-green)](https://modelcontextprotocol.io)\n\n**MCP server for [rftools.io](https://rftools.io) — 241 RF & electronics calculators + 13 server-side simulation tools for AI agents.**\n\nGive 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.\n\n## Quick Start\n\nCalculators work with no API key. For simulation tools, sign up at [rftools.io](https://rftools.io) and generate an API key from your dashboard.\n\n## Setup\n\n### Without API key — calculators only\n\nAll 241 calculators run locally with no sign-up required.\n\n### With API key — calculators + simulation tools\n\nSign 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.\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"rftools\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"rftools-mcp\"],\n      \"env\": {\n        \"RFTOOLS_API_KEY\": \"rfc_your_key_here\"\n      }\n    }\n  }\n}\n```\n\nOmit the `env` block to use calculators only. Restart Claude Desktop after saving.\n\n### Claude Code\n\n```bash\nclaude mcp add rftools-mcp -- npx -y rftools-mcp\n```\n\nTo add your API key:\n\n```bash\nclaude mcp add rftools-mcp -e RFTOOLS_API_KEY=rfc_your_key_here -- npx -y rftools-mcp\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"rftools\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"rftools-mcp\"],\n      \"env\": {\n        \"RFTOOLS_API_KEY\": \"rfc_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n### Windsurf\n\nAdd to `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"rftools\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"rftools-mcp\"],\n      \"env\": {\n        \"RFTOOLS_API_KEY\": \"rfc_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\n### Calculator tools — no API key required\n\n#### `list_calculators`\n\nList available calculators, optionally filtered by category.\n\n```\n\"List all RF calculators\"\n\"What antenna calculators are available?\"\n\"Show me power electronics calculators\"\n```\n\n**Parameters:**\n- `category` (optional): `rf`, `pcb`, `power`, `signal`, `antenna`, `general`, `motor`, `protocol`, `emc`, `thermal`, `sensor`, `unit-conversion`, `audio`\n\n#### `get_calculator_info`\n\nGet detailed info about a calculator — inputs with units/defaults, outputs, and the formula used.\n\n```\n\"What inputs does the microstrip impedance calculator need?\"\n\"Show me the buck converter calculator parameters\"\n```\n\n**Parameters:**\n- `slug` (required): Calculator identifier (e.g. `\"microstrip-impedance\"`)\n\n#### `run_calculation`\n\nRun 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.\n\n```\n\"Calculate microstrip impedance for a 0.3mm trace on 0.2mm Rogers RO4003C\"\n\"What's the link budget for a 2.4 GHz link over 500m?\"\n\"Size a buck converter: 12V in, 3.3V out, 2A\"\n```\n\n**Parameters:**\n- `slug` (required): Calculator identifier\n- `inputs` (required): Object with input values, e.g. `{\"traceWidth\": 0.3, \"substrateHeight\": 0.2}`\n\n---\n\n### Simulation tools — API key required\n\nServer-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.\n\n**Quota:** Free: 5 runs/month · Pro: 100/month · API tier: 10,000/month\n\n#### `list_simulation_tools`\n\nList all 13 available simulation tools with their `jobType` identifiers and parameter reference.\n\n```\n\"What simulation tools are available?\"\n\"Show me the RF simulation tools\"\n```\n\n#### `run_simulation`\n\nSubmit 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.\n\n```\n\"Synthesize a broadband matching network from 50Ω to 200Ω between 800–1200 MHz\"\n\"Run a Monte Carlo tolerance analysis on a 2nd-order Butterworth low-pass filter at 1 GHz\"\n\"Simulate a 3-element Yagi antenna at 144 MHz\"\n\"Estimate radiated emissions from a 10cm trace carrying 50mA at 100 MHz\"\n\"Run SMPS control loop stability analysis on my buck converter\"\n```\n\n**Parameters:**\n- `jobType` (required): Job type identifier — use `list_simulation_tools` to see all valid values\n- `params` (required): Simulation parameters — use `list_simulation_tools` to see required params per job type\n\n**Available simulation tools:**\n\n| Tool | `jobType` |\n|------|-----------|\n| Broadband Impedance Matching Synthesizer | `impedance_match` |\n| RF Filter Monte Carlo Tolerance Analysis | `filter_monte_carlo` |\n| Eye Diagram Generator | `eye_diagram` |\n| NEC2 Wire Antenna Simulator | `antenna_sim` |\n| S-Parameter Analysis Pipeline | `sparam_pipeline` |\n| FDTD S-Parameter Simulator | `fdtd_sparam` |\n| SMPS Control Loop Stability Analyzer | `smps_control_loop` |\n| EMI Radiated Emissions Estimator | `emi_radiated` |\n| Magnetics Optimizer (NSGA-II) | `magnetics_optimizer` |\n| Radar Detection Probability Calculator | `radar_detection` |\n| PDN Impedance Analyzer | `pdn_impedance` |\n| Satellite Link Budget (ITU-R) | `sat_link_budget` |\n| RF Cascade Budget with Monte Carlo | `rf_cascade` |\n\n## Example Conversations\n\n### PCB Design\n\n> **You:** I need a 50-ohm microstrip on 1.6mm FR4 with 1oz copper. What trace width?\n>\n> **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)\n\n### RF Link Budget\n\n> **You:** Will my 100mW 915 MHz LoRa link work at 2km with 3dBi antennas?\n>\n> **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)\n\n### Power Electronics\n\n> **You:** Design a buck converter: 24V input, 5V output, 3A load, 500kHz switching.\n>\n> **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)\n\n## All 241 Calculators\n\n| Category | Count | Examples |\n|----------|------:|---------|\n| **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 |\n| **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 |\n| **Power Electronics** | 21 | Buck converter, boost converter, flyback, LDO thermal, battery life, MOSFET dissipation, solar panel sizing |\n| **Signal Processing** | 14 | Filter designer, ADC SNR, FFT bin resolution, PLL loop filter, BER/SNR, Johnson noise, rise time to bandwidth |\n| **Antenna Design** | 8 | Dipole, patch, Yagi-Uda, horn, parabolic dish, loop, EIRP, beamwidth |\n| **General Electronics** | 24 | Ohm's law, crystal PPM tolerance, op-amp gain, 555 timer, BJT bias, MOSFET operating point, Schmitt trigger, crystal load capacitance |\n| **Motor Control** | 22 | DC motor speed, stepper, BLDC, servo, PID tuning, gear ratio, H-bridge selection, torque converter |\n| **Communications** | 11 | UART baud rate, I2C pull-up, SPI timing, CAN bus, USB termination, RS-485, Ethernet, Modbus, LIN bus |\n| **EMC/EMI** | 16 | Shielding effectiveness, EMI filter, ferrite bead, ESD/TVS diode, radiated emission estimate, common-mode choke |\n| **Thermal** | 6 | Heatsink calculator, junction temperature, thermal via array, PCB trace temperature |\n| **Sensor Interface** | 17 | NTC thermistor, RTD, thermocouple, Wheatstone bridge, load cell, photodiode, 4-20 mA loop transmitter |\n| **Unit Conversion** | 19 | dBm↔Watts, rectangular↔polar, frequency↔wavelength, length (mm/mil/inch), AWG wire, capacitor code, temperature, inductance, data rate |\n| **Audio Electronics** | 18 | Speaker crossover, room modes, headphone power, class-D efficiency, audio transformer, equalizer Q |\n\n## Why Use This Instead of Asking the AI to Calculate?\n\nLLMs are unreliable at arithmetic. They may:\n\n- Use simplified formulas that omit corrections (e.g. copper thickness in microstrip)\n- Confuse units (mils vs mm, dBm vs dBW)\n- Accumulate rounding errors\n- Confidently present wrong answers\n\nThis 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.\n\n## How It Works\n\n**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.\n\n```\nAI Agent ←stdio→ rftools-mcp ←direct call→ calculator function\n```\n\n**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.\n\n```\nAI Agent ←stdio→ rftools-mcp ←HTTPS + API key→ rftools.io API → SQS → worker\n                                ←poll /jobs/{id}←\n                                ←result JSON←\n```\n\n## Machine-Readable Documentation\n\n- **[rftools.io/llms.txt](https://rftools.io/llms.txt)** — Summary with API info and MCP setup\n- **[rftools.io/llms-full.txt](https://rftools.io/llms-full.txt)** — Complete listing of all 203 calculators with inputs, outputs, units, and URLs\n\n## Links\n\n- **Website:** [rftools.io](https://rftools.io)\n- **npm:** [npmjs.com/package/rftools-mcp](https://www.npmjs.com/package/rftools-mcp)\n- **Blog:** [rftools.io/blog](https://rftools.io/blog)\n- **Announcement:** [rftools.io Now Speaks MCP](https://rftools.io/blog/rftools-mcp-server-ai-agents)\n\n## License\n\nMIT\n",
  "bytes": 11079,
  "sha": "a9a5391ff4f55d19e333e958a3e55f9b58923e34cbd92a59de006739a6db3aad",
  "repo_slug": "antonpogrebenko-public/rftools-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_antonpogrebenko_public_rftools_919c62fe/readme"
}