关于 omiss-mcp
omiss-mcp 是面向 OMISS 业余无线电协会成员及电台操作员的 MCP 服务。它从公开页面整合日程、实时活动、成员查询、签到记录和奖项信息,无需登录或 API 密钥。
主要功能
- 01查看电台网和 Statehood 日程
- 02查找正在进行的 OMISS 电台网
- 03查询单个成员资料
- 04查看电台网签到及历史记录
- 05浏览奖项、规则和获奖者
- 06获取协会职务名单和电台网统计
适用场景
- 01查询 OMISS 电台网的时间和频率
- 02核实成员的 OM 编号和状态
- 03查看成员过去的电台网签到记录
- 04查询奖项条件和获奖者
MCP 相关
通过工具向 MCP 客户端提供 OMISS 日程、成员、签到、奖项和统计数据。实时 OMISS 电台网信息来自 NetLogger。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
14收录的工具列表 · 更新于 今天
此工具无需参数。
详细介绍
omiss-mcp
为 OMISS(Old Man International Sideband Society,老年人国际单边带协会)提供的 MCP 服务,可通过任何兼容 MCP 的 AI 助手查询电台联络网时间表、当前正在进行的 OMISS 联络网、会员信息、过往联络网及签到人员、州权时间表、干事、奖项和联络网统计数据。
数据来自 omiss.net 的公开页面;正在进行的联络网数据来自 NetLogger。属于 qso-graph 项目。无需登录或 API 密钥。
安装
uvx omiss-mcp # run it; nothing to install
工具
| 工具 | 描述 | 主要参数 |
|---|---|---|
omiss_net_schedule | 所有联络网的波段、UTC 时间、频率、日期、波段协调员和下次运行时间;节假日日期 | — |
omiss_nets_on_air | 当前正在进行的 OMISS 联络网,数据来自 NetLogger,并逐一匹配联络网时间表 | — |
omiss_member_lookup | 单个会员的信息:OM 编号、呼号、姓名、状态、网格、州、县、最后签到时间 | callsign 或 om_number |
omiss_checkin_history | 过往联络网,按时间从新到旧排列;可选仅查询某位会员、某个波段或某个日期 | callsign、om_number、band、date、net_control |
omiss_net_checkins | 某次过往联络网的信息:联络网控制员、中继、备注和签到列表 | net_id |
omiss_statehood_schedule | 40 米联络网日期及其自由通联州,以及下一次联络网 | — |
omiss_officers | 干事、波段协调员、委员会、任命人员和历任主席 | — |
omiss_awards | 奖项列表及其他奖项工具所需的 ID | — |
omiss_award_rules | 某个奖项的规则,或所有奖项的摘要 | award_id |
omiss_award_recipients | 奖项持有者,按时间从新到旧排列;也可查询某位会员 | award_id、callsign、om_number |
omiss_net_statistics | 各波段的联络网数量、各波段最近一次联络网、签到次数和联络网控制员排名、各州最近签到情况 | state、top |
omiss_eligibility | 查询一组呼号(某次联络网的签到名单)对应的会员身份、OM 编号、静默键状态,以及军人、急救人员和州首府名册 | callsigns |
omiss_set_callsign | 保存你的呼号,供 omiss_nets_on_air 使用(仅询问一次) | callsign |
get_version_info | 服务版本 + 上游规范版本(服务群身份认证) | — |
什么是 OMISS?
OMISS 是一个业余无线电协会,每周七天都在 10 至 160 米波段上运行 HF SSB 联络网。会员在联络网上交换 OM 编号,并争取获得协会奖项。其网站公布联络网时间表、会员名册、每次联络网的签到历史,以及奖项规则和获奖者。
联络网提前开放
联络网控制员通常会在标注时间之前很久就在 NetLogger 上开放联络网供人签到(40 米联络网曾提前 35 分钟开放)。omiss_net_schedule 提供标注时间;omiss_nets_on_air 显示联络网当前是否开放。
你的呼号
只有 omiss_nets_on_air 需要你的呼号:它会向 NetLogger 查询,而 NetLogger 需要知道是哪座电台在查询。首次使用时,助手会询问并保存你的呼号。只会询问一次。其他工具不需要呼号。
文明访问政策
omiss.net 是由志愿者运营的俱乐部网站,而非 API。请温和地访问:
| Measure | Detail |
|---|---|
| 一次只发送一个请求 | 最多每 2 秒发送一个请求;通过设置文件夹中的锁定文件,在你运行的所有副本(Claude Desktop、Claude Code、脚本)之间共享此限制。 |
| 响应缓存 | 日程、官员、Statehood、会员和奖项获得者缓存 24 小时;奖项和规则缓存 7 天;历史记录和统计数据缓存 1 小时。 |
| 优先返回过期答案,而非报错 | 网站宕机或繁忙时,返回上次的答案并注明其时效,而不是报错。 |
| 退避 | 收到“请求过多”或“不可用”的答复后,至少停止所有请求 1 分钟;如果网站要求更长时间,则按其要求执行。 |
| 请求超时 | 超时时间为 20 秒。 |
| User-Agent 标头 | 每个请求都会标明此项目名称,以便网站运营者知道请求来自哪里。 |
| NetLogger | omiss_nets_on_air 遵守 NetLogger 的呼叫限制;如果你也运行 netlogger-mcp,两者会共享限制。 |
安全与隐私
- 发送前会检查每个值:呼号、OM 编号、固定列表中的频段、
YYYY、YYYY-MM或YYYY-MM-DD格式的日期、数字形式的网组 ID,以及网站自身列表中的奖项 ID。绝不会向 omiss.net 发送自由文本。 - 绝不会返回邮寄地址或电子邮件地址,即使页面上显示了这些信息。
- 每次只查询一位会员,通过呼号或 OM 编号查询。不支持按州、县或网格搜索,也不提供名册下载。
快速开始
配置 MCP 客户端
omiss-mcp 适用于任何兼容 MCP 的客户端。添加服务配置并重启即可。工具会自动显示。
Claude Desktop
将配置添加到 claude_desktop_config.json(macOS 上为 ~/Library/Application Support/Claude/,Windows 上为 %APPDATA%\Claude\):
{
"mcpServers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
Claude Code
将配置添加到 .claude/settings.json:
{
"mcpServers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
ChatGPT Desktop
{
"mcpServers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
Cursor
将配置添加到 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局):
{
"mcpServers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
VS Code / GitHub Copilot
将配置添加到工作区中的 .vscode/mcp.json:
{
"servers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
Gemini CLI
将配置添加到 ~/.gemini/settings.json(全局)或 .gemini/settings.json(项目级):
{
"mcpServers": {
"omiss": {
"command": "uvx",
"args": ["omiss-mcp"]
}
}
}
提问
“OMISS 的 40m 网组什么时候开始?频率是多少?”
“KI7MT 是 OMISS 会员吗?他的 OM 编号是多少?”
“目前有哪些 OMISS 网组正在空中运行?”
“OM 7212 今年加入了哪些网组?”
“昨晚的 80m 网组有哪些人签到?”
“下一场 40m Statehood 网组的自由呼叫州有哪些?”
“Alphabet Soup 奖项有哪些要求?我获得这个奖项了吗?”
“过去 90 天里,谁作为网控主持了最多的 OMISS 网组?”
作为 Python 库使用
同一套代码也可以在没有 AI 的情况下使用,并遵守相同的间隔和缓存规则:
from omiss_mcp.omiss import OmissSource
om = OmissSource()
me = om.member_lookup(callsign="KI7MT")["members"][0]
for net in om.checkin_history(om_number_=me["om_number"], date_="2026")["nets"]:
print(net["time"], net["name"], net["checkin_count"])
应用可以通过 ADIF 的 PROGRAMID 和 PROGRAMVERSION 标明自身身份:OmissSource(program_id="MyLogger", program_version="1.0")。
离线测试
OMISS_MCP_MOCK=1 omiss-mcp
MCP Inspector
omiss-mcp --transport streamable-http --port 8015
开发
git clone https://github.com/qso-graph/omiss-mcp.git
cd omiss-mcp
uv sync --group dev
uv run pytest
许可证
GPL-3.0-or-later
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。