n3fjp-mcpSAFE
MCP server for logging amateur-radio QSOs to N3FJP logging software over its TCP API. Sibling of fldigi-mcp.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
An MCP server for logging amateur-radio QSOs to N3FJP logging software — Amateur Contact Log and the 100-plus N3FJP contest loggers — from MCP-aware clients such as Claude Desktop.
Every program in the N3FJP suite shares one TCP control API. n3fjp-mcp speaks that protocol directly (Python's standard-library socket, no third-party wrapper) and exposes it as a small set of logically-grouped MCP tools, so an assistant can log contacts, read the log, run dupe checks, and manage band/mode through plain language.
It is the logging half of an "operate → log" workflow; its sibling project `fldigi-mcp` operates the radio.
Status: experimental (v0.3). Verified live against N3FJP's ARRL Field Day Contest Log, API version 2.2. The protocol is shared across the suite, but field sets vary per contest — confirm with the fields tool.## ⚠️ Independent project — not affiliated with N3FJP n3fjp-mcp is an independent, community project by Stefan Brunner (AE5VG), using the "N3FJP" name with the permission of its owner. It is not affiliated with, endorsed by, or supported by N3FJP Software / Affirmatech. Please direct all support questions for this app to [its issue tracker](https://github.com/sbrunner-atx/n3fjp-mcp/issues) — not to N3FJP. MIT licensed. "N3FJP" is the callsign and trademark of its owner.Highlights
- Automatic logging — the headline
logtool runs the real N3FJP flow:
set the call → CALLTAB (dupe check + previous-contact lookup) → set the exchange → ENTER, surfacing the dupe response and the number of records added.
- Broad coverage — read queries, field read/write, search/list, dupe and
entity checks, band/mode/frequency, direct database operations, and opt-in push notifications, grouped into 9 tools (one permis
e8b10444447cOBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add n3fjp-mcp -- None n3fjp-mcp==0.3.2
Exposed tools (10)
7 read · 3 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
bandmode | read | Change band, mode, and frequency before logging. |
database | read | Direct database operations on individual records. |
diagnostics | read | Host + network diagnostics for troubleshooting connectivity. |
fields | read | Read entry-box (text field) values. |
log | write | Logbook entry: set fields, run Call-tab, and ENTER a QSO. The headline tool. |
n3fjp_call | write | Escape hatch: send any raw N3FJP command and return the parsed reply. |
notifications | write | Opt-in push events from N3FJP (field updates, enter/calltab, dupes). |
query | read | Read-only program queries. |
search | read | Search and list the log (read-only). |
status | read | Snapshot: program, version, API version, QSO count, band/mode/frequency, log path. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
.mcpbignore
Gates applied: no_behavioural_pass.
e8b10444447cfull audit observations/trust-audit/mcp-server/sbrunner-atx__n3fjp-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | e8b10444447c | SAFE | B | 89 | first audit |
Questions
What is the n3fjp-mcp MCP server?
MCP server for logging amateur-radio QSOs to N3FJP logging software over its TCP API. Sibling of fldigi-mcp.
What tools does n3fjp-mcp expose?
10 in total: 7 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is n3fjp-mcp safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does n3fjp-mcp need?
No credential environment variables were found in its source, so it appears to need none.
How does n3fjp-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as n3fjp-mcp.
How current is this page?
The grade is for one exact copy of the source (e8b10444447c), read on 2026-10-12. The repository is watched and re-audited when it changes.