Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Aussiebb

БесплатноНе проверен

MCP server for Aussie Broadband NBN diagnostics, enabling AI assistants to run connection tests, check outages, speed tests, and fault tickets via the MyAussie

GitHubEmbed

Описание

MCP server for Aussie Broadband NBN diagnostics, enabling AI assistants to run connection tests, check outages, speed tests, and fault tickets via the MyAussie API.

README

An MCP server for Aussie Broadband NBN diagnostics — the same tests the MyAussie portal offers under "All Service Tests" (Check/Kick Connection, Loopback, NTD Status/Reset), plus test history, NBN outages, speed test results, and fault tickets. Give your AI assistant the other half of the "is the internet down?" question: when the LAN view says the WAN is dead, these tools say whether it's the ISP/NBN side.

Unofficial API — use at your own risk. This project is not affiliated with or endorsed by Aussie Broadband. It talks to the undocumented MyAussie JSON API (myaussie-api.aussiebroadband.com.au) — the same API the portal SPA and the Home Assistant integration (pyaussiebb) use — which can change or break without notice. Two tools (kick_connection, ntd_reset) deliberately disconnect your service; they refuse to run without confirm=true, but understand what they do before granting it. Your portal credentials go into an env file — protect it accordingly, and use the API respectfully.

Tools

Services are addressed by a site alias (optional, from AUSSIEBB_SERVICES), a raw numeric service_id, or 'all'. Read-only tools default to all; test-running tools require exactly one service.

Tool Params Notes
list_services service_type='NBN' ids, aliases, plan/speed/POI, WAN IPs
list_diagnostics service='all' what AussieBB offers, destructive flags
check_connection service='all' instant ISP-side "is it connected" — run this first
ntd_status service, wait=True, timeout_s=180 ~2 min; link state, uptime, flap count (dropout evidence)
loopback_test service, wait=True, timeout_s=180 ~2 min; two-way data proof to the NBN box/node
test_result service, test_id fetch one run's status/result (for wait=False flows)
test_history service='all', limit=10 recent runs with pass/fail summaries
service_outages service='all' current + scheduled + resolved NBN/ABB outages
speed_test_results service='all' ABB-recorded speed tests
list_faults include_details=True open fault tickets (account-wide)
kick_connection service, confirm=False DESTRUCTIVE — drops the session (modem swaps); refuses without confirm=true
ntd_reset service, confirm=False, wait, timeout_s DESTRUCTIVE — reboots the NBN box; refuses without confirm=true
run_diagnostic test, service, wait, timeout_s, confirm escape hatch for any test by name; destructive names still gated

Failed or unfinished tests carry AussieBB's own "report a fault if" guidance in the response — the API's failure payloads are otherwise bare.

Quick start (stdio)

Most users need exactly two env vars — services are discovered live from the account:

// e.g. Claude Desktop claude_desktop_config.json / Claude Code .mcp.json
{
  "mcpServers": {
    "aussiebb": {
      "command": "uv",
      "args": ["run", "--project", "/path/to/aussiebb-mcp", "aussiebb-mcp", "--stdio"],
      "env": {
        "AUSSIEBB_USERNAME": "[email protected]",
        "AUSSIEBB_PASSWORD": "..."
      }
    }
  }
}

Prefer an env file over inline credentials where your client supports it (uv run --env-file ...). stdio mode has no network surface and skips bearer auth — the client owns the process.

Configuration

Env var Default Purpose
AUSSIEBB_USERNAME / AUSSIEBB_PASSWORD (empty) MyAussie portal login. Tools error clearly when unset.
AUSSIEBB_SERVICES (empty) Optional alias=id map, e.g. home=1000001,office=1000002. Aliases become tool vocabulary (and are baked into the server instructions); without it, services are discovered live.
AUSSIEBB_SESSION_FILE ~/.local/state/aussiebb-mcp/session.json Where the ~1-year login cookie persists (0600, dir 0700).
PORT 8329 HTTP listen port.
MCP_BEARER_TOKEN (empty) Required in HTTP mode; server refuses to start without it. Not used in --stdio mode.

HTTP mode (container)

The bundled Containerfile builds a Streamable HTTP server at /mcp (stateless). HTTP mode refuses to start without MCP_BEARER_TOKEN; clients authenticate with Authorization: Bearer <token>.

podman build -t aussiebb-mcp .   # or: docker build -t aussiebb-mcp .
podman run -d --name aussiebb-mcp -p 8329:8329 -v abb-state:/data \
  -e [email protected] -e AUSSIEBB_PASSWORD=... \
  -e AUSSIEBB_SESSION_FILE=/data/session.json \
  -e MCP_BEARER_TOKEN=some-long-random-token \
  aussiebb-mcp

Persist the session file across restarts (the volume above) — the login endpoint rate-limits hard, and the cookie lives about a year. aussiebb_mcp.healthcheck does a full HTTP round-trip to /mcp (the 401 counts as alive); wire it to your container healthcheck. Terminate TLS at a reverse proxy — the server itself speaks plain HTTP.

API notes (hard-won)

  • Login (POST myaussie-auth.../login) returns a myaussie_cookie valid ~1 year. The endpoint is aggressively rate-limited (429) — the client persists the session to disk, logs in lazily, re-logs-in at most once per request on 401/419 (invalidating in memory only, so a failed re-login can't destroy a persisted cookie), and serializes login behind a lock. Never retry-loop a 429.
  • Check and Kick share one URL (/broadband/{sid}/connection): GET = harmless check, POST = drops the session. Dispatch is strictly name → (path, method) via the TESTS registry; the link field from the available-tests response is never blind-POSTed.
  • Async tests return a record immediately (status: WaitingToBeQueued) and are polled at GET /tests/{sid}/{test_id} through InProgress to Completed (result: Passed|Failed), ~115 s total in practice.

Testing

# Tier 1+2 — pure units + mocked-transport client/server logic
# (no network, no credentials — fully fabricated fixtures)
uv run --extra test pytest tests/ --ignore=tests/test_integration.py -v

# Tier 3 — live read-only API tests (login, services, check_connection,
# history, outages; starts no test runs, changes nothing)
AUSSIEBB_TEST=1 AUSSIEBB_USERNAME=... AUSSIEBB_PASSWORD=... \
    uv run --extra test pytest tests/test_integration.py -v

# optional: one live NTD Status run (~2 min, shows up in portal history)
AUSSIEBB_TEST=1 AUSSIEBB_TEST_RUN=1 AUSSIEBB_USERNAME=... AUSSIEBB_PASSWORD=... \
    uv run --extra test pytest tests/test_integration.py -v

kick_connection and ntd_reset are never exercised by any automated tier.

License

MIT

from github.com/snickery/aussiebb-mcp

Установка Aussiebb

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/snickery/aussiebb-mcp

FAQ

Aussiebb MCP бесплатный?

Да, Aussiebb MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Aussiebb?

Нет, Aussiebb работает без API-ключей и переменных окружения.

Aussiebb — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Aussiebb в Claude Desktop, Claude Code или Cursor?

Открой Aussiebb на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Opencode Omniroute Plugin

OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc

GitHub Actionsавтор: GitHub Actions
75

Roblox Studio

Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce

paralovавтор: paralov

Antigravity Drawio

MCP server that enables AI assistants to create, parse, render, and validate Draw.io diagrams programmatically.

S-SUJAN-Sавтор: S-SUJAN-S

Fetch

Web content fetching and conversion for efficient LLM usage.

автор: Community

AWS KB Retrieval

Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.

modelcontextprotocolавтор: modelcontextprotocol

Spring AI MCP Server

Provides auto-configuration for setting up an MCP server in Spring Boot applications.

автор: Community

llm-analysis-assistant

A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also

xuzexin-hzавтор: xuzexin-hz

MCP-Agent

A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)

lastmile-aiавтор: lastmile-ai

Spring AI MCP Client

Provides auto-configuration for MCP client functionality in Spring Boot applications.

автор: Community

mcp.natoma.ai

A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)

автор: Community

Compare Aussiebb with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai