rsba1-mcp
by fe1iscurc0r
README.md
# rsba1-core
**Pure Python implementation of the Icom RS-BA1 V2 protocol stack** — control IC-705, IC-9700 and any CI-V transceiver over the network. No Icom binaries required.
[](LICENSE)
[](https://python.org)
[](https://github.com/fe1iscurc0r/rsba1-core/actions)
## What is this?
Icom's RS-BA1 software runs on Windows only and is closed-source. This project reverse-engineers the protocol and provides a **pure Python replacement** that runs anywhere Python runs.
**Tested on: IC-705** (E2E verified 2026-08-18)
## Quick Start
```bash
pip install "rsba1-core[mcp]" # MCP server needs fastmcp; plain CLI: pip install rsba1-core
export RADIO_HOST=192.168.0.31
export RADIO_USER=radio_user
export RADIO_PASSWORD=your_password
python -m rsba1.mcp read-freq
python -m rsba1.mcp set-freq 7074000
```
## Platform Support
| Platform | Network (radio-link) | Serial | Mailslot / CivCtrl.dll |
|----------|---------------------|--------|------------------------|
| Linux | ✅ pure Python UDP | ✅ `[serial]` | ❌ Windows-only |
| macOS | ✅ pure Python UDP | ✅ `[serial]` | ❌ Windows-only |
| Windows | ✅ pure Python UDP | ✅ `[serial]` | ✅ legacy backends |
The default `radio-link` backend is **pure Python UDP** — no Icom binaries, no
DLLs, no pywin32. The Windows-only backends (`--backend mailslot`, `CivCtrl.dll`)
live behind optional `[windows]` extras and are guarded so they never break
imports or test collection on Linux/macOS. Serial support needs `pyserial`
(`pip install "rsba1-core[serial]"`).
## MCP Server (for AI Agents)
```bash
python -m rsba1.mcp # starts MCP server on stdio
```
Available tools: `read_freq`, `read_mode`, `read_smeter`, `set_freq`, `ptt`, `get_status`
## Architecture
```
Your AI Agent / CLI
↓
rsba1-core (pure Python)
↓
IC-705 RS-BA1 server (UDP 50001 + 50002)
```
Key: no Windows APIs, no Icom DLLs, Python 3.11+ only.
## Feature Status
| Feature | Status |
|---------|--------|
| CI-V read (freq/mode/smeter) | ✅ E2E verified |
| CI-V write (set_freq) | ✅ E2E verified |
| PTT | ✅ E2E verified |
| Audio streaming (UDP 50003) | ❌ Not implemented |
## Documentation
- [docs/README.md](docs/README.md) — Bilingual (Chinese/English) full guide
- [docs/MCP集成指南.md](docs/MCP集成指南.md) — MCP integration guide
- [docs/真机验证报告.md](docs/真机验证报告.md) — E2E verification report
## License
MIT — see [LICENSE](LICENSE) and [DISCLAIMER.md](DISCLAIMER.md).
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues