npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

Readme

IBS 70V Calculator MCP

License: MIT Node.js 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-mcp

From source

git clone https://github.com/Austhen-Xcene/ibs-70v-calculator-mcp.git
cd ibs-70v-calculator-mcp
npm install
npm link

Run tests

npm test

Claude 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ável

Example 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 deps

Zero 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 test

License

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.