GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Log amateur-radio QSOs to N3FJP logging software over its TCP API.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
N3FJP_HOST, N3FJP_PORT, N3FJP_TIMEOUT, N3FJP_ALLOW_DB_WIPE必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
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/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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .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 envN3FJP_PORT envN3FJP_TIMEOUT envN3FJP_ALLOW_DB_WIPE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント sbrunner-atx で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック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
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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
fieldstool.
## ⚠️ Independent project — not affiliated with N3FJP
n3fjp-mcpis 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.
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.diagnostics tool, and an n3fjp_call escape hatch for the long tail and future commands.N3FJP_ALLOW_DB_WIPE switch.ENTER, CALLTAB, the TXTENTRY… boxes, Class/Section, etc.).To install the desktop extension (.mcpb):
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).
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.
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?"*.
uv run mcp dev src/n3fjp_mcp/server.py
Each tool is one permission and takes an operation argument.
| Tool | Default | Controls |
|---|---|---|
status | read | snapshot: program, version, API version, QSO count, band/mode/frequency |
diagnostics | read | resolved host and port, this process's Python and hostname, network interfaces; does not connect to N3FJP |
query | read | program, qso_count, next_serial, log/settings/shared paths, qso_rate, band_mode_freq |
fields | read | read one entry box, or list visible / all fields with values |
search | read | list recent, search, dupecheck (no side effects), entity status |
log | approval | log_qso (set call → CALLTAB → exchange → ENTER), set, set_many, calltab, enter, clear, focus |
bandmode | approval | change_freq, set_band, set_mode, ignore_rig_polls |
notifications | approval | enable / disable push events, drain buffered events |
database | approval | add_direct, delete a record, raw sql, checklog, openlog, sqlclose |
n3fjp_call | approval | escape 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.
| Variable | Default | Purpose |
|---|---|---|
N3FJP_HOST | 127.0.0.1 | N3FJP API host |
N3FJP_PORT | 1100 | N3FJP API port (the suite's default) |
N3FJP_TIMEOUT | 6 | Socket/response timeout, seconds |
N3FJP_ALLOW_DB_WIPE | off | Danger. 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.
Logging doesn't key a transmitter, so there is no transmit gate. The protection here is about your log database:
status, query, fields, search) are marked read-only — clients can default them to *Always Allow*.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.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.
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.
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:
CMD_NOT_FOUND, commands removed since 0.9, the CALLTABEVENT lookup, and why ENTER can report 0 yet still log in networked mode).Corrections and additions are welcome — please open an issue or PR.
The skills/ directory contains agent skills — operating procedures distilled from live on-air use — bundled with the repo and the .mcpb package:
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.
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
冒頭だけを表示しています。続きはリポジトリで読めます