io.usefulapi/kisi

Kisi MCP by usefulapi

Read Kisi places, doors, users, groups, access rights and access logs (no unlocking).

1.2.1
Version
remote
Transport
20
Tools

Security review

Review passed

Reviewed 1d ago.

  • tools: 20 tools scanned
  • metadata: scanned

No findings.

Tools (20)

  • kisi_get_current_user

    The Kisi user the API key belongs to (id, name, email, organization). Good first call. GET /user.

  • kisi_get_organization

    The current Kisi organization (name, domain, settings summary). GET /organization.

  • kisi_list_places

    List places (sites/buildings) in the organization with address, time zone and lock/member counts. GET /places.

  • kisi_get_place

    One place by id, including lockdown state. GET /places/{id}.

  • kisi_list_locks

    List locks/doors with their state: online, unlocked, locked_down, configured, place and floor. Filter to find offline or locked-down doors. GET /locks.

  • kisi_get_lock

    One lock/door by id: online/unlocked/locked-down state, place, floor, settings. GET /locks/{id}.

  • kisi_list_groups

    List access groups (who-can-open-what bundles of doors). Filter by place or by a lock to see which groups open that door. GET /groups.

  • kisi_get_group

    One access group by id (name, description, place, member/lock counts, restrictions). GET /groups/{id}.

  • kisi_list_group_locks

    The locks/doors an access group opens. GET /group_locks?group_id=.

  • kisi_list_users

    List users (members) of the organization. Filter by group or place (users with access there), email, or free text over name/email/notes. Sort by last unlock. GET /users.

  • kisi_get_user

    One user by id. GET /users/{id}.

  • kisi_list_role_assignments

    Who holds which role where: a user/team/guest's role on the organization, a place or a group (group members = door access). Filter by user, group, place or role. GET /role_assignments.

  • kisi_list_cards

    List access cards with status (activated/deactivated/unassigned), assignee and last use. GET /cards.

  • kisi_list_presences

    Who was present at a place on a given day (derived from unlocks): actor, first/last unlock, last door. GET /presences.

  • kisi_list_schedules

    Time rules: when a group's access is allowed, when doors auto-unlock (unlock timer), first-to-arrive, elevator permit timers. Filter by consequence or by the group/lock it applies to. GET /schedules.

  • kisi_list_controllers

    Kisi controllers (door hardware hubs) with online/offline status. Filter by place, lock or status. GET /controllers.

  • kisi_list_readers

    Kisi readers (card/phone readers at doors) with model and online/offline status. GET /readers.

  • kisi_search_events

    Search the access log (unlocks, denied attempts, lockdowns, admin changes) and return the first page. This CREATES a temporary saved search in Kisi (an event set, cursor-paginated, kept ~24 h); it changes no door, user or access right. Defaults to the past 90 days, the maximum width. If status is still in_progress or cursor is set, call kisi_get_event_set with the returned id. POST /event_sets.

  • kisi_get_event_set

    Read an event set from kisi_search_events: its status and events. Pass the previous page's cursor for the next page. GET /event_sets/{id}.

  • kisi_list_event_types

    All event type names usable as the type filter of kisi_search_events (e.g. lock.unlock). GET /events/types.