
Mellow Tapir Radio Spectrum Guide
io.github.guycole由 GitHub 帳號 guycole 發布v1.0.2更新於 Nov 3, 2026
Explore likely radio services, channels, and emissions from 108 MHz to 1 GHz.
發布方自己的服務:Mellow Hub
概覽
唯讀無線電頻譜目錄伺服器,讓助理在 108 MHz 至 1 GHz 範圍內辨識頻率、列出頻道並檢索業務。
- 可以做什麼
- 將單一頻率歸類到相符的頻段與已知頻道,支援 Hz、MHz 字串或帶單位寫法
- 依頻率範圍列出已知頻道,含標籤、業務與發射類別
- 以文字檢索業務名稱與用途名稱,並回傳範圍摘要
- 對 SQLite 目錄執行臨時唯讀 SQL(SELECT 或 WITH),寫入操作會被拒絕
- 向本機 Ollama 參考模型送出提示,可附系統提示與溫度參數
- 讀取暴露目錄中繼資料以及種子與結構源檔的資源
- 適用情境
- 適合需要解讀某個無線電頻率、查詢某頻段由哪種業務或頻道佔用,或瀏覽 108 MHz 至 1 GHz 之間頻段、發射類別與頻道目錄的情境。較偏向頻譜規劃、監測或業餘無線電問答,而非一般網路或資料分析工作。
- 執行需求
- 以本機程序(stdio)或 Docker 映像的 streamable HTTP 方式執行。需要由種子 JSON 與結構 SQL 建置的 SQLite 目錄,以及 TAPIR_DB_PATH、TAPIR_SEED_PATH、TAPIR_SCHEMA_PATH 環境變數。參考模型工具需要可連線的 Ollama 端點(OLLAMA_BASE_URL)與 REFERENCE_LLM_MODEL 指定的模型(預設 gpt-oss:20b)。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Mellow Tapir Radio Spectrum Guide,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Tapir MCP Server
This directory contains an MCP server with both stdio and streamable HTTP transports.
The server uses data from src/tapir_schema/seed.json and source schema text from
src/tapir_schema/schema.sql, then serves a read-only SQLite catalog.
Python environment
Use the existing local virtual environment:
Build the SQLite database
Run in stdio mode
Run in HTTP mode
Local testing with Ollama gpt-oss:20b
Start Ollama and ensure the reference model is available:
In another terminal:
Run the MCP server with the same local Ollama endpoint:
When connected with an MCP client, call ask_reference_model with a test prompt.
If Ollama is reachable and the model is present, the tool returns a response body
and metadata including model and done status.
Sample local MCP session (with Ollama)
This sample session verifies end-to-end behavior:
- Build or refresh the SQLite catalog.
- Start Ollama and pull
gpt-oss:20b. - Start the MCP server over HTTP.
- Connect with a client and call tools.
Terminal 1: start Ollama
Terminal 2: pull model and optional sanity prompt
Terminal 3: start Tapir MCP server
Terminal 4: sample client requests
Expected outcome:
classify_frequencyreturns aviation emergency channel data around121.5 MHz.ask_reference_modelreturns a completion from local Ollama modelgpt-oss:20b.
Available tools
classify_frequency- Purpose: classify a single frequency into matching bands and exact known channels.
- Input:
frequencyas numeric Hz, MHz string (121.5), or explicit unit (121.5MHz). - Output: frequency metadata, channel matches, and band matches with emissions.
query_channels- Purpose: list known channels in a frequency range.
- Input:
lower_hz,upper_hz, optionallimit. - Output: ordered channel rows with labels, services, and emissions.
search_services- Purpose: text search across service names and use names.
- Input:
service_query, optionallimit. - Output: matching service/use combinations with range summaries.
execute_readonly_sql- Purpose: ad hoc read-only analysis over the SQLite catalog.
- Input: SQL
SELECTorWITHquery and optionallimit. - Output: column list, row list, and row count.
- Guardrails: write operations are rejected.
ask_reference_model- Purpose: query local reference LLM through Ollama.
- Input:
prompt, optionalsystem_prompt, optionaltemperature. - Output: model response text and completion metadata.
- Default model:
gpt-oss:20b(override withREFERENCE_LLM_MODEL).
Available resources
tapir://metadatatapir://sources/seed-jsontapir://sources/schema-sql
Docker
Build locally:
Run:
The GitHub Actions workflow in .github/workflows/tapir-mcp-server-image.yml publishes
images to GitHub Container Registry.
SQLite data lineage and refresh
The SQLite database in data/tapir.sqlite is generated from two source files:
src/tapir_schema/seed.json: canonical editable catalog of bands, emissions, and channels.src/tapir_schema/schema.sql: source PostgreSQL schema retained for provenance and parity checks.
Generation is handled by mcp_server.build_db, which:
- creates SQLite tables (
band,band_emission,channel,dataset_metadata), - reloads records from
seed.json, - stores source provenance metadata (including source paths and schema SQL text),
- produces a read-ready file used in read-only mode by the MCP server.
When updating the dataset in the future:
- Edit
src/tapir_schema/seed.json. - Optionally update
src/tapir_schema/schema.sqlif source-schema intent changed. - Rebuild SQLite:
- Restart the MCP server so it uses the refreshed SQLite file.
The container image build also runs this same build step during docker build,
so image contents stay aligned with the latest checked-in seed.json and schema.sql.
來源:src/tapir_mcp_server/README.md,提交 629c3be
工具
0版本歷史
1- v1.0.2最新Sep 22, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
