プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Contest MCP

作者:sbrunner-atxバージョン 0.1.2i★ –iパソコンで動く
レジストリ名io.github.sbrunner-atx/contest-mcp

インストール

概要

作者による説明(英語の原文)

Log amateur-radio QSOs to N3FJP logging software over its TCP API.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: N3FJP_HOST, N3FJP_PORT, N3FJP_TIMEOUT, N3FJP_ALLOW_DB_WIPE

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "contest": {
      "command": "uvx",
      "args": [
        "contest-mcp"
      ],
      "env": {
        "N3FJP_HOST": "your-value",
        "N3FJP_PORT": "your-value",
        "N3FJP_TIMEOUT": "your-value",
        "N3FJP_ALLOW_DB_WIPE": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add contest --env N3FJP_HOST=your-value --env N3FJP_PORT=your-value --env N3FJP_TIMEOUT=your-value --env N3FJP_ALLOW_DB_WIPE=your-value -- uvx contest-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "contest": {
      "command": "uvx",
      "args": [
        "contest-mcp"
      ],
      "env": {
        "N3FJP_HOST": "your-value",
        "N3FJP_PORT": "your-value",
        "N3FJP_TIMEOUT": "your-value",
        "N3FJP_ALLOW_DB_WIPE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "contest": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "contest-mcp"
      ],
      "env": {
        "N3FJP_HOST": "your-value",
        "N3FJP_PORT": "your-value",
        "N3FJP_TIMEOUT": "your-value",
        "N3FJP_ALLOW_DB_WIPE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • N3FJP_HOST env
    N3FJP API host.
  • N3FJP_PORT env
    N3FJP API port (Settings → Application Program Interface). Default 1100. Not the multi-PC networking port.
  • N3FJP_TIMEOUT env
    Seconds to wait for an N3FJP response.
  • N3FJP_ALLOW_DB_WIPE env
    DANGER. When off (default), raw SQL that could delete/overwrite the entire log (DROP/TRUNCATE, unscoped DELETE/UPDATE) is refused. Only enable with a backup and full understanding of the risk.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント sbrunner-atx で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの5566件のうち0%よりスターが多い
  • このカテゴリのほかの5566件のうち20%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5566件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Contest MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.2)がレジストリに届いたのは4 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github広く使われている★ 3.4万5 日前更新

パソコンでもクラウドでも

Desktop Commander

MCP server for terminal commands, file operations, and process management

作者:wonderwhy-er広く使われている↓ 71万/週★ 1万17 日前更新

パソコンで動く

Cloudflare MCP

Cloudflare MCP servers

作者:cloudflare広く使われている★ 444614 か月前更新

クラウドで動く✓ mcp.cloudflare.com

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

n3fjp-mcp

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 — not to

N3FJP**. MIT licensed. "N3FJP" is the callsign and trademark of its owner.

Highlights

  • Automatic logging — the headline log tool 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 permission each), a read-only diagnostics tool, and an n3fjp_call escape hatch for the long tail and future commands.
  • Safe by design for a tool that can touch your log database:
  • Reads are marked read-only so clients can default them to *Always Allow*.
  • Writes (logging, band/mode, and adding, editing or deleting individual records) sit at *Needs Approval*, with no extra in-band confirmation.
  • Whole-database wipes/overwrites are refused outright unless you flip a dedicated, off-by-default N3FJP_ALLOW_DB_WIPE switch.
  • Names match N3FJP — tools and fields mirror N3FJP's own terminology (Action ENTER, CALLTAB, the TXTENTRY… boxes, Class/Section, etc.).
  • No fragile dependencies — the only runtime dependency is the MCP SDK.

Requirements

To install the desktop extension (.mcpb):

  • An N3FJP program running, with Settings → Application Program Interface → "TCP API Enabled" checked (default API port 1100).

Claude Desktop's uv runtime supplies Python and the dependencies, so end users do not install Python or uv themselves.

For development from source you additionally need Python 3.10+ and [uv](https://docs.astral.sh/uv/) (and Node.js, only for the MCP Inspector).

Install

Easiest: one-click desktop extension

Download n3fjp-mcp.mcpb from the latest release, then in Claude Desktop go to Settings → Extensions → Advanced settings → Install Extension… and choose the file. A short settings form asks for the host/port (defaults to 127.0.0.1:1100). No terminal, no Python, no uv to install.

👉 New to this? Follow the step-by-step install guide.

From source (development)
git clone https://github.com/sbrunner-atx/n3fjp-mcp.git

cd n3fjp-mcp uv sync

Then add it to Claude Desktop's config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{

"mcpServers": { "contest": { "command": "uv", "args": ["--directory", "/absolute/path/to/n3fjp-mcp", "run", "n3fjp-mcp"], "env": { "N3FJP_HOST": "127.0.0.1", "N3FJP_PORT": "1100" } } } }

Restart Claude Desktop and ask *"What's the N3FJP status?"*.

Try it with the MCP Inspector
uv run mcp dev src/n3fjp_mcp/server.py

Tools

Each tool is one permission and takes an operation argument.

ToolDefaultControls
statusreadsnapshot: program, version, API version, QSO count, band/mode/frequency
diagnosticsreadresolved host and port, this process's Python and hostname, network interfaces; does not connect to N3FJP
queryreadprogram, qso_count, next_serial, log/settings/shared paths, qso_rate, band_mode_freq
fieldsreadread one entry box, or list visible / all fields with values
searchreadlist recent, search, dupecheck (no side effects), entity status
logapprovallog_qso (set call → CALLTAB → exchange → ENTER), set, set_many, calltab, enter, clear, focus
bandmodeapprovalchange_freq, set_band, set_mode, ignore_rig_polls
notificationsapprovalenable / disable push events, drain buffered events
databaseapprovaladd_direct, delete a record, raw sql, checklog, openlog, sqlclose
n3fjp_callapprovalescape hatch — send any raw command, incl. future ones

All write tools sit at the Needs Approval tier, so you can set them to *Always Allow* in the client for hands-off automation. The single exception is a whole-database wipe (see below), which is hard-blocked regardless.

The headline is log → log_qso:

log_qso  call="W1AW"  contest="field_day"  exchange={"class":"2A","section":"CT"}

This sets the call, fires CALLTAB (dupe check), fills the exchange, sends ENTER, and reports records added plus any dupe detail.

Configuration

VariableDefaultPurpose
N3FJP_HOST127.0.0.1N3FJP API host
N3FJP_PORT1100N3FJP API port (the suite's default)
N3FJP_TIMEOUT6Socket/response timeout, seconds
N3FJP_ALLOW_DB_WIPEoffDanger. Allow whole-database delete/overwrite (raw SQL DROP/TRUNCATE/unscoped DELETE/UPDATE). Leave off unless you really mean it

In the packaged desktop extension these appear as a settings form.

Safety model

Logging doesn't key a transmitter, so there is no transmit gate. The protection here is about your log database:

  • Read operations (status, query, fields, search) are marked read-only — clients can default them to *Always Allow*.
  • Write operations — logging (log), band/mode (bandmode), notifications, and adding, editing, or deleting individual records (database), plus the n3fjp_call escape hatch — all sit at the *Needs Approval* tier. There is no extra in-band confirmation, so you can set them to *Always Allow* in the client and let automation run hands-off.
  • Whole-database operations — raw SQL that could delete or overwrite the entire log (DROP, TRUNCATE, a DELETE/UPDATE with no WHERE) — are the one exception: refused unless N3FJP_ALLOW_DB_WIPE is on. This switch is separate from, and stricter than, the client's approval prompts, and carries a stern warning in the settings form. Back up your log before ever enabling it.

Wherever possible, n3fjp-mcp leans on N3FJP's own validation (it dupe-checks and reports oddities) and surfaces those responses rather than re-implementing them.

Remote / contest-station setups (N3FJP on another computer)

N3FJP runs only on Windows. If N3FJP runs on the same Windows computer as Claude Desktop, leave N3FJP_HOST at 127.0.0.1 and you are done. On a Mac, N3FJP is always elsewhere: in a Windows virtual machine (Parallels, VMware Fusion, UTM) or on a Windows PC on the LAN. A VM has its own network address, so it counts as a different computer and needs the bridge below.

If N3FJP runs on a different computer, there's a catch: a sandboxed MCP client (notably Claude Desktop) runs the connector so it can only reach 127.0.0.1, not LAN addresses — so putting N3FJP's LAN IP in the settings will time out even though telnet to that IP works. Fix it with the standalone mcp-host-bridge tool on the client computer, then set the host to 127.0.0.1:

pipx install mcp-host-bridge            # or download a binary from its releases

mcp-host-bridge install n3fjp --to 192.168.1.50 # knows n3fjp = port 1100; auto-starts

Manage it with mcp-host-bridge status n3fjp / uninstall n3fjp. Full details are in docs/REMOTE-HOST.md and the mcp-host-bridge README. The diagnostics tool helps confirm whether you need it. Keep the link on a trusted LAN — the API is unauthenticated.

Documentation

📻 A field-tested N3FJP API reference (free community resource)

Building this server meant reverse-engineering and live-verifying the N3FJP TCP API, including several places where today's API (v2.2) differs from the public 0.9 documentation. We've written that up as a complete, human-readable guide and are sharing it freely to give back to the community:

  • [The N3FJP TCP API — A Field-Tested Reference](docs/N3FJP-API.md) (PDF) — transport, every command grouped by area, verified response examples, contest exchange fields, and a hard-won gotchas section (the API vs. networking ports, CMD_NOT_FOUND, commands removed since 0.9, the CALLTABEVENT lookup, and why ENTER can report 0 yet still log in networked mode).
  • [Machine-readable spec](docs/N3FJP-API-SPEC.md) — the same information in a terse, structured command catalog suitable for code generation.

Corrections and additions are welcome — please open an issue or PR.

Project docs
  • Install guide and Test plan.
  • Field Day 2026 lessons learned — the full after-action report from running an autonomous BPSK31 Field Day station (class 2A, callsigns anonymized) with n3fjp-mcp + fldigi-mcp: the operating loop, special cases encountered live, and recommended improvements.

Skills

The skills/ directory contains agent skills — operating procedures distilled from live on-air use — bundled with the repo and the .mcpb package:

  • [contest-operating](skills/contest-operating/SKILL.md) — the contest QSO state machine (CQ → exchange → TU → log), the special-case playbook (QRM, garbled callsigns, doubling, no-copy repeats, callsign-only callers), and the verified N3FJP logging sequence with its known quirks. Field-proven during ARRL Field Day 2026.

The [Operating Skills Field Guide](docs/operating-skills-field-guide.pdf) (PDF) documents this skill and its companions fldigi-operating and signal-hunting from the sibling fldigi-mcp — skills at a glance, installation, a plain-language "first session" chapter for hams new to Claude, the operating standard, the special-case playbook, and worked examples transcribed from ARRL Field Day 2026.

To use with Claude Code / Cowork, copy the skill directory into your ~/.claude/skills/ (or a project's .claude/skills/). Pair it with the fldigi-operating skill from fldigi-mcp for radio control.

Development

uv sync

uv run ruff check . # lint uv run pytest # tests (no running N3FJP required) python3 smoke_test.py 192.168.1.50 1100 # Phase 0: prove the link to N3FJP

The test suite covers the wire protocol, the operation maps and field catalog, type coercion, and the permission and dat

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く