contest-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| N3FJP_HOST | No | N3FJP API host | 127.0.0.1 |
| N3FJP_PORT | No | N3FJP API port (the suite's default) | 1100 |
| N3FJP_TIMEOUT | No | Socket/response timeout, seconds | 6 |
| N3FJP_ALLOW_DB_WIPE | No | Danger. Allow whole-database delete/overwrite (raw SQL DROP/TRUNCATE/unscoped DELETE/UPDATE). Leave off unless you really mean it | off |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statusA | Snapshot: program, version, API version, QSO count, band/mode/frequency, log path. A quick health check that also confirms the connection and which N3FJP program/contest is loaded. |
| diagnosticsA | Host + network diagnostics for troubleshooting connectivity. Does NOT connect to N3FJP. Reports the resolved N3FJP_HOST/PORT, this process's Python and hostname, and the host's network interfaces — so you can tell whether the process can even see the target's network (e.g. when running host-side vs. sandboxed). |
| queryA | Read-only program queries. operations: program (name/version/API version), qso_count, next_serial, log_path, settings_path, shared_path, qso_rate (contest stats), band_mode_freq (current band/mode/frequency). |
| fieldsA | Read entry-box (text field) values. operations:
Derived fields (country_worked, cq_zone, itu_zone, continent, prefix) are readable here but are computed by N3FJP from the call — never write them. |
| logA | Logbook entry: set fields, run Call-tab, and ENTER a QSO. The headline tool. operations:
Tip: |
| bandmodeA | Change band, mode, and frequency before logging. operations:
Always make sure the program is on the correct band and mode before ENTER. |
| searchA | Search and list the log (read-only). operations:
|
| databaseA | Direct database operations on individual records. These are ordinary writes (the Needs Approval tier — same as logging), so they can be globally allowed in the client for automation. The ONLY hard block is a whole-database wipe/overwrite, gated by N3FJP_ALLOW_DB_WIPE. operations:
|
| notificationsA | Opt-in push events from N3FJP (field updates, enter/calltab, dupes). operations:
MCP is request/response, so events are buffered and you pull them with drain rather than receiving a live stream. |
| n3fjp_callA | Escape hatch: send any raw N3FJP command and return the parsed reply.
This reaches anything not surfaced by a group tool, including newer commands. Like the group tools, it runs at the Needs Approval tier; the only hard block is a raw SQL statement that could wipe/overwrite the whole database, which still requires the N3FJP_ALLOW_DB_WIPE switch. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools have distinct purposes, but 'status' and 'query' both provide program information, causing slight overlap. Descriptions help disambiguate.
Tool names are all lowercase and descriptive, but they lack a consistent pattern (e.g., 'bandmode' vs 'n3fjp_call', no verb_noun structure).
10 tools cover the essential aspects of contest logging without being excessive or insufficient.
The surface is comprehensive: status, diagnostics, query, field reading, notifications, logging, band/mode control, search, direct database access, and a raw escape hatch cover all core needs.