get_version_info
Get Version Info
Get netlogger-mcp's version, the NetLogger API version it is built for, and the version of the records it returns.
Takes no parameters.

io.github.qso-graphPublished by GitHub account qso-graphv0.3.1Updated Nov 3, 2026
NetLogger MCP server. Nets on the air, live check-ins and who's up, past nets.
Read-only MCP server that lets an assistant list amateur-radio nets on the air, see live check-ins and who is up now, and review past nets.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
MCP server for NetLogger: nets on the air now, live check-in lists and who's up, and past nets and their check-ins, through any MCP-compatible AI assistant.
Data from NetLogger's public XML Data Service (API 1.3). Part of the qso-graph project. No API key needed. Your callsign is asked for once (see below).
NetLogger is the logging program many amateur-radio nets use: net control or a logger keeps the check-in list, and anyone can follow the net live. Its server publishes active nets, check-in lists and past nets through a public API.
Every request tells NetLogger which station is asking, so it can tell one user from another:
The version is the installed one—it is read from the package, not written here.
On first use the assistant asks for your callsign and saves it. You're asked once. To set it yourself, use NETLOGGER_MCP_CALLSIGN=KI7MT.
It's saved in settings.json, in ~/.config/netlogger-mcp/ (Linux), ~/Library/Application Support/netlogger-mcp/ (macOS) or %APPDATA%\netlogger-mcp\ (Windows).
NetLogger is a donation-funded service on one server, and it limits how often each call may be made. We keep to those limits:
NetLogger's band and frequency are whatever the logger typed (40M, 75M, DMR, 7033, 3918 KHz, 147.030 91.5, TG 3141). They're returned as typed, and beside them, only when the text can be read reliably: frequency_mhz, band_adif (the ADIF band, from ADIF 3.1.7's Band enumeration), tone_hz and talkgroup. A frequency outside the amateur bands (for example, GMRS) gets no band_adif.
NetLogger's check-in data includes street addresses and ZIP codes, and past nets include the IP address of whoever opened them. None of these are ever returned.
netlogger-mcp works with any MCP-compatible client. Add the server config and restart. The tools appear automatically.
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
Add to .claude/settings.json:
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
Add to .vscode/mcp.json in your workspace:
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
"What nets are on the air right now?"
"Are any 80m nets running?"
"Who's checked into the county ARES net, and who's up now?"
"Which nets ran in the last three days?"
"Show me the check-ins from last night's net."
The same code works without an AI, with the same limits and cache. A library can't ask for your callsign, so you pass it in:
Apps can also name themselves, using ADIF's PROGRAMID and PROGRAMVERSION: NetLoggerSource(callsign="KI7MT", program_id="MyLogger", program_version="1.0").
GPL-3.0-or-later. adif_band.json is the ADIF 3.1.7 Band enumeration, the work of the ADIF Developers Group (adif.org.uk), included unchanged.
Source: README.md at commit be561a4
Get Version Info
Get netlogger-mcp's version, the NetLogger API version it is built for, and the version of the records it returns.
Takes no parameters.
Netlogger Set Callsign
Save the user's amateur radio callsign. Needed once, before the first lookup. NetLogger is told which station is asking, in every request, so it can tell one user from another. Ask the user for their own callsign; don't guess it.
callsignrequiredNetlogger Active Nets
List nets on the air now.
name_likeNetlogger Checkins
Get a live net's check-in list, and the pointer: the serial number of the station net control is working now.
net_namerequiredserver_namerequiredNetlogger Past Nets
List closed nets over the last few days, with the net IDs netlogger_past_checkins needs.
name_likeinterval_daysNetlogger Past Checkins
Get a closed net's check-in list.
net_idrequirednet_namerequiredserver_namerequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
uvx netlogger-mcp # run it; nothing to installnetlogger-mcp/<version> (KI7MT; +https://github.com/qso-graph/netlogger-mcp){ "mcpServers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}{ "mcpServers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}{ "mcpServers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}{ "mcpServers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}{ "servers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}{ "mcpServers": { "netlogger": { "command": "uvx", "args": ["netlogger-mcp"] } }}from netlogger_mcp.netlogger import NetLoggerSource
nl = NetLoggerSource(callsign="KI7MT")for net in nl.active_nets()["nets"]: live = nl.checkins(net["server"], net["name"]) print(net["name"], "up now:", live["pointer_callsign"])NETLOGGER_MCP_MOCK=1 netlogger-mcpnetlogger-mcp --transport streamable-http --port 8014git clone https://github.com/qso-graph/netlogger-mcp.gitcd netlogger-mcpuv sync --group devuv run pytest