Skip to main content
Glama
RFingAdam

mcp-nec2-antenna

by RFingAdam

License Python 3.11+ MCP eng-mcp-suite

Design and simulate wire antennas with the NEC2 method-of-moments solver, driven over MCP. Gain patterns, impedance, VSWR, radiation lobes — from your terminal or AI agent.

Quick start · Tools · Workflows · Documentation


What is mcp-nec2-antenna?

mcp-nec2-antenna is an MCP server that wraps NEC2 (Numerical Electromagnetics Code, version 2) — the classic method-of-moments wire-antenna solver — so an LLM agent can design, sweep, and analyze HF / VHF / UHF antennas through plain-English tool calls.

Drive it from any MCP client (Claude Desktop, Claude Code, Codex CLI) or call the NEC2C binary directly via the same card-deck export. Five parameterized antenna geometries (dipole, Yagi-Uda, ground-plane vertical, full-wave loop, inverted-V) compile to NEC2 GW/EX/FR/RP cards, solve with the nec2c reference engine, and return impedance, VSWR, gain, and front-to-back from a single tool call.

What mcp-nec2-antenna does well:

  • 🤖 AI-native via MCP. First-class Model Context Protocol server with 9 tools. Any Claude / LLM agent can drive it.

  • 📡 Reference engine. Uses the canonical NEC2C C implementation — the same solver behind 4nec2, xnec2c, and antenna textbooks.

  • Parameterized geometries. Five built-in wire antennas with closed-form initial sizing; the agent fills in band + height + element count and gets a ready-to-solve deck.

  • 📐 Three ground models. free-space, perfect ground, real (Sommerfeld) ground — picked per geometry.

  • 🔒 AGPL-3.0-or-later. Modifications shared back if served over a network.


Quick start

Install

NEC2C must be on PATH first:

# Ubuntu/Debian
sudo apt install nec2c

# macOS
brew install nec2c

# Arch Linux
yay -S nec2c

Then:

git clone https://github.com/RFingAdam/mcp-nec2-antenna.git
cd mcp-nec2-antenna
uv pip install -e .

Wire it into your MCP client

Claude Code:

claude mcp add nec2-antenna -- uv run --directory /path/to/mcp-nec2-antenna mcp-nec2-antenna

Codex CLI:

codex mcp add nec2-antenna -- uv run --directory /path/to/mcp-nec2-antenna mcp-nec2-antenna

Raw config (Claude Desktop):

{
  "mcpServers": {
    "nec2-antenna": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-nec2-antenna", "mcp-nec2-antenna"]
    }
  }
}

Then ask your assistant in plain English:

"Design a 5-element Yagi for 435 MHz at 10 m height, simulate it, and tell me the gain and front-to-back."

The agent calls nec2_create_yagi followed by nec2_simulate, and reports impedance, VSWR, and radiation pattern.


Tools

Tool

Purpose

Key arguments

nec2_create_dipole

Half-wave horizontal dipole

name, frequency_mhz, height_m

nec2_create_yagi

Yagi-Uda directional beam

name, frequency_mhz, num_elements, boom_height_m

nec2_create_vertical

Quarter-wave vertical w/ radials

name, frequency_mhz, num_radials

nec2_create_loop

Full-wave quad loop

name, frequency_mhz, height_m

nec2_create_inverted_v

Inverted-V dipole from a single mast

name, frequency_mhz, apex_height_m, droop_deg

nec2_simulate

Run NEC2 sweep — Z, VSWR, gain, pattern

antenna_id, frequency_start/stop_mhz, steps

nec2_get_nec_cards

Export raw NEC2 card deck (for 4nec2/xnec2c)

antenna_id

nec2_list_antennas

List antennas in the current session

none

nec2_list_antenna_types

Show built-in antenna types + characteristics

none

Full tool reference in docs/tools.md.


What it solves

Antenna

Typical gain

Pattern

Best for

Dipole

2.15 dBi

Omnidirectional

General purpose, portable

Yagi-Uda

7–15 dBi

Directional

DX, satellites, weak-signal work

Vertical

0–2 dBi

Omnidirectional

Mobile, limited real estate

Loop

3–4 dBi

Bidirectional

Low-noise receive, DX

Inverted-V

2 dBi

Omnidirectional

Single-mast portable

Ground models: free-space, perfect (PEC), and real (Sommerfeld two-medium). Pattern step is configurable; default is 5° azimuth/elevation.


Workflows

mcp-nec2-antenna fits in the following eng-mcp-suite workflow bundles:

  • rf-design — closed-form trans-line synthesis (lineforge) + wire-antenna MoM (this server) + circuit/filter sim (mcp-ltspice-qucs).

  • antenna-bench — antenna design + EMC limit lookup (mcp-emc-regulations) before lab measurement.

See the suite manifest for the full list of sibling MCPs and bundle definitions.


Documentation


Part of eng-mcp-suite

This MCP server is part of

eng-mcp-suite

An open umbrella for engineering MCP servers across RF, EMC, PCB, signal integrity, EM simulation, and lab test. Same brand, same docs structure, designed to compose. See the full catalog or jump to a sibling:

Domain

Sibling MCPs

RF / Transmission lines

lineforge

Circuit + filter sim

mcp-ltspice-qucs

PCB / SI

mcp-pcb-emcopilot

EMC regulatory

mcp-emc-regulations

EM simulation (3D)

mcp-openems

Diagrams

drawio-engineering-mcp

Lab gear

copper-mountain-vna-mcp


Contributing

Contributions are welcome.

  1. Pick a GitHub issue.

  2. Fork + branch (feature/your-thing or fix/your-bug).

  3. Run the local check suite:

    uv run pytest
  4. Open a PR — link the issue, request review.


License

AGPL-3.0-or-later. Relicensed from Apache-2.0 in v0.2.0 to align with the eng-mcp-suite toolkit-wide AGPL move. The underlying NEC2 engine is public-domain US-government code; this wrapper is AGPL-3.0-or-later and is independent of NEC2's public-domain status.

Acknowledgments

  • Gerald J. Burke (LLNL) — original NEC2 Fortran (1981, public domain).

  • Neoklis Kyriazis (5B4AZ)NEC2C C port, the reference engine this server invokes.

  • The MCP working group — for the Model Context Protocol specification.

Part of eng-mcp-suite — built for ham radio operators, RF engineers, and AI agents.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/RFingAdam/mcp-nec2-antenna'

If you have feedback or need assistance with the MCP directory API, please join our Discord server