DEV Community

Cover image for A valid ABN checksum doesn't mean the ABN actually exists - so I built an MCP tool for that
creatorhub121
creatorhub121

Posted on

A valid ABN checksum doesn't mean the ABN actually exists - so I built an MCP tool for that

An Australian Business Number can pass its checksum and still tell you nothing about whether the business is actually registered, active, or registered for GST.

That distinction matters when an AI agent is doing real work.

I originally built AU Business Identity to give agents deterministic ABN and ACN validation.

The first version answered questions like:

  • Is this the correct number of digits?
  • Does the ABN pass the official checksum?
  • Does the ACN pass its checksum?

Useful, but incomplete.

So I've now released v0.2.0, which adds live Australian Business Register verification.

The difference

There are now two separate ABN tools.

validate_abn

Performs local format and checksum validation.

It is useful when you simply need to know whether a value could be a structurally valid ABN.

verify_abn

Checks the ABN against the Australian Business Register.

It can return information such as:

  • whether the ABN was found
  • current ABN status
  • entity name
  • entity type
  • GST registration status
  • state and postcode
  • registry update information

That means an agent can distinguish between:

"This number passes the ABN checksum."

and:

"This ABN was found in the Australian Business Register and is currently active."

Those are very different claims.

Example

An agent can call:

{
  "name": "verify_abn",
  "arguments": {
    "abn": "51 824 753 556"
  }
}
Enter fullscreen mode Exit fullscreen mode

And receive structured registry information rather than relying on the checksum alone.

For example, the live service can determine that the ABN is found in the register, its status, entity information and GST registration status.

Current MCP tools

AU Business Identity now exposes:

validate_abn
verify_abn
validate_acn
Enter fullscreen mode Exit fullscreen mode

The MCP server is remote, so there is nothing to install or run locally.

Public MCP endpoint:

https://au-business-identity.auagentutilities.workers.dev/mcp
Enter fullscreen mode Exit fullscreen mode

No API key is currently required during the public beta.

Why I separated validation and verification

I deliberately did not change validate_abn to suddenly perform network lookups.

The distinction is useful.

validate_abn remains deterministic and lightweight.

verify_abn explicitly performs registry verification.

That makes the behaviour predictable for agents and avoids treating a checksum result as evidence that a business actually exists.

Source

The project is on GitHub:

https://github.com/creatorhub121/au-business-identity
Enter fullscreen mode Exit fullscreen mode

It is also published in the official MCP Registry as:

io.github.creatorhub121/au-business-identity
Enter fullscreen mode Exit fullscreen mode

Version 0.2.0 is now live.

I'm particularly interested in real automation use cases where an agent needs to verify an Australian business before continuing a workflow.

If you're building something that handles Australian suppliers, customers, invoices, onboarding, compliance or business data, I'd be interested to hear what additional identity checks would actually be useful.

Top comments (0)