Qsp Client

io.github.qso-graph由 GitHub 账号 qso-graph 发布v0.5.1更新于 Oct 29, 2026

QSP — relay MCP tools to any OpenAI-compatible local LLM (llama.cpp, Ollama, vLLM)

已验证STDIO仅桌面开发者工具AI 与机器学习

概览

AI 生成的概览

本地 MCP 客户端,在兼容 OpenAI 的本地 LLM 端点与已配置的 MCP 服务器之间转发工具调用。

可以做什么
  • 在本地兼容 OpenAI 的 LLM 与配置中列出的 MCP 服务器之间转发工具调用
  • 以交互会话或单次提问模式对接指定端点、模型与工具配置档
  • 在命令行列出可用工具、切换工具配置档并设置各服务器超时
  • 将 ADIF 业余无线电日志转换为 JSON 或 NDJSON,可按频段、模式、呼号和日期筛选
适用场景
当你运行支持函数调用的本地模型(llama.cpp、Ollama、vLLM、SGLang),并希望该模型调用 MCP 服务器工具而不经过云端时使用。也适合离线转换 ADIF 日志。
运行要求
需要本地 Python 环境,通过 uv tool install 或 pip 安装。需要一个正在运行的兼容 OpenAI 的 chat completions 端点,若该端点要求则还需 API 密钥。需要一份按 Claude Desktop mcpServers 格式列出待转发 MCP 服务器的配置文件。仅限桌面端。
安装前请注意
它是客户端而非服务器,本身不会向助手提供工具。写入类工具默认关闭,需显式开启写入选项。LLM 端点的 API 密钥可通过命令行传入。文档称凭据保留在 MCP 服务器内部,外部连接仅使用 HTTPS(局域网端点除外)。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Qsp Client,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

qsp-client

[PyPI] [MCP Registry]

QSP — relay MCP tools to any OpenAI-compatible local LLM endpoint.

Named after the Q-signal QSP ("Will you relay?"), qsp-client relays tool calls between a local LLM and MCP servers. It is an MCP client: any model with function calling gains access to the qso-graph servers' tools, from local weights, not from cloud.

Formerly qsp-mcp. See Moving from qsp-mcp.

Install

bash
uv tool install qsp-client   # the qsp-client command, on your PATHpip install qsp-client       # or into your own environment

Quick Start

bash
# Interactive modeqsp-client --config ~/.config/qsp-client/config.json
# Single queryqsp-client --query "What bands are open from DN13 to JN48 right now?"
# Direct endpoint (no config file needed if no MCP servers configured)qsp-client --endpoint http://localhost:8000/v1/chat/completions --api-key sk-xxx

Configuration

The config format is Claude Desktop compatible — copy your existing mcpServers block directly:

json
{  "mcpServers": {    "ionis": {      "command": "ionis-mcp",      "env": { "IONIS_DATA_DIR": "/path/to/datasets/v1.0" }    },    "solar": {      "command": "solar-mcp"    },    "wspr": {      "command": "wspr-mcp"    }  },  "bridge": {    "endpoint": "http://localhost:8000/v1/chat/completions",    "model": "AstroSage-70B",    "temperature": 0.3,    "system_prompt": "You are an expert ham radio operator and RF engineer.",    "max_tool_calls_per_turn": 5,    "profiles": {      "contest": {        "servers": ["n1mm", "ionis", "solar", "wspr"],        "temperature": 0.2,        "system_prompt": "You are a contest advisor. Be concise."      },      "propagation": {        "servers": ["ionis", "solar", "wspr"],        "temperature": 0.3      },      "full": {        "servers": "*",        "temperature": 0.3      }    },    "server_timeouts": {      "ionis": 1,      "solar": 8,      "qrz": 5    }  }}

The mcpServers block uses the exact same format as Claude Desktop. The bridge section is qsp-client specific (ignored by Claude Desktop).

CLI Options

qsp-client [OPTIONS]
Options:  -c, --config PATH       Config file path (default: ~/.config/qsp-client/config.json)  -e, --endpoint URL      LLM endpoint URL (overrides config)  -k, --api-key KEY       API key for the LLM endpoint  -m, --model NAME        Model name (overrides config)  -p, --profile NAME      Tool profile (contest, dx, propagation, full)  -q, --query TEXT        Single query mode — ask one question and exit  --enable-writes         Enable write-capable tools (disabled by default)  --list-tools            List available tools and exit  --version               Show version

Interactive Commands

CommandAction
/toolsList available tools
/helpShow help
quitExit (also: exit, q, 73)

ADIF tools

qsp-adif-convert converts an ADIF (.adi) log to JSON or NDJSON, with filters for band, mode, callsign, date range and confirmed QSOs:

bash
qsp-adif-convert -i mylog.adi -o mylog.jsonqsp-adif-convert --help

It works on files on your own machine and opens no connection. It used to be adif-mcp convert; adif-mcp is now only the MCP server.

Design

qsp-client is a strict, stateless pipe between an LLM and MCP tools:

  • No caching, no shared state, no health polling
  • All state lives in MCP servers
  • All inference optimization lives in the inference server (prefix caching, KV-cache)
  • qsp-client just connects the two sides

Works with any OpenAI-compatible endpoint: llama.cpp, Ollama, vLLM, SGLang.

Security

  • Write-capable tools disabled by default (--enable-writes opt-in)
  • Credentials stay inside MCP servers (OS keyring) — never exposed to qsp-client or the LLM
  • No subprocess, no shell execution, no eval
  • All external connections HTTPS only (LAN endpoints exempted)

Moving from qsp-mcp

qsp-client is qsp-mcp, renamed: in the MCP world, -mcp names mark servers, and this is a client.

  • Install the new name: pip uninstall qsp-mcp && pip install qsp-client.
  • Your config keeps working: ~/.config/qsp-mcp/config.json and ~/.qsp-mcp.json are still read, after the new ~/.config/qsp-client/config.json and ~/.qsp-client.json.
  • The qsp-mcp command still works, and says it has moved. Use qsp-client.

License

GPL-3.0-or-later — see LICENSE.

Part of the qso-graph ecosystem

qso-graph.io — MCP servers for amateur radio.

来源:README.md,提交 bd6064b

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

8
  1. v0.5.1最新Oct 29, 2026
  2. v0.4.1Oct 26, 2026
  3. v0.4.0Oct 12, 2026
  4. v0.3.5Oct 11, 2026
  5. v0.3.4Oct 11, 2026
  6. v0.3.3Oct 7, 2026
  7. v0.3.2Oct 6, 2026
  8. v0.3.0Sep 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分