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
- Go to claude.ai/download and download Claude for your computer.
- On a Mac, open the downloaded file and drag Claude into Applications. On Windows, run the installer.
- 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
- Start fldigi the way you always do. Claude talks to fldigi through its XML-RPC interface, which is on by default.
- 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.
- 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.
- 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
- On the Downloads page, click
fldigi-mcp.mcpb, andn3fjp-mcp.mcpbif you log with N3FJP. Your browser saves them in your Downloads folder. - In Claude, open Settings → Extensions → Advanced settings → Install Extension and choose
fldigi-mcp.mcpb. - 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.
- 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
- 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 typestopwhile it is sending. The transmitter should drop at once. - 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.
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
- 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.
- 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.
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.
- In fldigi, open Configure → Config Dialog → Soundcard → Devices and note the name next to Capture, for example
iMic USB audio system. - 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. - 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.
- Install BlackHole 2ch from existential.audio/blackhole. It is free. If it does not show up in the next step, restart the Mac.
- 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. - In the receiver program, choose
Radio + speakersas the output. A web receiver plays through the Mac's own output, so for one of those chooseRadio + speakersunder System Settings → Sound → Output. The volume keys do not work on this device, so set the volume in the receiver program. - In fldigi, open Configure → Config Dialog → Soundcard → Devices and set Capture to
BlackHole 2ch. - In Claude, click Configure next to fldigi-mcp and type
BlackHolein 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.
| Socket | Computer | Listening | Who connects |
|---|---|---|---|
| 127.0.0.1:7362 | Windows | fldigi XML-RPC | fldigi-mcp, from inside its sandbox |
| 127.0.0.1:1100 | Windows | N3FJP TCP API | n3fjp-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.
| Socket | Computer | Listening | Who connects |
|---|---|---|---|
| 127.0.0.1:7362 | Mac | fldigi XML-RPC | fldigi-mcp, from inside its sandbox |
| 127.0.0.1:1100 | Mac | mcp-host-bridge | n3fjp-mcp, from inside its sandbox |
| 192.168.1.50:1100 | Windows | N3FJP TCP API | mcp-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.
- Find the Windows computer's address. In Windows, open Command Prompt, type
ipconfig, and note the IPv4 Address, for example 192.168.1.50. - 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 - Leave the n3fjp-mcp host set to
127.0.0.1. - 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)
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.
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.