Omiss Mcp

io.github.qso-graph由 GitHub 帳號 qso-graph 發布v0.4.1更新於 Nov 13, 2026

OMISS MCP server. Net schedule, nets on the air, members, check-in history, awards.

概覽

AI 產生的概覽

針對 OMISS 業餘無線電網路電台的唯讀 MCP 伺服器:網路時間表、正在進行的網路、成員查詢、簽到歷史、獎項與統計。

可以做什麼
  • 查詢網路時間表、假日日期、40 公尺 Statehood 時間表,以及目前正在進行的 OMISS 網路
  • 依呼號或 OM 編號查詢單一成員,並列出過往網路及其簽到名單
  • 依呼號清單比對成員與獎項名冊,檢查獎項資格
  • 瀏覽獎項、規則與獲獎者,以及幹部、委員會與受任人員
  • 查看最近 52 週的網路統計,包括各頻段數量與排行榜
  • 儲存使用者呼號一次,供即時網路查詢辨識電台
適用情境
適合業餘無線電愛好者與 OMISS 成員,讓助理回答網路時間與頻率、目前是否有網路開放、誰完成簽到,以及 OMISS 獎項進度等問題。
執行需求
以 Python 套件形式透過 uvx 在本機執行,無需登入或 API 金鑰。需要連線至 omiss.net 與 NetLogger 的網路存取。即時網路工具需儲存一次呼號。
安裝前請注意
伺服器為唯讀,但查詢正在進行的網路時會將使用者的業餘呼號傳送給 NetLogger,若安裝了 netlogger-mcp 也會共用該呼號。對 omiss.net 的請求有速率限制與快取,答案可能過期。成員查詢一次只能查一筆,不提供名冊下載。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Omiss Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

omiss-mcp

[PyPI] [MCP Registry]

MCP server for OMISS, the Old Man International Sideband Society: the net schedule, OMISS nets on the air now, member lookup, past nets and who checked in, the Statehood schedule, officers, awards and net statistics, through any MCP-compatible AI assistant.

Data from omiss.net's public pages; nets on the air from NetLogger. Part of the qso-graph project. No login or API key needed.

Install

bash
uvx omiss-mcp            # run it; nothing to install

Tools

ToolDescriptionKey Parameters
omiss_net_scheduleEvery net's band, UTC time, frequency, days, band coordinator and next run; holiday dates—
omiss_nets_on_airOMISS nets on the air now, from NetLogger, each matched to the net schedule—
omiss_member_lookupOne member: OM number, call, name, status, grid, state, county, last check-incallsign or om_number
omiss_checkin_historyPast nets, newest first, optionally only a member's, a band's or a date'scallsign, om_number, band, date, net_control
omiss_net_checkinsOne past net: net control, relays, notes, and the check-in listnet_id
omiss_statehood_schedule40m net dates and their free-call states, and the next one—
omiss_officersOfficers, band coordinators, committees, appointees, past presidents—
omiss_awardsThe awards, with the IDs the other award tools take—
omiss_award_rulesAn award's rules, or every award's summaryaward_id
omiss_award_recipientsWho holds an award, newest first, or check one memberaward_id, callsign, om_number
omiss_net_statisticsNets per band, last net per band, top check-ins and net controls, last check-in by statestate, top
omiss_eligibilityFor a list of callsigns (a net's check-ins): member or not, OM number, silent key, and the military, first responder and state capital rosterscallsigns
omiss_set_callsignSave your callsign, for omiss_nets_on_air (asked once)callsign
get_version_infoService version + upstream spec version (fleet identity attestation)—

What is OMISS?

OMISS is an amateur-radio society that runs SSB nets on HF, from 10 to 160 meters, every day of the week. Members exchange OM numbers on the nets and work toward the society's awards. Its website publishes the net schedule, the member roster, check-in history for every net, and the award rules and recipients.

Nets Open Early

Net control often opens a net in NetLogger for check-ins well before its listed time (the 40m net has opened 35 minutes early). omiss_net_schedule gives the listed times; omiss_nets_on_air shows whether a net is open now.

Your Callsign

Only omiss_nets_on_air needs it: it asks NetLogger, which is told which station is asking. On first use the assistant asks for your callsign and saves it. You're asked once. The other tools don't need it.

Good Neighbor Policy

omiss.net is a volunteer-run club website, not an API. We read it gently:

MeasureDetail
One request at a timeAt most one request every 2 seconds, shared by every copy you run (Claude Desktop, Claude Code, a script) through a locked file in your settings folder.
Response cachingSchedule, officers, Statehood, members and award recipients 24 hours; awards and rules 7 days; history and statistics 1 hour.
Stale answers over errorsWhen the site is down or busy, the last answer comes back with its age rather than an error.
Back-offA "too many requests" or "unavailable" answer stops all requests for at least a minute, longer if the site asks.
Request timeout20-second timeout.
User-Agent headerEvery request names this project, so the site's operators can see who is asking.
NetLoggeromiss_nets_on_air keeps to NetLogger's call limits, shared with netlogger-mcp if you run it too.

Security and Privacy

  • Every value is checked before it is sent: callsigns, OM numbers, bands from a fixed list, YYYY, YYYY-MM or YYYY-MM-DD dates, numeric net IDs, and award IDs from the site's own list. Free text is never sent to omiss.net.
  • No postal addresses or email addresses are ever returned, even where a page prints one.
  • Members are looked up one at a time, by callsign or OM number. There's no search by state, county or grid, and no roster download.

Quick Start

Configure your MCP client

omiss-mcp works with any MCP-compatible client. Add the server config and restart. The tools appear automatically.

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

json
{  "mcpServers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}
Claude Code

Add to .claude/settings.json:

json
{  "mcpServers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}
ChatGPT Desktop
json
{  "mcpServers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}
Cursor

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

json
{  "mcpServers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}
VS Code / GitHub Copilot

Add to .vscode/mcp.json in your workspace:

json
{  "servers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}
Gemini CLI

Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):

json
{  "mcpServers": {    "omiss": {      "command": "uvx",      "args": ["omiss-mcp"]    }  }}

Ask questions

"When is the OMISS 40m net, and on what frequency?"

"Is KI7MT an OMISS member? What's their OM number?"

"Which OMISS nets are on the air right now?"

"Which nets did OM 7212 check in to this year?"

"Who checked in to last night's 80m net?"

"What are the free-call states on the next 40m Statehood net?"

"What does the Alphabet Soup award require, and have I earned it?"

"Who ran the most OMISS nets as net control in the last 90 days?"

As a Python Library

The same code works without an AI, with the same spacing and cache:

python
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"])

Apps can name themselves, using ADIF's PROGRAMID and PROGRAMVERSION: OmissSource(program_id="MyLogger", program_version="1.0").

Testing Without Network

bash
OMISS_MCP_MOCK=1 omiss-mcp

MCP Inspector

bash
omiss-mcp --transport streamable-http --port 8015

Development

bash
git clone https://github.com/qso-graph/omiss-mcp.gitcd omiss-mcpuv sync --group devuv run pytest

License

GPL-3.0-or-later

來源:README.md,提交 e4be8b9

工具

14

get_version_info

Get Version Info

Get omiss-mcp's version, the omiss.net layout it reads, and the version of the records it returns.

無需輸入參數。

omiss_net_schedule

Omiss Net Schedule

Get the OMISS net schedule: every net's band, UTC time, frequency and window, days, holiday time and band coordinator, and the next time it runs; the schedule's footnotes (holidays, winter schedule); and the federal holiday dates the holiday schedule follows. Days and times are UTC, so an evening net in the Americas falls on the previous local day; use next_utc and as_of_utc to work out "today" in the user's time zone. next_utc is the listed start: nets often open early for check-ins, and a net on the air now shows next_utc as its next run, so ask omiss_nets_on_air whether one is open.

無需輸入參數。

omiss_nets_on_air

Omiss Nets On Air

List OMISS nets on the air now, from NetLogger, each matched to OMISS's own net schedule. A net on NetLogger is an OMISS net when it matches a scheduled one (its frequency is in that net's window, on a day it runs, near its start time) or its name says OMISS. Each says which scheduled net it is.

無需輸入參數。

omiss_set_callsign

Omiss Set Callsign

Save the user's amateur radio callsign, for omiss_nets_on_air. Needed once. NetLogger is told which station is asking. The callsign is shared with netlogger-mcp, if it's installed. Ask the user for their own callsign; don't guess it.

輸入參數callsign必填

omiss_member_lookup

Omiss Member Lookup

Look up one OMISS member by callsign or by OM number (give one).

輸入參數callsignom_number

omiss_checkin_history

Omiss Checkin History

List past OMISS nets, newest first: all of them, or only those a member checked in to, on a band, on a date, or run by a net control. omiss.net shows the latest 100 matches.

輸入參數banddatecallsignom_numbernet_control

omiss_net_checkins

Omiss Net Checkins

Get one past OMISS net: its net control, relays, frequency, net control's notes, and the check-in list.

輸入參數net_id必填

omiss_eligibility

Omiss Eligibility

For stations on a net: is each an OMISS member, and which award categories does it count for? From omiss.net's own rosters. Use it with a net's check-ins (netlogger-mcp's netlogger_checkins for a live net, or omiss_net_checkins for a past one) to see who you still need. Only the callsigns asked about are answered.

輸入參數callsigns必填

omiss_statehood_schedule

Omiss Statehood Schedule

Get the 40m Statehood schedule: each 40m net date and its free-call states, and the next one.

無需輸入參數。

omiss_officers

Omiss Officers

List OMISS's officers, directors, band coordinators, committees, appointees, past presidents and other VIPs.

無需輸入參數。

omiss_awards

Omiss Awards

List the OMISS awards that have recipients, with the award IDs the other award tools take.

無需輸入參數。

omiss_award_rules

Omiss Award Rules

Get an OMISS award's rules, or (no award_id) every award's name, ID and summary.

輸入參數award_id

omiss_award_recipients

Omiss Award Recipients

List who holds an OMISS award, newest certificates first, or check one member.

輸入參數limitaward_id必填callsignom_number

omiss_net_statistics

Omiss Net Statistics

Get OMISS net statistics for the last 52 weeks: nets per band, the last net on each band, and the leaderboards (most check-ins, most nets as net control).

輸入參數topstate

版本歷史

11
  1. v0.4.1最新Oct 29, 2026
  2. v0.3.0Oct 26, 2026
  3. v0.2.2Oct 26, 2026
  4. v0.2.1Oct 26, 2026
  5. v0.2.0Oct 19, 2026
  6. v0.1.10Oct 11, 2026
  7. v0.1.9Oct 7, 2026
  8. v0.1.8Oct 6, 2026
  9. v0.1.6Oct 6, 2026
  10. v0.1.5Sep 29, 2026
  11. v0.1.2Sep 29, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分