All guidesGuide

Connecting an AI assistant (MCP)

How to let Claude, ChatGPT or any other agent work with your Norka over the Model Context Protocol.

Norka speaks MCP (the Model Context Protocol). Once an assistant is connected you can ask it "who arrives on Friday?" or tell it "book Apartment 2 for the Nováks from 3 to 7 August" and it does it, with the same rules and notifications as the app.

The server address is the same for every client:

https://mcp.mojenorka.cz/mcp

1. Create an API token

  1. In Norka open Settings → API tokens and click Create token.
  2. Name it after where you will use it (for example "Claude Desktop") and pick a scope:
ScopeWhat the assistant may do
readsee the calendar, stays, guests, unpaid stays and the configuration
writealso book and change stays, assign cleaning, send a check-in link
adminalso change the configuration: estates, door codes, seasons, feeds
  1. The token is shown once. Copy it; Norka stores only its digest. You can revoke it at any time.

Start with the read scope. Give a token write or admin only once you know what the assistant uses it for.

2. Add the server to your client

The token is sent as an ordinary Authorization: Bearer … header.

Claude Desktop

Open Settings → Developer → Edit Config and add:

{
  "mcpServers": {
    "norka": {
      "url": "https://mcp.mojenorka.cz/mcp",
      "headers": { "Authorization": "Bearer nrk_…" }
    }
  }
}

Restart Claude Desktop. Norka shows up among the tools.

Claude Code

claude mcp add --transport http norka https://mcp.mojenorka.cz/mcp \
  --header "Authorization: Bearer nrk_…"

ChatGPT, Cursor and others

In the client's settings add a remote MCP server (sometimes called a connector) with the address above and the Authorization header. The exact steps differ per client, but those two values are all it needs.

Checking it works

Ask the assistant: "Call whoami." It answers with the workspace the token speaks for and the tools it has.

3. What the assistant can do

The tools an assistant sees follow the token's scope. A selection:

ToolScopeDoes
get_movementsreadwho arrives and who leaves on a day
check_availabilityreadwhich estates are free for a stay, and what is in the way
search_reservationsreadstays by date, estate, status or name
get_reservationreadone stay in full, door code included
list_unpaidreadstays not paid for
list_collisionsreadtwo stays claiming one estate
create_reservation, update_reservationwritebook or change a stay
assign_cleaner, mark_cleaning_completewritethe cleaning after a stay
send_checkin_linkwriteemail the guest their online check-in link
add_notewritewrite a note onto the stay's timeline
create_estate, update_season, create_pin_codeadminchange estates, seasons and door codes

Every answer carries a link to the page in the app it came from, so you can check it.

What the assistant deliberately cannot do

  • Delete anything. No reservations, estates, guests or members.
  • Mint or revoke tokens, so a leaked token cannot renew itself.
  • Manage members or delete the workspace. Those need a signed-in session in the app.
  • See guest contacts except when asked by name for one guest; lists carry names only.
  • Run away. Every tool has a call budget; an assistant stuck in a loop gets a readable error and breaks nothing.

Common questions

Can I have several tokens? Yes. One token per client is a good habit, so each can be revoked on its own.

Does the token work outside MCP? Yes, the REST API accepts the same token. The scope applies the same way: a read token is refused on any request that changes something.

I want to try the server without an assistant. Use the official MCP Inspector: npx @modelcontextprotocol/inspector, enter the server address and the header with the token.