JS8Call MCP server for HF messaging: decode stream, heard stations, message traffic
Runs on your machine from its package; the steps are below.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx js8call-mcp
MCP client config
{
"mcpServers": {
"js8call": {
"command": "uvx",
"args": [
"js8call-mcp"
]
}
}
}In development
This package is published so the name is held while the work is planned in the open. It registers one tool,
get_version_info, and does nothing else yet. If you install it expecting a working server, that is what you will find — which is why it says so here, in the server's own instructions, and in the one tool it has.PyPI does not reserve a name for a pending trusted publisher, so a name is only held once something is actually published. Given that, a package that says what it is beats an empty one that does not.
Read-only access to JS8Call's API: the decode stream, stations heard, message traffic and the propagation those imply. No write, no PTT, no transmit control — a permanent constraint, not a first-version limit.
Planned work, including the data sources it would use and whether each is actually available, is tracked in qso-graph-devel#48.
Part of the qso-graph project.
uvx js8call-mcp # run it; nothing to install
| Tool | Description |
|---|---|
get_version_info | Service version, development status, and where the work is tracked |
No credentials needed — install and configure your MCP client.
js8call-mcp works with any MCP-compatible client. Add the server config and restart.
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS,
%APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"js8call": {
"command": "uvx",
"args": ["js8call-mcp"]
}
}
}
Add to .claude/settings.json:
{
"mcpServers": {
"js8call": {
"command": "uvx",
"args": ["js8call-mcp"]
}
}
}
Configure via Settings > Apps & Connectors, or in your agent definition:
{
"mcpServers": {
"js8call": {
"command": "uvx",
"args": ["js8call-mcp"]
}
}
}
Not yet — these are what the finished server is for:
"Who has JS8Call heard on 40m in the last hour?"
"What message traffic has come through for my callsign?"
"Which stations are relaying, and how far away are they?"
GPL-3.0-or-later. See LICENSE.