Skip to main content
The server has one tool, kviria. Its arguments are the request body of the Agent endpoint: the request’s fields (request, place, kind, streets, street, address, side, pick, answer), which your agent fills from the user’s words, and state, anchor, rangeM and confirmation. Its result is the same response, as structured content and as JSON text. The tool’s schemas are the tool definition. The server keeps no session. The conversation travels in state, as an ordinary argument: copy it from the last result into the next call.

Connecting

Every request to /mcp carries an OAuth token or a Kviria key:
  • OAuth, for clients that connect in one click (Claude, ChatGPT, Claude Code, Cursor, VS Code). A request without a token gets HTTP 401 with a WWW-Authenticate header that names Kviria’s metadata. The client starts OAuth from it and opens Kviria’s connect page, where you allow it. Kviria supports Client ID Metadata Documents and dynamic client registration, with PKCE (S256).
  • A Kviria key, for clients that send a fixed header: Authorization: Bearer kvr_..., from api.kviria.com/key.
Connect and pay has each client’s setup. The account’s limits and price are the same as on the HTTP endpoint. See Rate limits and Payments. To top up, send PAYMENT-SIGNATURE on the HTTP request that carries the tool call.
  • A request body is at most 64 KB, and holds one JSON-RPC message. A batch (an array) is refused with 400 and the JSON-RPC error -32600.
  • MCP calls do not need an agent name.

When a call is refused

  • A call Kviria refuses comes back as a tool result with isError: true. Its text is the same JSON error body the HTTP endpoint sends, such as invalid_state with an empty state. See Errors.
  • Arguments that do not match the tool’s schema are refused before Kviria sees them, with an “Input validation error” text. An empty anchor object is one: when you have no new position, leave anchor out.

Discovery

  • The server card: https://api.kviria.com/.well-known/mcp/server-card.json
  • The registry name: com.kviria/kviria
  • The OpenAPI document: https://api.kviria.com/openapi.json