Kisi MCP by usefulapi
io.usefulapi/kisi · v1.2.1
Read Kisi places, doors, users, groups, access rights and access logs (no unlocking).
MCPremoteno credentialsCloud & DevOps
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 20 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 20 tools · 19 read, 1 write
Test call kisi_get_current_user: needs a key: HTTP 401 (905 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://kisi.usefulapi.io/mcpTools
20 tools listed at last check
kisi_get_current_userThe Kisi user the API key belongs to (id, name, email, organization). Good first call. GET /user.kisi_get_organizationThe current Kisi organization (name, domain, settings summary). GET /organization.kisi_list_placesList places (sites/buildings) in the organization with address, time zone and lock/member counts. GET /places.kisi_get_placeOne place by id, including lockdown state. GET /places/{id}.kisi_list_locksList 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_lockOne lock/door by id: online/unlocked/locked-down state, place, floor, settings. GET /locks/{id}.kisi_list_groupsList 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_groupOne access group by id (name, description, place, member/lock counts, restrictions). GET /groups/{id}.kisi_list_group_locksThe locks/doors an access group opens. GET /group_locks?group_id=.kisi_list_usersList 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_userOne user by id. GET /users/{id}.kisi_list_role_assignmentsWho 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_cardsList access cards with status (activated/deactivated/unassigned), assignee and last use. GET /cards.kisi_list_presencesWho was present at a place on a given day (derived from unlocks): actor, first/last unlock, last door. GET /presences.kisi_list_schedulesTime 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_controllersKisi controllers (door hardware hubs) with online/offline status. Filter by place, lock or status. GET /controllers.kisi_list_readersKisi readers (card/phone readers at doors) with model and online/offline status. GET /readers.kisi_search_eventsSearch 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 stkisi_get_event_setRead 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_typesAll event type names usable as the type filter of kisi_search_events (e.g. lock.unlock). GET /events/types.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/kisi)