AE5VG

From zero to the first QSO

Getting Started

This page is for a ham who has never used an AI assistant. If fldigi already works on your radio, you know enough. Follow the steps in order. Each one says what to click and what you should see.

What you need

Claude is an AI assistant. You type to it in plain English, the way you would write a text message, and it answers. Two small extensions let it work your station. Think of them as rig interface cables: one connects Claude to fldigi, the other connects it to N3FJP. Your fldigi and N3FJP setup does not change. The technical name for these extensions is MCP server. You will see that name on the Downloads page, and that is all you need to know about it.

  • A Mac or a Windows PC where fldigi already decodes and transmits on your radio. Step 2 shows how to check that.
  • N3FJP, if you want Claude to log your contacts. Logging is optional. The N3FJP loggers run only on Windows. On a Mac, run it in a Windows virtual machine (for example Parallels, VMware Fusion or UTM) or on a Windows PC on your network, and see Where everything runs.
  • Your callsign.
  • A Claude account. A paid plan is recommended. On the free plan you can run out of messages in the middle of a QSO.

You do not need a terminal, Python, or any programming.

1 · Install Claude

  1. Go to claude.ai/download and download Claude for your computer.
  2. On a Mac, open the downloaded file and drag Claude into Applications. On Windows, run the installer.
  3. Open Claude and sign in, or create an account. You see a chat window with a box at the bottom. That box is where you type.

2 · Prepare fldigi and N3FJP

  1. Start fldigi the way you always do. Claude talks to fldigi through its XML-RPC interface, which is on by default.
  2. Make sure fldigi can key your radio. Claude never touches the radio itself. It asks fldigi to transmit, and fldigi keys the rig the way you set it up, under Configure → Config Dialog → Rig Control. With an interface such as a RigBlaster, that is usually Hardware PTT: tick Use separate serial port PTT, choose the interface's serial port, tick Use RTS or Use DTR (your interface's manual says which), and click Initialize. Some interfaces, such as a SignaLink, key the radio on their own when audio plays, and then there is nothing to set. To test, click T/R in fldigi: the radio should go to transmit. Click it again to go back to receive.
  3. If your radio also has CAT control through Hamlib, flrig or RigCAT, set that up in the same place. Then Claude can read and change the frequency and mode. Without CAT, Claude works on whatever band the radio is on, and you change bands by hand.
  4. If you log with N3FJP, start it and open Settings → Application Program Interface. Tick TCP API Enabled and leave the port at 1100. If Windows asks whether N3FJP may use the network, allow it on private networks.

3 · Add the radio extensions

  1. On the Downloads page, click fldigi-mcp.mcpb, and n3fjp-mcp.mcpb if you log with N3FJP. Your browser saves them in your Downloads folder.
  2. In Claude, open Settings → Extensions → Advanced settings → Install Extension and choose fldigi-mcp.mcpb.
  3. Claude then shows the extension's settings. If it does not, click Configure next to fldigi-mcp under Settings → Extensions. Type your callsign in Callsign and leave everything else as it is. Without a callsign, Claude can listen but it will never transmit.
  4. Do the same with n3fjp-mcp.mcpb. There is nothing to type for it. If N3FJP runs in a virtual machine or on another PC, which is always the case on a Mac, also set up the bridge described under Where everything runs.

4 · Check the connection

Start a new chat. In the model menu under the box where you type, choose Sonnet and set the effort to Medium. That is the recommended setting: it answers quickly enough to keep up with a QSO, and it uses less of your plan's usage, so a long session costs less. Then type:

What is the fldigi status?

The first time Claude uses fldigi, it asks whether it may. Allow it. Claude then answers with the mode, the frequency, and whether fldigi is receiving or transmitting. If you log with N3FJP, also type What is the N3FJP status?

If the answer is not what you expect, go to If something does not work.

5 · Your first QSO: dummy load first, then the air

1 · CQ2 · Exchange3 · TU4 · Log anyone out there?caller decoded, send oursthey QSL, confirm theirs backwrite it, then QRZ CQ FD CQ FD de <MYCALL> <MYCALL> pse k <CALL> de <MYCALL>Pse copy 2A 2A STX STXde <MYCALL> BK QSL <CLASS> <SECT> TU <CALL>de <MYCALL> GL FD sk sk log → log_qso … check logged: true then QRZ, back to CQ
The four-state loop from the Field Guide: CQ, Exchange, TU, Log, then QRZ and back to CQ.
  1. On a dummy load, test the transmit side. Type Call CQ Field Day once, then listen. The rig should key, send the CQ and drop back to receive, with no carrier left on. Nobody can answer a dummy load, so there is no contact and nothing to log yet. Then ask for another CQ and type stop while it is sending. The transmitter should drop at once.
  2. On the air, watch the first contact. Connect the antenna and type Call CQ Field Day until someone answers. Work them, our exchange is 2A STX, log the contact to N3FJP, then keep calling. Follow the first QSO all the way through: the CQ, the listening period, the exchange, and the entry in the N3FJP log.
Both steps key the transmitter. You are the control operator.

You can type stop at any moment. Under Part 97 you are still the control operator, so stay at the station while it transmits.

If something does not work

Claude says it cannot reach fldigi. Check that fldigi is running, then ask again. If it still fails, type run the fldigi diagnostics. Claude then tells you whether the problem is the connection or fldigi itself.

Claude does not seem to know about fldigi. Open Settings → Extensions and check that fldigi-mcp is turned on. Then start a new chat.

Claude will not transmit. The Callsign setting is empty. Open Settings → Extensions, click Configure next to fldigi-mcp, and enter your callsign.

The contact is not in the N3FJP log. Check that N3FJP is running and that TCP API Enabled is ticked, as in step 2.

Claude says you reached a usage limit. Wait until the limit resets, or move to a paid plan.

Hunting for a station (optional)

You can ask Claude to find someone to work, for example Find me someone calling CQ on 20 meters PSK31. Claude looks at the band, names the mode of each signal (RTTY, CW, PSK, Olivia, MFSK, DominoEX or MT63), and tunes fldigi to a station that is calling CQ. Hunting only listens. It never transmits.

Two ways to hunt

  1. The Signal Browser, preferred. Claude reads fldigi's own Signal Browser, which decodes up to 30 PSK, RTTY or CW stations at once. There is nothing to set up, and Claude uses it on its own when fldigi has it. Today, though, it only works with a patched fldigi that you build from source, and that is not a beginner job. The steps are on the fldigi-mcp page. The same patches also let Claude list the RSID bursts that fldigi heard.
  2. The sound bridge, until then. Claude listens to the receiver audio itself, next to fldigi. It works with the fldigi you have today. You set it up once, as described below.
Proposed, not yet in fldigi

The Signal Browser and RSID patches were offered to the fldigi maintainer on 11 and 16 September 2026 (w1hkj/fldigi issue 55). Neither is merged. Until they are, use the sound bridge.

Set up the sound bridge

The receiver audio has to reach three places: fldigi, Claude, and your ears. How you set that up depends on where the audio comes from.

Your radio connects to the computer with a sound card cable

This is the usual station: an iMic, a SignaLink, or the radio's own USB port. Two programs can listen to the same sound card at once, so Claude simply listens to the one fldigi uses.

  1. In fldigi, open Configure → Config Dialog → Soundcard → Devices and note the name next to Capture, for example iMic USB audio system.
  2. In Claude, open Settings → Extensions and click Configure next to fldigi-mcp. Type that name, or part of it such as iMic, in Audio input device for signal hunting.
  3. You keep hearing the band on the radio's speaker. To hear it on the computer instead, open View → Rx Audio Dialog in fldigi and turn the monitor on. It plays on the device chosen under Soundcard → Alerts.

The receiver audio plays on the computer

This is the case with an SDR program, a web receiver such as a KiwiSDR, or a remote rig program such as wfview. The sound comes out of the speakers and never reaches a sound card input. On a Mac, a free virtual sound card called BlackHole catches a copy of it for fldigi and Claude, and you keep listening.

receiver program Radio + speakers speakers BlackHole 2ch fldigi Claude hunt SDR, web receiver Multi-Output Device you listen
The sound bridge on a Mac: one copy of the receiver audio for your ears, one through BlackHole for fldigi and Claude.
  1. Install BlackHole 2ch from existential.audio/blackhole. It is free. If it does not show up in the next step, restart the Mac.
  2. Open Audio MIDI Setup, which is in Applications → Utilities. Click + at the bottom left and choose Create Multi-Output Device. Tick your speakers or headphones and BlackHole 2ch. Set Primary Device to your speakers, and tick Drift Correction next to BlackHole 2ch. Double-click the new device's name and call it Radio + speakers.
  3. In the receiver program, choose Radio + speakers as the output. A web receiver plays through the Mac's own output, so for one of those choose Radio + speakers under System Settings → Sound → Output. The volume keys do not work on this device, so set the volume in the receiver program.
  4. In fldigi, open Configure → Config Dialog → Soundcard → Devices and set Capture to BlackHole 2ch.
  5. In Claude, click Configure next to fldigi-mcp and type BlackHole in Audio input device for signal hunting.

On Windows, the free VB-Audio Virtual Cable does the same job. Set the receiver program's output to CABLE Input. Set fldigi's Capture and Claude's audio input device to CABLE Output. To keep listening, open the Windows Sound control panel, open CABLE Output on the Recording tab, and tick Listen to this device on the Listen tab.

Your first hunt

Type Find me someone calling CQ on 20 meters PSK31. On a Mac, macOS asks once whether Claude may use the microphone. Allow it. Claude only listens to the sound device you chose above.

So far the mode naming has been tested on five recordings of known mode, and it named all five correctly.

If Claude runs where it cannot reach the sound card, such as in a Cowork session or on a different computer from fldigi, run fldigi-mcp-tap --device iMic on the computer that runs fldigi. This needs a terminal. Then set Signal-hunt tap URL to http://127.0.0.1:7365, or to that computer's address. With no audio at all, Claude can still step fldigi across the band with fldigi's own search. That is slow, and it cannot tell one mode from another.

Where everything runs

The N3FJP loggers run only on Windows. fldigi runs on Mac, Windows and Linux. That gives two common stations, shown below with example addresses.

All on one Windows PC

This is the simplest station. Claude, fldigi, N3FJP and the radio are all on one Windows PC. Every connection stays on 127.0.0.1, so no bridge is needed and nothing is open to the network.

WINDOWS PC · 192.168.1.50 sandbox sandbox Claude Desktop N3FJP fldigi RigBlaster + USB audio radio fldigi-mcp n3fjp-mcp MCP API 127.0.0.1:1100 127.0.0.1:1100 or the radio's own USB listens 127.0.0.1:7362 fldigi → 127.0.0.1:1100, band and mode XML-RPC 127.0.0.1:7362 PTT and audio
Example address. Everything talks over 127.0.0.1 on one PC. Each MCP server still runs in its sandbox, and fldigi sends band and mode to N3FJP.
SocketComputerListeningWho connects
127.0.0.1:7362Windowsfldigi XML-RPCfldigi-mcp, from inside its sandbox
127.0.0.1:1100WindowsN3FJP TCP APIn3fjp-mcp, from inside its sandbox; fldigi, to set band and mode

Two extra settings let fldigi set band and mode in N3FJP. In N3FJP, open Settings → Rig Interface (Ctrl+R), choose N3FJP API under Select Rig, enter the Windows computer's name and port 1100 under Command to Read Frequency (for example MYPC:1100), leave Mode Determined By at Rig, and click Save Settings. N3FJP then takes its band and mode from its API on port 1100, the same port n3fjp-mcp uses. Then, in fldigi, open Configure → Config Dialog → Logging → N3FJP logs, leave the address at 127.0.0.1 and the port at 1100, and tick Connect to the N3FJP log server.

Claude and fldigi on a Mac, N3FJP on Windows

On a Mac, the usual station keeps Claude, fldigi and the radio on the Mac. The radio connects by USB, or through a RigBlaster and a USB audio adapter. N3FJP runs in a Windows virtual machine on the same Mac, or on a Windows PC on your network. No radio is connected to the Windows side: fldigi sends the band and mode to N3FJP over the network, so that they are set automatically. A virtual machine counts as another computer here, because it has its own network address. In the example, the Mac is 192.168.1.20 and Windows is 192.168.1.50.

MAC · 192.168.1.20 WINDOWS PC OR VM · 192.168.1.50 sandbox sandbox Claude Desktop mcp-host-bridge fldigi N3FJP RigBlaster + USB audio radio fldigi-mcp n3fjp-mcp MCP listens 127.0.0.1:7362 127.0.0.1:1100 → 192.168.1.50:1100 API 192.168.1.50:1100 LAN no radio attached LAN: fldigi → 192.168.1.50:1100, band and mode or the radio's own USB XML-RPC 127.0.0.1:7362 PTT and audio
Example addresses. Each MCP server runs in a sandbox that reaches only 127.0.0.1. Two connections cross the network, both to N3FJP's API on port 1100: one from mcp-host-bridge, and one from fldigi for band and mode. No radio is attached to N3FJP.
SocketComputerListeningWho connects
127.0.0.1:7362Macfldigi XML-RPCfldigi-mcp, from inside its sandbox
127.0.0.1:1100Macmcp-host-bridgen3fjp-mcp, from inside its sandbox
192.168.1.50:1100WindowsN3FJP TCP APImcp-host-bridge, over the LAN; fldigi, over the LAN, to set band and mode

This part needs a terminal. Claude Desktop runs extensions in a sandbox that can only reach 127.0.0.1, the computer Claude is on. mcp-host-bridge carries that connection to the other computer. Its page shows how to install it, with no Python needed.

  1. Find the Windows computer's address. In Windows, open Command Prompt, type ipconfig, and note the IPv4 Address, for example 192.168.1.50.
  2. On the Mac, install mcp-host-bridge and run the command below, with that address in place of 192.168.1.50. It keeps running after a restart.
    mcp-host-bridge install n3fjp --to 192.168.1.50
  3. Leave the n3fjp-mcp host set to 127.0.0.1.
  4. Let fldigi set band and mode in N3FJP. In N3FJP, open Settings → Rig Interface (Ctrl+R), choose N3FJP API under Select Rig, enter the Windows computer's name and port 1100 under Command to Read Frequency (for example MYPC:1100), leave Mode Determined By at Rig, and click Save Settings. N3FJP then takes its band and mode from its API on port 1100, the same port n3fjp-mcp uses. Then, in fldigi on the Mac, open Configure → Config Dialog → Logging → N3FJP logs, enter the Windows address (192.168.1.50 in the example) and port 1100, and tick Connect to the N3FJP log server. fldigi is an ordinary program, not a sandboxed extension, so it reaches N3FJP directly without the bridge. If macOS asks whether fldigi may find devices on your local network, allow it.

The same bridge command works with fldigi or wsjtx in place of n3fjp, for a station where that program runs on a different computer from Claude. fldigi on another computer must then accept connections from the network: set its XML-RPC address to 0.0.0.0 under Configure → Config Dialog → Misc → TCP-IP sessions. Keep these links on a trusted LAN. They are not encrypted, and fldigi's XML-RPC interface does not ask for any login.

Other AI assistants (advanced)

Not needed for Claude Desktop

If you use the Claude Desktop app, skip this part. The two extensions from step 3 are all it needs. Cowork and Claude Code sessions in the app use the same extensions.

This part is for advanced users. The MCP servers and their skills are not tied to Claude. MCP is an open standard, so in principle any AI assistant or agent harness that speaks it can use them, for example an agentic harness such as OpenClaw, which would make an interesting environment for a station.

Untested outside Claude

Other assistants and harnesses should work, but they have not been tested, and there are no ready-made configurations for them yet. If you get one running, please share your configuration in an issue on the relevant repository.

Other assistants that support MCP, such as Claude Code in a terminal or a third-party MCP client, cannot install a .mcpb file. They start each connector themselves from PyPI with uvx, which comes with uv. In Claude Code in a terminal, you run one command for each connector. Put your own callsign in place of YOURCALL.

claude mcp add fldigi -e FLDIGI_CALLSIGN=YOURCALL -- uvx fldigi-mcp
claude mcp add n3fjp -- uvx n3fjp-mcp

Other clients take the same information as a configuration block:

{
  "mcpServers": {
    "fldigi": {
      "command": "uvx",
      "args": ["fldigi-mcp"],
      "env": { "FLDIGI_CALLSIGN": "YOURCALL" }
    },
    "n3fjp": {
      "command": "uvx",
      "args": ["n3fjp-mcp"]
    }
  }
}

Here the settings are environment variables. fldigi-mcp uses FLDIGI_HOST, FLDIGI_PORT and FLDIGI_CALLSIGN. n3fjp-mcp uses N3FJP_HOST and N3FJP_PORT. Leave FLDIGI_CALLSIGN out and the station can only receive. For Claude Code in a terminal, also copy the skill directories (skills/<name>/) from each repository into ~/.claude/skills/, or into a project's .claude/skills/.

Where to go next

The full operating standard is the Operating Field Guide (PDF), which you can also read online. The User Guide has the other guides. The fldigi-mcp page lists the tools and the settings. Downloads has every file. If you want to help with the software, start at Development.