Releases: severity1/nz-akahu-mcp
Release list
v0.1.4
Fix: tool names now fit the Kiro 64-character limit
The Kiro host rejected this server's tools with API Error: 400 Tool name(s) exceed Kiro API limit of 64 characters - 9 of 14 tools failed because the marketplace-plugin-composed name mcp__plugin_<pluginName>_<serverKey>__<namespace>_<tool> ran past 64 chars.
This release shortens the FastMCP mount namespaces and the plugin's mcpServers key, dropping the composed prefix from 39 to 32 chars. All 14 tools now clear the limit (worst case 61).
Tool name changes (action may be required)
If you script against tool names or have them pinned, the bare tool names have changed namespace prefixes:
| Old prefix | New prefix |
|---|---|
accounts_* |
acct_* |
transactions_* |
txn_* |
identity_* |
id_* |
For example accounts_list_accounts -> acct_list_accounts, transactions_get_transactions -> txn_get_transactions, identity_get_me -> id_get_me.
The marketplace plugin name stays nz-akahu-mcp, so existing installs keep working with no reinstall and no change to the severity1-marketplace repo. The PyPI package, uvx nz-akahu-mcp invocation, and all tool behavior are unchanged.
Also
- Added a regression guard asserting every composed plugin-path tool name fits the 64-char cap.
- Synced
uv.lockto the released version.
Full changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
- chore(ci): bump GitHub Actions to Node.js 24 runtimes by @severity1 in #3
- refactor: FastMCP 3.3 typed elicitation in safety.py and report_transaction_issue by @severity1 in #4
Full Changelog: v0.1.2...v0.1.3
v0.1.2
Highlights
This release adds the Claude Desktop Extension (.mcpb) as the recommended Claude Desktop install path. Claude Code users continue with the marketplace plugin.
Install in Claude Desktop (new)
Download nz-akahu-mcp-0.1.2.mcpb from the assets below and double-click to install. Claude Desktop auto-generates a settings UI for your Akahu tokens and stores them in your OS keychain (Windows Credential Manager / macOS Keychain).
Background: Claude Desktop has no UI to set marketplace-plugin userConfig values (anthropics/claude-code#39455, #39827). The .mcpb Desktop Extension path is the working alternative; same PyPI package under the hood (uvx-launched).
Install in Claude Code (unchanged)
/plugin marketplace add severity1/severity1-marketplace
/plugin install nz-akahu-mcp@severity1-marketplace
The plugin is now pinned to v0.1.2; users on prior versions can /plugin marketplace update severity1-marketplace.
What changed
- New
mcpb/overlay (manifest + .mcpbignore + dev README) packed by CI into the.mcpbRelease asset build-mcpbworkflow job:npx @anthropic-ai/mcpb pack+gh release upload- README restructured per-client;
plugin/README.mdretitled Claude Code-only - v0.1.2 across
pyproject.toml,plugin/.claude-plugin/plugin.json,mcpb/manifest.json(lockstep enforced by CI)
No tool signatures or behavior changed. 14 tools, read-only by default, per-call elicit for every write.
What's Changed
- feat: ship .mcpb Desktop Extension as the Claude Desktop install path by @severity1 in #2
Full Changelog: v0.1.1...v0.1.2
v0.1.1 - Claude marketplace plugin
Highlights
- New distribution channel: Claude marketplace plugin.
nz-akahu-mcpis now installable in both Claude Code and Claude Desktop via the severity1 marketplace, in addition to the existinguvx nz-akahu-mcpPyPI path. - No more shell env wrangling. Tokens prompt at install and store in your OS keychain (macOS Keychain on macOS, Windows Credential Manager on Windows). The package itself is unchanged.
Install (preferred)
In Claude Code:
/plugin marketplace add severity1/severity1-marketplace
/plugin install nz-akahu-mcp@severity1-marketplace
In Claude Desktop: Cowork -> Plugins -> Add marketplace -> severity1/severity1-marketplace -> Install nz-akahu-mcp.
Known issue: Claude Desktop's install-time prompt may not fire (anthropics/claude-code#39827). Workaround: use Configure options on the installed plugin after install. The plugin works correctly once configured.
The existing manual install paths (claude mcp add, hand-edited claude_desktop_config.json) are kept in the README under "(manual)" sections for users hacking on source or pinning a git ref.
What's in this release
plugin/.claude-plugin/plugin.json- manifest withuserConfigfor Akahu user/app tokens (sensitive: true) and the read-only / automation-bypass safety flagsplugin/.mcp.json- launchesuvx nz-akahu-mcpwith${user_config.KEY}substitution into the matchingAKAHU_*env varsplugin/README.md- plugin-side install/configure/uninstall guideREADME.md- marketplace plugin promoted to preferred path; manual sections demoted with redirect calloutsPUBLISHING.md- documents the locksteppyproject.toml+plugin/.claude-plugin/plugin.jsonversion bump now required for releases.gitignore- anchors/.mcp.jsonto root soplugin/.mcp.jsonships with the repo
What did NOT change
- No changes to the Python package source. The 14 tools, the three-layer write safety, and all behavior are identical to v0.1.0.
- No new dependencies.
- No CLI flag changes.
Tested
- ruff lint clean
- mypy strict-mode clean
- 151 pytest tests pass with 100% line + branch coverage
v0.1.0
First PyPI release of nz-akahu-mcp: an unofficial MCP server for the
Akahu open-finance API (NZ), distributed as a single
PyPI package.
What's in v0.1.0
14 tools, pure Akahu API primitives. No baked-in analytical opinions;
the LLM reasons over raw transaction data.
accounts/:list_accounts,get_account,get_account_balance,
get_pending_transactions,refresh_all_accounts,refresh_accounttransactions/:get_transactions,get_transaction,
get_transactions_by_ids,get_pending_transactions,
search_transactions,report_transaction_issueidentity/:get_me,verify_name
Safety
- Read-only by default (
AKAHU_READ_ONLY=true). Every write tool refuses
until you flip the flag. - Per-call consent for every write via
ctx.elicit(). - Automation bypass opt-in for a small subset of idempotent, rate-limited
writes (refresh_all_accounts,refresh_account) via
AKAHU_AUTOMATION_BYPASS=true.
Install
claude mcp add nz-akahu \
--scope user \
--env AKAHU_APP_TOKEN=app_token_... \
--env AKAHU_USER_TOKEN=user_token_... \
-- uvx nz-akahu-mcpFull install options (Claude Code, Claude Desktop, pip+venv) in the
README.
Requirements
- Python 3.12+
- Akahu Personal App + User token from https://my.akahu.nz/developers
Disclaimer
Unofficial integration. Not affiliated with Akahu, your bank, or any
financial institution.