ibs-70v-calculator-mcp
v1.0.0
Published
MCP server for 70V line audio system calculations — sizing, amplifier recommendation, cable loss. By IBS Áudio.
Downloads
46
Maintainers
Readme
IBS 70V Calculator MCP
Model Context Protocol (MCP) server for designing 70V/100V constant-voltage audio systems — sizing, amplifier recommendation, and cable loss calculation.
Built and maintained by IBS Áudio — Brazilian manufacturer of commercial audio equipment since 1979. Domain logic embedded; no external API calls; works offline.
What it does
Exposes three tools to any MCP-compatible client (Claude Desktop, Cursor, Cline, Continue, custom agents):
| Tool | Purpose |
| --- | --- |
| calculate_70v_system | Sizes a distributed audio system: total wattage, zones, SPL estimate, headroom, ABNT NBR 10152 compliance |
| recommend_amplifier | Suggests the right IBS amplifier (PWM series) for the calculated load, including redundancy and multi-zone options |
| calculate_cable_loss | Computes power loss in dB / %, voltage drop, and recommends a larger AWG if loss exceeds 0.5 dB |
All calculations follow:
- 70V/100V constant-voltage distribution (NEMA / IEC 60268-5)
- ABNT NBR 10152:2017 — Brazilian acoustic comfort standard
- AWG copper resistance @ 20°C (NIST / IEC 60228)
- NEC Article 760 — 25% headroom rule
Install
Global (recommended)
npm install -g ibs-70v-calculator-mcpFrom source
git clone https://github.com/Austhen-Xcene/ibs-70v-calculator-mcp.git
cd ibs-70v-calculator-mcp
npm install
npm linkRun tests
npm testClaude Desktop config
Add this entry to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"ibs-70v-calculator": {
"command": "npx",
"args": ["-y", "ibs-70v-calculator-mcp"]
}
}
}Or, if installed globally:
{
"mcpServers": {
"ibs-70v-calculator": {
"command": "ibs-70v-calculator-mcp"
}
}
}Restart Claude Desktop. Open a new conversation and type "Use the IBS 70V calculator to..." — the tools will appear automatically.
Examples
Example 1 — Restaurante 100 m² (background music)
"Tenho um restaurante de 100 m² com pé-direito de 3 m. Quero 8 alto-falantes de teto a 6 W cada para música ambiente. Calcule o sistema e sugira amplificador IBS."
The agent will call:
calculate_70v_system({
area_m2: 100,
num_speakers: 8,
tap_watts: 6,
environment_type: "restaurante"
})
// → 48 W de carga, 60 W com headroom, 1 zona, SPL ~76 dB @ ouvinte
// → ABNT NBR 10152: dentro da faixa de paging (75 dB)
recommend_amplifier({ total_wattage: 60 })
// → PWM120 (utilização 50%, folga térmica saudável)Example 2 — Academia 200 m² (alta SPL para música motivacional)
"Academia 200 m² com 12 caixas de teto a 10 W cada. Cabo de 80 m do rack até o último falante. Que amplificador IBS usar e qual bitola de cabo?"
calculate_70v_system({
area_m2: 200,
num_speakers: 12,
tap_watts: 10,
environment_type: "academia"
})
// → 120 W de carga, 150 W com headroom, 2 zonas recomendadas
// → SPL ~82 dB (adequado para academia, NBR 10152 §5)
recommend_amplifier({ total_wattage: 150 })
// → PWM250 (utilização 60%)
calculate_cable_loss({ distance_m: 80, gauge: "16", wattage: 120 })
// → Perda 0.21 dB (~5%) — OK, dentro do aceitávelExample 3 — Supermercado 1.500 m² (paging + redundância)
"Supermercado de 1.500 m² com 60 alto-falantes a 15 W cada. Precisa redundância A/B para paging crítico. Linha mais longa: 250 m em cabo 14 AWG."
calculate_70v_system({
area_m2: 1500,
num_speakers: 60,
tap_watts: 15,
environment_type: "supermercado"
})
// → 900 W de carga, 1125 W com headroom, 10 zonas
// → SPL ~80 dB (paging adequado para supermercado)
recommend_amplifier({ total_wattage: 1125, prefer_redundancy: true })
// → Recomendação: PWM1250 (single)
// → Alternativa redundância: 2× PWM500 (carga 450 W cada, falha = -3 dB)
calculate_cable_loss({ distance_m: 250, gauge: "14", wattage: 900 })
// → Perda 0.42 dB (~9%) — OK, dentro do aceitável (<0.5 dB)Reference — IBS Áudio amplifier catalog
| Model | Power | Channels | Typical use | | --- | --- | --- | --- | | PWM120 | 120 W | 1 | Salas pequenas, BGM | | PWM250 | 250 W | 1 | Lojas, restaurantes pequenos | | PWM500 | 500 W | 1 | Restaurantes médios, academias | | PWM1250 | 1250 W | 1 | Supermercados, indústrias | | PWM2500 | 2500 W | 1 | Grandes instalações, mall anchor | | PWM4x250 | 4×250 W | 4 | Multi-zona médio porte | | PWM4x500 | 4×500 W | 4 | Multi-zona grande |
Full datasheets: ibsaudio.com.br/categorias.html
Reference — ABNT NBR 10152:2017 levels
| Ambiente | NC máx (dB(A)) | BGM alvo | Paging alvo | | --- | --- | --- | --- | | Hospital (enfermaria) | 40 | 50 | 65 | | Escritório | 45 | 55 | 68 | | Restaurante | 50 | 65 | 75 | | Loja | 55 | 68 | 78 | | Igreja | 45 | 65 | 78 | | Hotel lobby | 50 | 62 | 72 | | Supermercado | 55 | 68 | 80 | | Academia | 60 | 80 | 85 | | Indústria leve | 65 | — | 88 |
Tool schemas
calculate_70v_system
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| area_m2 | number | yes | Área em m² (1-100 000) |
| num_speakers | integer | yes | Quantidade de alto-falantes (1-1000) |
| tap_watts | number | yes | Tap por falante em W (0.25-60) |
| environment_type | enum | no | Tipo de ambiente para checagem NBR 10152 |
recommend_amplifier
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| total_wattage | number | yes | Carga total em W (já com headroom) |
| prefer_redundancy | boolean | no | Sugerir configuração A+B |
calculate_cable_loss
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| distance_m | number | yes | Comprimento one-way em metros |
| gauge | enum | yes | AWG: 10, 12, 14, 16, 18, 20, 22 |
| wattage | number | yes | Potência transportada em W |
Architecture
src/
├── index.js # MCP server (stdio transport, tool routing)
└── calculator.js # Pure domain functions, no I/O — 100% testable
test/
└── calculator.test.js # node:test, no depsZero runtime dependencies beyond @modelcontextprotocol/sdk.
Contributing
Pull requests welcome — particularly for additional amplifier models, more environment presets from international standards (ANSI S12.2, ISO 7240), or improvements to SPL calculation (room acoustics, RT60).
git clone https://github.com/Austhen-Xcene/ibs-70v-calculator-mcp.git
cd ibs-70v-calculator-mcp
npm install
npm testLicense
MIT © 2026 IBS Áudio / Austhen-Xcene
Disclaimer
This calculator provides engineering estimates suitable for system design and quoting. Final installation must be verified by a qualified audio engineer with site measurements. SPL calculations assume free-field conditions and do not account for room acoustics, reverberation, or speaker dispersion patterns. For voice evacuation (NFPA 72 / NBR 17240) systems, additional certification is required.
