Skip to content
Accquix Register
Esc
↑↓navigate↵open⌘Jpreview
On this page

AI agents (MCP)

Connect Claude, Cursor and other MCP clients to your own instance through a read-only MCP endpoint, with the same keys, limits and rules as the REST API.

Your instance can serve the Model Context Protocol, so an AI agent can search and look up Slovak businesses on its own. It is off by default and read-only. Every tool call goes through the REST API in the same process, so an agent gets exactly what a program gets, under the same API key, rate limit and logging rules.

There is no central server: your agents talk to your instance, and nothing reaches the Accquix maintainers. For an agent you build yourself, calling the REST API with your own tool definitions is usually simpler; MCP is for agents you do not build, such as Claude Desktop, Claude Code or Cursor.

Turn it on

REGISTER_MCP=true    # serve /mcp next to /v1

GET /v1/capabilities then reports "mcp": { "enabled": true, "path": "/mcp" }. The endpoint speaks Streamable HTTP without sessions: POST /mcp, one JSON answer per request.

Tools

Tool Does Same as
search_subjects Candidates for a name, IČO, DIČ or IČ DPH; mode fuzzy only when enabled GET /v1/search
lookup_subject The subject with its sections, states and as-of dates GET /v1/lookup/{id}
get_data_freshness The state and as-of date of every source GET /v1/sources

Each result carries the REST body as structured content, plus a short summary that ends with the attribution. The tool descriptions teach the agent the rules a developer would read here: a search result is a candidate, not a fact; unknown is never “not found”; §7 and §7a are registered but not VAT payers; an IČ DPH can belong to several subjects. A 503 becomes a tool error that says so in words, so the agent cannot mistake an outage for “not found”.

The exact tool list, with every schema, is committed as api/mcp-tools.json.

Connect a client

Let your AI agent connect the register’s MCP tools to your client.

claude mcp add --transport http accquix-register https://register.example.internal/mcp \
  --header "Authorization: Bearer $REGISTER_KEY"

In .cursor/mcp.json:

{
  "mcpServers": {
    "accquix-register": {
      "url": "https://register.example.internal/mcp",
      "headers": { "Authorization": "Bearer ${env:REGISTER_KEY}" }
    }
  }
}

Claude Desktop starts local servers over stdio, so use the local adapter. It forwards every call to your instance’s REST API and never touches the database. In claude_desktop_config.json:

{
  "mcpServers": {
    "accquix-register": {
      "command": "accquix-register",
      "args": ["mcp", "--url", "https://register.example.internal"],
      "env": { "REGISTER_MCP_KEY": "<your API key>" }
    }
  }
}

Give each agent its own API key: the key name appears in the logs and has its own rate-limit bucket.

Security

  • Read-only. No tool can change data, objections or settings, and none will be added.
  • The same keys and limits as REST. A missing or wrong key gets HTTP 401; a tool call costs one request of the caller’s budget. Anonymous instances keep their limits, including no natural-person lookup by DIČ.
  • Browser pages are refused. A request from a web page of another origin gets 403, against DNS rebinding. Allow specific origins with REGISTER_MCP_ALLOWED_ORIGINS only if you build a browser client yourself.
  • Logs. The /mcp request and one line per tool call with its name and status; never the query, the identifier or the result.
  • Data, not instructions. Business names in results come from public registers. The server tells the agent to treat them as data, but an agent that acts on its own (sends mail, pays invoices) should still confirm with a person.