{"id":"446ecc05-acbe-4458-83c2-d28a0f058bb3","slug":"mellow-tapir","kind":"mcp","name":"mellow-tapir","summary":"Radio spectrum database and MCP server","owner":"guycole","repoUrl":"https://github.com/guycole/mellow-tapir","license":"GPL-3.0","licenseTier":"strong-copyleft","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-09-21T16:20:43.000Z","addedAt":"2026-10-14T05:37:11.061Z","logoUrl":"https://avatars.githubusercontent.com/u/452443?u=a3f9223c02ee4abf9b7cb8a3865fd6d465f8d7e2&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","databases","communication"],"tags":["python","signal-analysis"],"runtime":"docker","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T15:58:27.790Z","sample":false,"url":"https://conduits.dev/tools/mellow-tapir","language":"Python","transports":["http"],"install":{"docker":"ghcr.io/guycole/mellow-tapir-mcp:1.0.2"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# mellow-tapir\n\nMellow-Tapir is an experimental MCP server that helps radio hobbyists explore likely services, channels, and signal types across the radio spectrum from 108 MHz to 1 GHz; it is not a frequency-coordination or regulatory-authority tool.\n\nFor server setup, local Ollama testing, sample MCP client sessions, and Docker usage, see [`src/tapir_mcp_server/README.md`](src/tapir_mcp_server/README.md).\n\n## Available tools\n\nThe Tapir MCP server exposes the following tools:\n\n- `classify_frequency`: classify a single frequency into matching channels and likely services.\n- `query_channels`: list known channels inside a frequency range.\n- `search_services`: search service and use-name text across the catalog.\n- `execute_readonly_sql`: run read-only SQL (`SELECT` or `WITH`) against the SQLite catalog.\n- `ask_reference_model`: query a local reference LLM through Ollama, defaulting to `gpt-oss:20b`.\n\nFor detailed parameters, outputs, and examples, use the tool reference in [`src/tapir_mcp_server/README.md`](src/tapir_mcp_server/README.md).\n\n## Allocation references\n\nThe [`dox/allocation`](dox/allocation) directory is a versioned archive of authoritative United States radio-frequency allocation and service references. The collection prioritizes spectrum at 30 MHz and above and is intended to support source-preserving extraction into a normalized database rather than replace the original publications.\n\nThe archive currently includes:\n\n- **NTIA Redbook:** the complete *Manual of Regulations and Procedures for Federal Radio Frequency Management*, Chapter 4 on allocations and frequency plans, and NTIA's machine-readable allocation table and schema. These are the primary references for federal allocations, allotments, channel plans, and spectrum-management requirements.\n- **NTIA allocation chart:** a visual overview of United States spectrum allocations, useful for orientation and coverage checks but not as a substitute for the underlying allocation tables.\n- **FCC allocation references:** the FCC Online Table of Frequency Allocations and its Allocation History File, covering non-federal allocations, FCC rule-part mappings, footnotes, and allocation changes.\n- **FCC Universal Licensing System documentation:** the ULS public-access-file guide and data dictionaries in PDF and spreadsheet form. These define fields used to interpret licensing records, including frequency and emission data.\n- **Title 47 of the Code of Federal Regulations:** all five volumes of the 2025 annual edition in both PDF and XML. These preserve the governing service rules and provide machine-readable material for extracting frequencies, channel spacing, emission limits, and related requirements.\n\nThe [`manifest.json`](dox/allocation/manifest.json) file is the index to the archive. Each entry records the publishing agency, title and version, effective or publication date when available, original URL, retrieval date, local filename, media type, file size, SHA-256 checksum, and intended use.\n\nSource files are preserved in their original formats. New revisions should be added under a new version directory and appended to the manifest; existing versions should not be overwritten. Derived records should retain links to their source artifact and, where possible, the relevant page, section, table, or rule citation so database results remain traceable to the authoritative material.\n\n## SQLite classifier data pipeline\n\nThe MCP server uses a read-only SQLite file built from the editable catalog under [`src/tapir_schema`](src/tapir_schema).\n\nData sources:\n\n- [`src/tapir_schema/seed.json`](src/tapir_schema/seed.json): authoritative editable band, emission, and channel catalog.\n- [`src/tapir_schema/schema.sql`](src/tapir_schema/schema.sql): reference SQL schema used for provenance and alignment with the source data model.\n\nBuild location:\n\n- [`src/tapir_mcp_server/data/tapir.sqlite`](src/tapir_mcp_server/data/tapir.sqlite)\n\nBuild command:\n\n```bash\ncd /Users/gsc/github/mellow-tapir/src/tapir_mcp_server\n./venv/bin/python -m mcp_server.build_db \\\n\t--db-path data/tapir.sqlite \\\n\t--seed-path ../tapir_schema/seed.json \\\n\t--schema-path ../tapir_schema/schema.sql\n```\n\nWhen source catalog data changes, rebuild the SQLite file with the command above and restart the MCP server.\n"}