What netlogger-mcp MCP server does
The netlogger-mcp MCP server makes NetLogger’s public amateur-radio net data available through MCP tools. NetLogger is used by net control operators and loggers to publish active nets, check-in lists, and records of completed nets. The server does not require an API key.
It can find nets currently on the air and return the frequency, band, mode, net control, logger, and monitoring count recorded by NetLogger. It can also retrieve a live net’s check-ins and identify the pointer, meaning the station being worked at that time.
Historical queries cover closed nets from a selected number of days and their check-ins. Past check-in requests use the net identifier returned by the past-net query. The service also provides version information for the MCP service and the upstream specification.
How it works
The server reads from NetLogger’s public XML Data Service, API version 1.3. Each request identifies the caller with a callsign. On first use, the assistant asks for that callsign and stores it locally; it can also be supplied through configuration.
Responses preserve the values entered by the logger for frequency and band. When the text can be interpreted reliably, additional normalized fields may be returned, including frequency in MHz, an ADIF band, tone frequency, and talkgroup. Check-in responses do not expose street addresses or ZIP codes, and historical net results omit the IP address of the person who opened the net.
The netlogger-mcp MCP server applies shared request budgets and caching across copies using the same user configuration. Active-net and past-net data are cached for 60 seconds, live check-ins for 20 seconds, and past check-ins for one hour. Results include as_of_utc and age_seconds, allowing a client to determine how old the returned data is. If a service limit is reached, a cached answer may be returned instead of making another request.
Setup and configuration
Run the server with:
Add it to an MCP client using a uvx command and the netlogger-mcp argument, then restart the client. The README provides configurations for Claude Desktop, Claude Code, ChatGPT Desktop, Cursor, VS Code with GitHub Copilot, and Gemini CLI.
Set NETLOGGER_MCP_CALLSIGN to avoid the first-use prompt. The value is saved in settings.json under the platform’s application-configuration directory. For network-free testing, set NETLOGGER_MCP_MOCK=1. The server can also run over streamable HTTP for MCP Inspector with --transport streamable-http --port 8014.
Tools and capabilities
netlogger_active_nets: find current nets, optionally filtering by a name fragment.
netlogger_checkins: retrieve a live net’s check-ins and current pointer.
netlogger_past_nets: list closed nets from a requested interval, with optional name filtering.
netlogger_past_checkins: retrieve check-ins for a closed net using its server, name, and ID.
netlogger_set_callsign: save or change the caller’s callsign.
get_version_info: report service and upstream specification versions.
Limitations and notes
NetLogger limits request frequency by operation. The server checks those limits before sending requests, shares the budget between local copies, and backs off for at least one minute after a 429 response. Past-net searches covering more than seven days require a name filter. Requests time out after 15 seconds.
Frequency and band fields reflect logger-entered text, so formats can vary. The service returns stale cached data with its age when a new request cannot be made. The server’s User-Agent includes the project name and configured callsign.