Skip to content

v0.5.6

Latest

Choose a tag to compare

@github-actions github-actions released this 18 May 10:52
7b5bd77

Resilience and diagnostics release. Builds on v0.5.5 (interactive auth + non-blocking discovery); no configuration changes required to upgrade.

Fixed

  • Permanent BC rejections no longer crash-loop. When Business Central refuses the connection — a wrong MCP Configuration Name (typically HTTP 400), or a wrong Environment (typically HTTP 404, which the MCP client library reports as a terminated session) — the proxy now logs one actionable line echoing your effective environment / company / configuration_name, and stays alive instead of exiting into a Claude Desktop respawn loop with a Python traceback. Sign-in vs. config is explicitly disambiguated in the message. Transient errors (timeouts, network, 429, 5xx) keep the existing exponential-backoff reconnect; mid-session token-expiry still triggers the silent one-shot reconnect.
  • Company / ConfigurationName are sent literally. Removed an inherited urllib.parse.unquote() that silently corrupted any name containing % or + (e.g. R&D %1, A+B Ltd). Values are now used verbatim (stripped), consistent with TenantId/Environment.
  • ASCII-only diagnostics. Runtime log/print messages no longer use em-dashes/arrows/bullets that mojibaked to ? under the Windows cp1252 console (and could raise UnicodeEncodeError on stderr). The headline diagnostic now renders cleanly everywhere.

Upgrade notes

Drop-in. No Azure or config changes. If you hit HTTP 400/404 (or Session terminated at connect), the log now tells you exactly what to check — Environment name (exact, case-sensitive), MCP Configuration Name (required when a named configuration exists; not shown in Claude Desktop's args log so easy to leave blank), Company, and account access — and the proxy keeps running so you can fix the field and restart without a crash-loop.