The Apier MCP server
Apier exposes its Norwegian-compliance surface to AI agents over Model Context Protocol at POST /api/mcp — 25 versioned tools, no custom wrapper to build. Company-data read tools are live against Brønnøysund data; billing reads use Apier's internal pricing and credit data. The sandbox-only submit_vat_return models a VAT return; the Fullmakt delegation writes broker scoped authority through an Altinn systembruker (mock-adapter-backed pending live partner validation).
Jurisdiction: Norway · Verified against Apier / Model Context Protocol as of 2026-06-28
Why an MCP server
Without one, every agent team rebuilds the same plumbing: a hand-written wrapper to host, auth managed on each call, glue that breaks as agent frameworks change, and a per-registry mapping maintained by hand. With the connector, the agent speaks Model Context Protocol to one endpoint, and Apier resolves the registries (Enhetsregisteret, Regnskapsregisteret) and hands back signed JSON.
Tool naming and discovery
Every tool name is intent-first verb_noun — get_company_summary, search_companies, validate_action, explain_compliance_error — so a caller's intent reads from the name alone. The server manifest is discoverable at /.well-known/mcp.json, and each tool's schema is self-describing over the MCP tools/list call.
Authentication and the keyless five
Tool calls authenticate with the same consumer Bearer API key as the REST API. Exactly five public tools execute without any key: get_public_obligations, get_public_deadlines, explain_compliance_error, get_exchange_rate, and get_pricing — a closed allowlist of tools that take no personal identifier, perform no government write, and spend no government credential. Every other tool returns 401 without a key. Keyless calls are IP-rate-limited.
Read vs write tools
Read tools forward to the corresponding REST routes and inherit their scopes and metering. submit_vat_return is hard-locked to the sandbox surface — it models a VAT return without any live government submission. The Fullmakt Rails tools (request_fullmakt, check_fullmakt, revoke_fullmakt) are the first discoverable write tools, brokering and revoking an agent's scoped authority through an Altinn systembruker; they run against mock adapters pending live partner validation, so no live government-side execution happens yet.
Use cases
- Give a Claude or other MCP-client agent direct lookup access to Norwegian company data with zero integration code
- Resolve a company name to an org number, then verify status and signing rights, in one conversational flow
- Rehearse a VAT filing loop safely via the sandbox-only submit tool
Requirements
- An MCP client (e.g. a Claude connector) pointed at the Apier MCP endpoint
- A consumer API key for the keyed tools; nothing for the keyless public five
Authentication
Method: api_key · Scopes: read:brreg, read:altinn, read:pricing, read:credits
Same Bearer key as the REST API; per-tool scope checks apply. The five keyless public tools run without any credential. The billing reads declare the MCP-layer scopes read:pricing (get_pricing, also keyless) and read:credits (get_credit_balance) — both satisfied by the default read:* key grant; the balance REST route itself is deliberately scope-exempt.
Common errors
SCOPE_INSUFFICIENT
The key is valid but lacks the scope the called tool requires.
Fix: Mint or update a key with the tool's required scope (each tool documents it).
SANDBOX_TOOL_UNAVAILABLE
A tool without a sandbox mirror was called under a sandbox bearer.
Fix: Use a live API key for that tool, or stay on the sandbox-mirrored tool set.
Related topics
Related APIs
Capability ids — resolve each against the machine-readable manifest at /api/v1/capabilities for the endpoint, auth mode, and tier.
- company.summary
- company.search
- tools.explain
Related MCP tools
Registered tools on the Apier MCP server.
- search_companies
- get_company_summary
- get_company_verification
- explain_compliance_error
- submit_vat_return