mcp-nec2-antenna

mcp-nec2-antenna

Design and simulate wire antennas using the NEC2 method-of-moments solver via MCP. Supports dipole, Yagi-Uda, vertical, loop, and inverted-V geometries with pattern, impedance, and VSWR analysis.

Category
Visit Server

README

<div align="center">

<img src="assets/logo-banner.svg" alt="mcp-nec2-antenna — NEC2 wire-antenna method-of-moments solver" width="100%"/>

<br/>

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

</div>


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

<sub>This MCP server is part of</sub>

eng-mcp-suite

<sub>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:</sub>

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.

<div align="center">

<sub>Part of <a href="https://github.com/RFingAdam/eng-mcp-suite">eng-mcp-suite</a> — built for ham radio operators, RF engineers, and AI agents.</sub>

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured