aprs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APRS_HOST | No | APRS-IS server, default euro.aprs2.net | euro.aprs2.net |
| APRS_PORT | No | Default 14580 (140 for legacy tin) | 14580 |
| APRS_CALLSIGN | Yes | Your base callsign, e.g. ZL1ABC. Never transmit with NOCALL. | |
| APRS_NTP_HOST | No | NTP server for local timezone, default xxx.xxx.xxx.xxx | xxx.xxx.xxx.xxx |
| APRS_PASSCODE | Yes | APRS-IS passcode for the callsign. Use -1 for receive-only. | |
| APRSFI_API_KEY | No | Optional aprs.fi API key for fast aprs_position lookups |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| aprs_cmd_listA | List the APRS tools exposed by this MCP server. |
| aprs_send_messageA | Send an APRS message to another callsign via APRS-IS. |
| aprs_positionA | Look up the last known position(s) of a callsign. If APRSFI_API_KEY is configured, the aprs.fi API is queried first for the station's last known location (fast, reliable). Otherwise the APRS-IS stream is listened to with a station filter until a matching packet is received or the timeout expires. |
| aprs_nearbyA | List APRS stations transmitting within a radius of a latitude/longitude. |
| aprs_listenA | Stream packets matching an APRS-IS filter string for a fixed duration. |
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 5 tools
Each tool has a clearly distinct purpose: sending messages, looking up positions, finding nearby stations, streaming raw packets, and listing commands. There is minimal overlap between these operations.
All tools share the 'aprs_' prefix, but the pattern is inconsistent: some use verb_noun (send_message), some are bare verbs (listen), and others are nouns or adjectives (position, nearby). The naming is readable but does not follow a single consistent convention.
With 5 tools, the server is well-scoped for its purpose. Each tool serves a distinct APRS-related function, and the count is neither overwhelming nor too sparse.
The toolset covers key APRS operations: sending messages, retrieving positions, discovering nearby stations, and listening to filtered packet streams. Missing advanced features like weather data or route history are minor gaps that do not impede core workflows.