Tesserae
Free, open-source dashboard server for e-ink displays. Compose dashboards in a browser, render dithered frames, and push them over MQTT or REST to e-ink panels. Self-hosted, AGPL-3.0, no tracking.
Free RF & electronics calculators for engineers — Smith Chart, VSWR, link budget, BER, filter design, impedance matching, and 200+ more. Instant results, no signup required.
Developer toolsTypeScript · JavaScriptGitHub @antonpogrebenko-publicOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
MCP server for rftools.io — 241 RF & electronics calculators + 13 simulation tools for AI agents
Loading the full README.
Read the full README ↗MCP server for rftools.io — 257 RF & electronics calculators + 14 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.
Calculators work with no API key, and so do the simulation tools: without one, a job runs on the free lane. A key raises the limits — sign up at rftools.io and generate one from your dashboard. The one thing a key is required for is a file: uploading a file needs an API key; set RFTOOLS_API_KEY.
All 257 calculators run locally with no sign-up required, and every simulation tool that takes no file still submits — on the free lane, with the free limits and the free-lane parameter bounds stated on the response.
A job type that takes a file is the exception. Uploading a file needs an API key; set RFTOOLS_API_KEY. Without one, a call carrying inputFiles or inputPaths is refused here, with that sentence, before the file is read and before any request leaves this machine.
Sign up at rftools.io and generate an API key from your dashboard. Free accounts include 5 simulation runs/month. Pro: 100/month. API tier: 10,000/month. A paid key also unlocks the modes the free lane cannot run: the antenna optimiser and the FDTD normal and fine meshes.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"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 mcp add rftools-mcp -- npx -y rftools-mcp
To add your API key:
claude mcp add rftools-mcp -e RFTOOLS_API_KEY=rfc_your_key_here -- npx -y rftools-mcp
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
25 tools: six for calculators, one simulate_* tool for each of the 14 job
types, and five for the job lifecycle; plus the site's reference tables as
resources.
simulate_impedance_field_solver, a new tool (rftools impedance-field-solver): a 2-D boundary-element solve of a PCB cross-section, quasi-static, with every figure's uncertainty stated. Give planes (bottom, both or none), layers from the bottom up {thickness, er, tanD, dispersion, refFreq} and conductors {role, boundary, x, width, thickness, topWidth or etchFactor, plating} in metres; optionally a conformal mask, copper conductivity and roughness (Hammerstad-Jensen or Huray), several frequencies, solveFor {parameter: width | spacing, target} and tolerances for a first-order spread. It returns, per frequency, Z0 or a pair's differential, common, odd, even and uncoupled impedance, εeff, delay, L and C per length, conductor and dielectric loss, and the stated uncertainty. The free lane takes up to 8 frequencies and 1,200 unknowns; a larger request is refused with what to change.solveMode: "yield" draws whole boards within the tolerances (uniform by default, or normal at 3σ) and tests a specification, 1,000 to 10,000 samples, and returns the pass fraction with its 95 % interval, histograms, the extreme samples and which tolerance to tighten; solveMode: "stackup" searches a catalogue (stackup: layer counts, net classes, fabrication rules, board thickness, a pasted or generic catalogue) for stack-ups that meet every class's impedance, ranked by loss, asymmetric ones marked for warp. A search needs no conductors. Both are refused before any credit is held when over the paid lane's 60-minute budget.This is the beginning of the README. Read the rest at the original. Read the full README ↗