Koskamo

Guest Logic MCP

An official MCP server provided by Guest Logic LLC that allows AI assistants to autonomously set up and manage hotel property management systems. It enables agents to read reports, create rooms, set rates, and configure policies, with human approval required for finalization.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Guest Logic MCP logo, by Guest Logic LLCVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Guest Logic LLC
You need:Sign in to Guest Logic and approveThe owner makes it in Settings › Integrations › Agent accessEvery Claude plan; Free holds one custom connectorPlus, Pro, Business, Enterprise and Education plans
MCP endpoint (Streamable HTTP)
https://guestlogic.ai/mcp
Vendor documentation

What its tools do

25 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

25 of 25 have a description · 25 of 25 declare behavior hints · 9 of 18 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to guestlogic.ai ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Read bookings, room lists, and policies from current system reports
  • Create company profile, rooms, rates, taxes, and policies
  • Approve setup via email link after AI configuration
  • Connect card payments and channel managers like Expedia

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
guest-logic 1.1.0
MCP protocol negotiated in check
2025-11-25
Tools
25 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
1 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Guest Logic is hotel, venue and bar software your AI assistant can set up for you. It has the most open access of any PMS: an MCP door (guestlogic.ai/mcp) for Claude, ChatGPT and Gemini and an API key for any other software. Give your assistant your reports (bookings, room list, rates, policies) and it creates your company, fills in rooms, rates, taxes, policies and bookings, and you tap one link to approve it. Most hotels have a working test system the same hour and are live within a day, free to start. You do one thing: tap the approval link we e-mail you. Your job: set this company up fast so the owner can start using it. Write to the owner in short bullets, plain English, nothing repeated. Free test, nothing to type: the owner can also drop their reports on https://guestlogic.ai/#/signup/pms and see their own hotel in a test PMS with no e-mail or password. One finished test per hotel; they sign up before going live. Ask once, in one message, for whatever you do not have: - No Guest Logic account yet: owner's name, e-mail, company name, what it is (hotel, venue, bar, hr_only, other), the tools wanted (pms for a hotel, sales, hr). Mobile if you have it. - Hotel: a bookings report from their current system (any format), a room list if some rooms rarely sell, check-in and check-out times, sales and tourist tax rates, policies (cancellation, deposit, no-show, pets, smoking) - Venue: event spaces and how many each holds - Hiring: positions, hiring e-mail, hiring phone - Legal name, mailing address, billing e-mail - Photos and logo: do not ask; find them yourself (step 5) Then, in as few rounds as possible: 1. No account: start_signup. We e-mail the owner one link; they tap it, accept the agreement and press Approve. Your next call opens the Guest Logic sign-in if you are not connected yet. 2. setup_status: every fact for this company, done or missing, and the tool that fills each missing one. Work through it. 3. Hotel: upload_report for text, upload_file for a PDF, picture or spreadsheet. Rooms or stays you already read: submit_facts. 4. Hotel: confirm_facts for taxes, times, policies, room types, rates. Name each room type as the hotel's Expedia or Google listing names it. 5. Hotel: photos from its public listing (Expedia, Google, Booking.com, its website). For each room type, add_photo with its photos and room_type; hotel photos without room_type; the best exterior with cover true. Only photos the hotel posted, never guest photos. set_logo from its website. 6. Hotel: load_stays. Show the owner the "Needs a decision" rows first. 7. Hotel: ask_us for card payments, Expedia and Booking.com (connected within 24 hours). 8. Venue: set_venue. Hiring: set_hiring. Any company: set_team for the team, set_company for the company details. 9. Hotel: request_go_live when setup_status shows the company details and the agreement done. We press the last button. Rules: - A hotel stays in test mode until it goes live; nothing reaches a guest. - Never ask for passwords or card numbers. - Limits while testing: 9 calls a minute, 300 a day; reads cover up to 31 days. - Software with no sign-in screen: the owner makes a key in Settings › Integrations › Agent access; send it as Authorization: Bearer. - Guide: https://guestlogic.ai/connect

Tools

25 advertised

start_signup — Start a company (no account yet)
Advertised by the server during the last successful anonymous check.

Creates the company in Guest Logic (a hotel in free test mode) and e-mails the owner one approval link. Use only when the owner has no Guest Logic account. The reply names everything still missing and the tool that fills each. No sign-in needed.

start_signup input schema
{
  "type": "object",
  "required": [
    "owner_name",
    "email",
    "business_name",
    "kind",
    "tools"
  ],
  "properties": {
    "kind": {
      "enum": [
        "hotel",
        "venue",
        "bar",
        "hr_only",
        "other"
      ],
      "type": "string",
      "description": "What the business is"
    },
    "email": {
      "type": "string",
      "description": "Owner e-mail (becomes the sign-in)"
    },
    "tools": {
      "type": "array",
      "items": {
        "enum": [
          "pms",
          "sales",
          "hr"
        ],
        "type": "string"
      },
      "minItems": 1,
      "description": "The tools wanted; pms only with kind hotel"
    },
    "mobile": {
      "type": "string",
      "description": "Owner mobile number, if you have it; a hotel owner is asked at the approval link otherwise"
    },
    "website": {
      "type": "string",
      "description": "Company website"
    },
    "time_zone": {
      "type": "string",
      "description": "Time zone, e.g. America/New_York"
    },
    "legal_name": {
      "type": "string",
      "description": "Legal name of the company"
    },
    "owner_name": {
      "type": "string",
      "description": "Owner full name"
    },
    "business_name": {
      "type": "string",
      "description": "Company name: letters, digits, spaces and & ' . - only, up to 60 characters"
    }
  },
  "additionalProperties": false
}
start_signup annotations
{
  "title": "Start a company (no account yet)",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
my_hotel — Your hotel
Advertised by the server during the last successful anonymous check.
Advertised read-only

The hotel's details: name, address, phone, rooms, check-in and check-out, taxes, and whether it is in test mode. Needs the owner's sign-in.

my_hotel input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
my_hotel annotations
{
  "title": "Your hotel",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
setup_status — Setup checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every fact this company needs, each Done, Missing, Needs us or Optional, with the tool that fills each missing one. Needs the owner's sign-in.

setup_status input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
setup_status annotations
{
  "title": "Setup checklist",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
set_company — Set the company details
Advertised by the server during the last successful anonymous check.

The legal name, mailing address, billing e-mail, website and time zone. Send only what you have. Needs the owner's sign-in.

set_company input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "address": {
      "type": "object",
      "required": [],
      "properties": {
        "zip": {
          "type": "string",
          "description": "ZIP code"
        },
        "city": {
          "type": "string",
          "description": "City"
        },
        "state": {
          "type": "string",
          "description": "State, two letters"
        },
        "street": {
          "type": "string",
          "description": "Street"
        }
      },
      "additionalProperties": false
    },
    "website": {
      "type": "string",
      "description": "Website"
    },
    "time_zone": {
      "type": "string",
      "description": "Time zone, e.g. America/New_York"
    },
    "legal_name": {
      "type": "string",
      "description": "Legal name"
    },
    "billing_email": {
      "type": "string",
      "description": "Billing e-mail"
    }
  },
  "additionalProperties": false
}
set_company annotations
{
  "title": "Set the company details",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
set_venue — Set the event spaces
Advertised by the server during the last successful anonymous check.

The event spaces and how many each holds, shown on quotes and the inquiry form. Replaces the list. Needs the owner's sign-in.

set_venue input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "notes": {
      "type": "string",
      "description": "Anything else about the spaces"
    },
    "spaces": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Space name"
          },
          "capacity": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50
    }
  },
  "additionalProperties": false
}
set_venue annotations
{
  "title": "Set the event spaces",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
set_hiring — Set the hiring details
Advertised by the server during the last successful anonymous check.

The positions hired for (shown on the company's careers page), the hiring e-mail and the hiring phone. Needs the owner's sign-in.

set_hiring input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "positions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Position"
          },
          "hiring_now": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "hiring_email": {
      "type": "string",
      "description": "Hiring e-mail"
    },
    "hiring_phone": {
      "type": "string",
      "description": "Hiring phone"
    }
  },
  "additionalProperties": false
}
set_hiring annotations
{
  "title": "Set the hiring details",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
set_team — Invite the team
Advertised by the server during the last successful anonymous check.

E-mails a sign-in to each team member, up to 25 a call. Reports the result per person. Needs the owner's sign-in.

set_team input schema
{
  "type": "object",
  "required": [
    "members"
  ],
  "properties": {
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "email"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Full name"
          },
          "role": {
            "enum": [
              "employee",
              "manager"
            ],
            "type": "string"
          },
          "email": {
            "type": "string",
            "description": "E-mail"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 25,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
set_team annotations
{
  "title": "Invite the team",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
upload_file — Upload a file
Advertised by the server during the last successful anonymous check.

For a PDF, picture or spreadsheet (up to 25 MB). Call with filename, content_type and size: you get an address to PUT the file to. After the PUT, call again with document_id: Guest Logic reads it and returns what was found. Types: PDF, PNG, JPEG, WebP, XLSX, XLS, CSV, TXT. Needs the owner's sign-in.

upload_file input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "size": {
      "type": "integer",
      "minimum": 1,
      "description": "Bytes"
    },
    "filename": {
      "type": "string",
      "description": "File name"
    },
    "document_id": {
      "type": "string",
      "description": "From the first call, after the PUT"
    },
    "content_type": {
      "type": "string",
      "description": "e.g. application/pdf"
    }
  },
  "additionalProperties": false
}
upload_file annotations
{
  "title": "Upload a file",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
request_go_live — Ask to go live
Advertised by the server during the last successful anonymous check.

Files the request to go live once the legal name, address, billing e-mail and the owner's accepted agreement are in; otherwise names what is missing. The Guest Logic team presses the last button. Needs the owner's sign-in.

request_go_live input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
request_go_live annotations
{
  "title": "Ask to go live",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
upload_report — Upload a report
Advertised by the server during the last successful anonymous check.

Sends one report's content as text (CSV, tab-separated or plain text, up to 4 MB) — read a PDF or spreadsheet first and send its rows. Guest Logic reads it and sets up what it can (rooms, room types, rates, taxes, stays). Returns what was found. Needs the owner's sign-in.

upload_report input schema
{
  "type": "object",
  "required": [
    "filename",
    "content"
  ],
  "properties": {
    "content": {
      "type": "string",
      "description": "The report as text"
    },
    "filename": {
      "type": "string",
      "description": "Name for the report, e.g. bookings.csv"
    }
  },
  "additionalProperties": false
}
upload_report annotations
{
  "title": "Upload a report",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
submit_facts — Send rooms or stays you already read
Advertised by the server during the last successful anonymous check.

Rooms and stays you already extracted, as rows. Guest Logic applies them by the same rules as an uploaded report. Needs the owner's sign-in.

submit_facts input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "rooms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "room_number",
          "room_type"
        ],
        "properties": {
          "floor": {
            "type": "integer"
          },
          "building": {
            "type": "string",
            "description": "Building, if any"
          },
          "room_type": {
            "type": "string",
            "description": "Room type name or code"
          },
          "room_number": {
            "type": "string",
            "description": "Room number"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 2000
    },
    "stays": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "confirmation",
          "check_in",
          "check_out",
          "room_type"
        ],
        "properties": {
          "room": {
            "type": "string",
            "description": "Room number, if assigned"
          },
          "guest": {
            "type": "string",
            "description": "Guest name"
          },
          "total": {
            "type": "number"
          },
          "adults": {
            "type": "integer"
          },
          "source": {
            "type": "string",
            "description": "Booking source, e.g. Direct, Expedia"
          },
          "status": {
            "type": "string",
            "description": "Booked, cancelled, no-show…"
          },
          "check_in": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Arrival YYYY-MM-DD"
          },
          "check_out": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Departure YYYY-MM-DD"
          },
          "room_type": {
            "type": "string",
            "description": "Room type"
          },
          "confirmation": {
            "type": "string",
            "description": "Their confirmation number"
          },
          "nightly_rate": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 5000
    }
  },
  "additionalProperties": false
}
submit_facts annotations
{
  "title": "Send rooms or stays you already read",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
confirm_facts — Confirm or change a step
Advertised by the server during the last successful anonymous check.

Confirms or changes one setup step. step and values: hotel {name, phone, email} · taxes {state, tourism, other} as percentages · checkin {check_in, check_out} as HH:MM · policies {cancellation, deposit, noshow, pets, smoking} · room_types {CODE: {name, sleeps}} · rates {CODE: nightly rate} · rooms (confirm the room list) · ooo (no out-of-order rooms) · people (just the owner for now) · bookings (no bookings on hand). Needs the owner's sign-in.

confirm_facts input schema
{
  "type": "object",
  "required": [
    "step"
  ],
  "properties": {
    "step": {
      "enum": [
        "hotel",
        "taxes",
        "checkin",
        "policies",
        "room_types",
        "rates",
        "rooms",
        "ooo",
        "people",
        "bookings"
      ],
      "type": "string"
    },
    "values": {
      "type": "object",
      "description": "The values for that step (see the description)"
    }
  },
  "additionalProperties": false
}
confirm_facts annotations
{
  "title": "Confirm or change a step",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
load_stays — Load the stays
Advertised by the server during the last successful anonymous check.

Loads the stays read from the reports into the hotel. First call without confirm to see the rows that need a decision; show them to the owner; then call with confirm true. Needs the owner's sign-in.

load_stays input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "confirm": {
      "type": "boolean",
      "description": "true to load"
    }
  },
  "additionalProperties": false
}
load_stays annotations
{
  "title": "Load the stays",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
add_photo — Add a photo
Advertised by the server during the last successful anonymous check.

Adds a picture from a public web address (PNG, JPEG or WebP, up to 10 MB) to the booking page: the hotel, or one room type. 40 a day while testing. Needs the owner's sign-in.

add_photo input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public https address of the picture"
    },
    "cover": {
      "type": "boolean",
      "description": "true to make it the main photo"
    },
    "caption": {
      "type": "string",
      "description": "Short caption"
    },
    "room_type": {
      "type": "string",
      "description": "Room type code or name, for a room-type photo; leave out for the hotel"
    }
  },
  "additionalProperties": false
}
add_photo annotations
{
  "title": "Add a photo",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
set_logo — Set the logo
Advertised by the server during the last successful anonymous check.

Sets the company's logo from a public web address (PNG, JPEG or WebP, up to 10 MB). Needs the owner's sign-in.

set_logo input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public https address of the logo"
    }
  },
  "additionalProperties": false
}
set_logo annotations
{
  "title": "Set the logo",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
drop_link — Links to upload files by hand
Advertised by the server during the last successful anonymous check.
Advertised read-only

The owner's links to drop files you cannot send as text (a scanned PDF) and to manage photos. Needs the owner's sign-in.

drop_link input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
drop_link annotations
{
  "title": "Links to upload files by hand",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
ask_us — Ask Guest Logic to connect something
Advertised by the server during the last successful anonymous check.

Asks the Guest Logic team to connect card payments, Expedia and Booking.com, or to finish the whole setup by hand. Connected within 24 hours. Needs the owner's sign-in.

ask_us input schema
{
  "type": "object",
  "required": [
    "what"
  ],
  "properties": {
    "note": {
      "type": "string",
      "description": "Anything the team should know"
    },
    "what": {
      "enum": [
        "cards",
        "channels",
        "white_glove"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
ask_us annotations
{
  "title": "Ask Guest Logic to connect something",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
invite_staff — Invite a staff member
Advertised by the server during the last successful anonymous check.

E-mails a sign-in to an employee or a manager. Needs the owner's sign-in.

invite_staff input schema
{
  "type": "object",
  "required": [
    "email",
    "full_name"
  ],
  "properties": {
    "role": {
      "enum": [
        "employee",
        "manager"
      ],
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "Their e-mail"
    },
    "full_name": {
      "type": "string",
      "description": "Their full name"
    }
  },
  "additionalProperties": false
}
invite_staff annotations
{
  "title": "Invite a staff member",
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
stays — Stays in a date range
Advertised by the server during the last successful anonymous check.
Advertised read-only

Stays touching a date range (up to 31 days): confirmation, guest, dates, room, type, status, rate, source. Up to 200 rows a call; use page for more. Needs the owner's sign-in.

stays input schema
{
  "type": "object",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last night YYYY-MM-DD"
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First night YYYY-MM-DD"
    },
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "status": {
      "enum": [
        "booked",
        "inhouse",
        "checkedout",
        "cancelled",
        "noshow"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
stays annotations
{
  "title": "Stays in a date range",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
stay — One stay
Advertised by the server during the last successful anonymous check.
Advertised read-only

One stay by its confirmation number. Needs the owner's sign-in.

stay input schema
{
  "type": "object",
  "required": [
    "confirmation"
  ],
  "properties": {
    "confirmation": {
      "type": "string",
      "description": "Confirmation number"
    }
  },
  "additionalProperties": false
}
stay annotations
{
  "title": "One stay",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
availability — Rooms free each night
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rooms free each night by room type for a date range (up to 31 days). Needs the owner's sign-in.

availability input schema
{
  "type": "object",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last night YYYY-MM-DD"
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First night YYYY-MM-DD"
    }
  },
  "additionalProperties": false
}
availability annotations
{
  "title": "Rooms free each night",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
house_inventory — The house on one day
Advertised by the server during the last successful anonymous check.
Advertised read-only

For one day: arrivals, departures, in house, rooms by housekeeping status, rooms out of order. Needs the owner's sign-in.

house_inventory input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Day YYYY-MM-DD (default today)"
    }
  },
  "additionalProperties": false
}
house_inventory annotations
{
  "title": "The house on one day",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_automations — Automations
Advertised by the server during the last successful anonymous check.
Advertised read-only

The company's automations: what each sends, when, and whether it is on. Needs the owner's sign-in.

list_automations input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
list_automations annotations
{
  "title": "Automations",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
automation_status — Recent automation runs
Advertised by the server during the last successful anonymous check.
Advertised read-only

The last runs of the company's automations: when, result, error. Needs the owner's sign-in.

automation_status input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
automation_status annotations
{
  "title": "Recent automation runs",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
tasks_waiting_on_me — Tasks waiting on me
Advertised by the server during the last successful anonymous check.
Advertised read-only

Open tasks on the signed-in person's Home board. Needs the owner's sign-in.

tasks_waiting_on_me input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
tasks_waiting_on_me annotations
{
  "title": "Tasks waiting on me",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

1 advertised

set_up_my_hotel — Set up my company in Guest Logic

Advertised by the server during the last successful anonymous check.

Everything to gather and the order to do it in, so the setup finishes in one go.

No arguments advertised.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
723 ms
95th percentile latency
723 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 723 ms · metadata changed · 25 tool(s), 1 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http guest-logic-mcp https://guestlogic.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add guest-logic-mcp --url https://guestlogic.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable guest-logic-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "guest-logic-mcp": {
      "url": "https://guestlogic.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "guest-logic-mcp": {
      "type": "streamableHttp",
      "url": "https://guestlogic.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start guest-logic-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "guest-logic-mcp": {
      "type": "http",
      "url": "https://guestlogic.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http guest-logic-mcp https://guestlogic.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://guestlogic.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "guest-logic-mcp": {
      "serverUrl": "https://guestlogic.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Guest Logic MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Guest Logic MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing