RFlect MCP: Status & Tool Inventory¶
Last Updated: 2026-09-03 Current Version: v6.1.0 Status: Stable
Zero-dependency by design¶
As of v5.0.0, RFlect makes no outbound LLM/API calls and requires no API key or paid subscription. It is a deterministic RF analysis + rendering toolkit. The in-app AI chat assistant, AI report generation, LLM provider abstraction, and encrypted API-key store were all removed.
When RFlect is driven over MCP, the AI agent (Claude Code, Cline, Continue, …) is the LLM. RFlect supplies computed data and rendering; the agent supplies any natural-language narrative. Report prose is data-driven by default, or authored by the agent and passed to generate_report via the narrative parameter.
MCP server (61 tools)¶
rflect-mcp/server.py registers the groups below. Counts are from @mcp.tool() / mcp.tool() registrations. See docs/mcp/tools-reference.md for signatures.
| Category | Count | Examples |
|---|---|---|
| Import | 7 | import_antenna_file, import_passive_pair, get_measurement_details |
| Analysis | 7 | analyze_pattern, get_gain_statistics, get_horizon_statistics, extrapolate_to_frequency |
| Reports | 3 | generate_report, preview_report, get_report_options |
| Bulk | 5 | bulk_process_passive, bulk_process_active, convert_to_cst |
| UWB | 3 | calculate_sff_from_files, analyze_uwb_channel, get_impedance_bandwidth |
| Calibration drift | 12 | cal_drift_ingest, cal_drift_compare, cal_drift_alert, cal_drift_recert_check |
| Orchestration | 1 | process_folder |
| Validation | 1 | analyze_iperf_angle_sweep |
| Comparison | 2 | compare_antennas, summarize_antennas |
| VNA | 2 | analyze_s11, analyze_group_delay |
| Propagation | 1 | estimate_link_budget |
| MIMO | 1 | analyze_mimo_diversity |
| Calibration | 1 | generate_active_cal |
| Compliance | 2 | check_spec_compliance, check_regulatory_eirp |
| Uncertainty | 1 | compute_uncertainty_budget |
| S-parameters | 1 | analyze_multiport_touchstone |
| Statistics | 1 | average_patterns |
| RF methods | 8 | synthesize_array, near_field_to_far_field, calculate_tis, ctia_test_plan_template |
| Instruments | 2 | vna_read_trace, positioner_scan_grid |
rflect://status and rflect://help are MCP resources, not tools.
batch_analyze_frequencies is mentioned in older docs but is not a registered tool.
Smoke check (from the repo root, with the mcp extra installed):
.venv/bin/python -c "import sys, os; sys.path.insert(0, os.path.abspath('rflect-mcp')); import server; print('tools:', len(server.mcp._tool_manager._tools))"
Expected: tools: 61.
Report narrative¶
generate_report produces deterministic, data-driven prose from the measurement
data with no LLM involved. A driving agent may override any of the following via
the narrative parameter (omitted keys fall back to the deterministic text):
executive_summary(str)section_analysis({measurement_name: str})recommendations(str)captions({plot_filename: str})
Deterministic analysis core¶
All analysis math lives in plot_antenna/ (analysis_engine.py, calculations.py,
rf_methods.py, uwb_analysis.py, cal_drift.py, file_utils.py) as pure functions. The MCP tools
are thin wrappers that validate input, call these functions, and return structured
dicts. They never make network or LLM calls and never raise: failures surface in a
warnings list (or an error field on some RF-method tools).
Instrument tools (vna_read_trace, positioner_scan_grid) use an in-memory mock
unless optional pyvisa / pyserial backends are installed (pip install -e ".[instruments]").
History¶
- v6.1.0: 3D-render correctness; Windows packaging (no UPX, PE version resource). Tool count unchanged at 61.
- v6.0.0: RF-method, compliance, uncertainty, instrument, and related tools; MCP count grew to 61.
pip install rflect[mcp]extra. - v5.0.0: Removed the entire AI/LLM stack. Added 6 RF-analysis MCP tools.
generate_reportgainednarrative. MCP tool count 35 → 41. - v4.3.0:
analyze_iperf_angle_sweep. - v4.2.0:
process_foldersingle-call folder orchestration.