is a company registry MCP server.
Today it answers for one country — Norway's Brønnøysundregistrene / Enhetsregisteret (brreg), by organisasjonsnummer (orgnr, org.nr).
The architecture's whole bet is that the second country is one folder plus one import line.
Here's the proof, and the invitation.
The template already ships is a fake country that is fully wired up.
Copy it to and fill in six steps — its module docstring is the recipe.
The interface is four methods That's all you implement. / are async because they do network I/O; and are sync and pure — takes as a parameter precisely so it's testable with no clock.
You don't write the response documents. and are concrete base-class methods that wrap your four primitives into the same and every other country emits.
New country, identical JSON, both surfaces, for free.
Then at the bottom of your module, and one line in : That import is the only shared file you touch, and it's outside .
Stubs are hidden, not absent Set while you build. skips you: Set and the same tool shows your work in progress: So never advertises a country that can't answer, while the abstraction stays testable.
And it really is live — 's works the day you write it: while the parts you haven't built yet fail honestly, with a hint: What a PR needs Fixtures captured from the live API — two or three real entities, saved as JSON, so tests don't hit the network.
Tests, including a numbered rules list for your country's deadlines in the style of Norway's. — the prose an agent reads once instead of rediscovering your legal forms one call at a time. , and your import line.
Good first targets Denmark, CVR — open, well-documented API; probably the easiest.
Sweden, Bolagsverket.
Both are close enough to Norway that the models fit, far enough that they'll test the abstraction honestly.
MIT: https://github.com/foretak/registry-mcp — open an issue with your country code and claim it.