io.github.chrischall/ioffice-mcp
NPM · IOFFICE-MCP · SCANNED SEP 21
iOffice workspace management for Claude — book rooms, manage visitors, maintenance tickets
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 5 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to chrischall/ioffice-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability66
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 6938 tokens (~130/item across 53 items; 53 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 53 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.chrischall/ioffice-mcp server?
io.github.chrischall/ioffice-mcp runs locally as an npm package, launched with npx -y ioffice-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · ioffice-mcp
claude mcp add chrischall-ioffice-mcp -- npx -y ioffice-mcp
{
"mcpServers": {
"chrischall-ioffice-mcp": {
"command": "npx",
"args": [
"-y",
"ioffice-mcp"
]
}
}
} {
"servers": {
"chrischall-ioffice-mcp": {
"command": "npx",
"args": [
"-y",
"ioffice-mcp"
]
}
}
} codex mcp add chrischall-ioffice-mcp -- npx -y ioffice-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrischall-ioffice-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"ioffice-mcp"
],
"enabled": true
}
}
} openclaw mcp add chrischall-ioffice-mcp --command npx --arg -y --arg ioffice-mcp
mcp_servers:
chrischall-ioffice-mcp:
command: "npx"
args: ["-y", "ioffice-mcp"] {
"McpServers": {
"chrischall-ioffice-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"ioffice-mcp"
]
}
}
} assistant mcp add chrischall-ioffice-mcp -t stdio -c npx -a -y ioffice-mcp
{
"mcpServers": {
"chrischall-ioffice-mcp": {
"command": "npx",
"args": [
"-y",
"ioffice-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +11
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 1.00 ▲ functional
- 20 Sept 26 −10
- Known CVEs: pass → unverified ▼ security
- Dependency health: 1.00 → unverified ▼ functional
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- Package version: 3.0.0 → 3.1.0 functional
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- Package version: 2.1.9 → 3.0.0 functional
- 18 Sept 26 +1
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: 0.86 → 1.00 ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.3.2 → 3.0.0 functional
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 0
- Package version: 2.1.9 → 2.3.2 functional
- 12 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/ioffice-mcp@3.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | chrischall/ioffice-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/chrischall/ioffice-mcp/.github/workflows/release-please.yml@refs/heads/main |
| Rekor log index | 2893922976 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:0f5acdbcfd60d7e46266a6c79133ce229fe5e48de378f461d24b73baf912158c441d749e40231ec502f4419dde6900c7b774ef773f9dea126a3a299a8 |
Background: How many MCP packages publish verified provenance →
Dependencies 5 packages
| Packages resolved | 5 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
io_accept_maintenance_request ~76
Accept an iOffice maintenance request (transition from pending to accepted). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Maintenance request ID |
No output schema declared.
No examples provided.
io_approve_move ~81
Approve an iOffice move request. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Move request ID |
| notes | string | – | Approval notes (optional) |
No output schema declared.
No examples provided.
io_archive_maintenance_request ~71
Archive a completed iOffice maintenance request. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Maintenance request ID |
No output schema declared.
No examples provided.
io_cancel_move ~77
Cancel an iOffice move request. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Move request ID |
| reason | string | – | Cancellation reason |
No output schema declared.
No examples provided.
io_checkin_reservation ~74
Check in to an iOffice reservation, confirming room usage. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Reservation ID |
No output schema declared.
No examples provided.
io_checkin_visitor ~72
Check in a visitor upon arrival at the building. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Visitor ID |
No output schema declared.
No examples provided.
io_checkout_reservation ~76
Check out of an iOffice reservation, releasing the room early if needed. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Reservation ID |
No output schema declared.
No examples provided.
io_checkout_visitor ~71
Check out a visitor upon departure from the building. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Visitor ID |
No output schema declared.
No examples provided.
io_complete_maintenance_request ~85
Mark an iOffice maintenance request as complete. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Maintenance request ID |
| resolution | string | – | Resolution notes describing what was done |
No output schema declared.
No examples provided.
io_create_building ~165
Create a new iOffice building. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| address1 | string | – | Street address line 1 |
| address2 | string | – | Street address line 2 |
| city | string | – | City |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| country | string | – | Country code |
| description | string | – | Building description |
| name | string | yes | Building name |
| phone | string | – | Building phone number |
| postalCode | string | – | Postal/ZIP code |
| state | string | – | State or province |
| totalSquareFootage | number | – | Total square footage |
No output schema declared.
No examples provided.
io_create_floor ~122
Create a new iOffice floor within a building. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | yes | ID of the building this floor belongs to |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Floor description |
| floorNumber | number | – | Physical floor number |
| name | string | yes | Floor name |
| totalSquareFootage | number | – | Total square footage of the floor |
No output schema declared.
No examples provided.
io_create_mail ~164
Log a new mail item (package or letter) received in iOffice. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | yes | Building where mail was received |
| carrier | string | – | Shipping carrier (e.g. UPS, FedEx, USPS) |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Description of the mail item |
| mailTypeId | number | – | Mail type ID |
| receivedDate | string | – | Date/time received (ISO 8601, defaults to now) |
| recipientId | number | yes | Recipient user ID |
| trackingNumber | string | – | Package tracking number |
No output schema declared.
No examples provided.
io_create_maintenance_request ~153
Create a new iOffice maintenance request. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| assignedUserId | number | – | Technician user ID to assign |
| buildingId | number | – | Building ID where the issue is located |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Detailed description of the issue |
| priorityId | number | – | Priority level ID |
| spaceId | number | – | Space/room ID where the issue is located |
| title | string | yes | Request title/summary |
| typeId | number | – | Maintenance type/category ID |
No output schema declared.
No examples provided.
io_create_move ~156
Create a new iOffice move request. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Building ID where the move takes place |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Description of the move |
| fromSpaceId | number | – | Source space/room ID |
| name | string | yes | Move request name/title |
| requesterId | number | – | User ID of the person requesting the move |
| scheduledDate | string | – | Scheduled move date (ISO 8601) |
| toSpaceId | number | – | Destination space/room ID |
No output schema declared.
No examples provided.
io_create_reservation ~191
Create a new iOffice room/space reservation. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| attendeeCount | number | – | Expected number of attendees |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Reservation notes or description |
| endDate | string | yes | End date/time (ISO 8601, e.g. 2026-03-20T10:00:00) |
| spaceId | number | yes | Space/room ID to reserve |
| startDate | string | yes | Start date/time (ISO 8601, e.g. 2026-03-20T09:00:00) |
| title | string | yes | Reservation title/name |
| userId | number | – | Organizer user ID (defaults to authenticated user) |
No output schema declared.
No examples provided.
io_create_space ~130
Create a new iOffice space (room) on a floor. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| capacity | number | – | Maximum occupancy |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Space description |
| floorId | number | yes | Floor ID this space belongs to |
| name | string | yes | Space name |
| squareFootage | number | – | Square footage of the space |
| typeId | number | – | Space type ID |
No output schema declared.
No examples provided.
io_create_user ~142
Create a new iOffice user. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Default building ID |
| centerId | number | – | Primary center/cost center ID |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| string | yes | Email address (used for login) | |
| firstName | string | yes | First name |
| lastName | string | yes | Last name |
| phone | string | – | Phone number |
| title | string | – | Job title |
| username | string | – | Username |
No output schema declared.
No examples provided.
io_create_visitor ~188
Pre-register a visitor in iOffice. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Building ID for the visit |
| company | string | – | Visitor company/organization |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| string | – | Visitor email address | |
| expectedArrival | string | – | Expected arrival date/time (ISO 8601) |
| expectedDeparture | string | – | Expected departure date/time (ISO 8601) |
| firstName | string | yes | Visitor first name |
| hostId | number | – | Host user ID (iOffice user they are visiting) |
| lastName | string | yes | Visitor last name |
| phone | string | – | Visitor phone number |
| purpose | string | – | Purpose of visit |
No output schema declared.
No examples provided.
io_delete_building ~69
Delete an iOffice building by ID. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Building ID |
No output schema declared.
No examples provided.
io_delete_floor ~68
Delete an iOffice floor by ID. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Floor ID |
No output schema declared.
No examples provided.
io_delete_reservation ~71
Delete/cancel an iOffice reservation by ID. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Reservation ID |
No output schema declared.
No examples provided.
io_delete_space ~68
Delete an iOffice space by ID. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Space ID |
No output schema declared.
No examples provided.
io_delete_user ~68
Delete an iOffice user by ID. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | User ID |
No output schema declared.
No examples provided.
io_deliver_mail ~106
Mark an iOffice mail item as delivered to the recipient. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| deliveredDate | string | – | Delivery date/time (ISO 8601, defaults to now) |
| id | number | yes | Mail item ID |
| signature | string | – | Recipient signature or name confirmation |
No output schema declared.
No examples provided.
io_get_building ~110
Get a single iOffice building by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Building ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_floor ~109
Get a single iOffice floor by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Floor ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_mail ~111
Get a single iOffice mail item by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Mail item ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_maintenance_request ~113
Get a single iOffice maintenance request by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Maintenance request ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_move ~111
Get a single iOffice move request by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Move request ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_reservation ~110
Get a single iOffice reservation by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Reservation ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_space ~112
Get a single iOffice space (room) by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Space ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_user ~109
Get a single iOffice user by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | User ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_get_visitor ~110
Get a single iOffice visitor by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Visitor ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_healthcheck Verify credentials and upstream reachability ~94
Resolves the credential the way real tools do, then makes one authenticated request to iOffice. Reports which source supplied the credential, whether iOffice accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a iOffice-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
io_list_buildings ~179
List iOffice buildings. Supports search, pagination, and sorting.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by name or description |
| startAt | number | – | Pagination offset (default 0) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_floors ~190
List iOffice floors. Optionally filter by building ID.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Filter floors by building ID |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by name |
| startAt | number | – | Pagination offset (default 0) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_mail ~271
List iOffice mail items (packages and letters). Supports filtering and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Filter by building ID |
| endDate | string | – | Filter mail received on or before this date (ISO 8601) |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| recipientId | number | – | Filter by recipient user ID |
| search | string | – | Filter by recipient name, tracking number, or sender |
| startAt | number | – | Pagination offset (default 0) |
| startDate | string | – | Filter mail received on or after this date (ISO 8601) |
| status | string | – | Filter by status (e.g. received, delivered, returned) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_maintenance_requests ~247
List iOffice maintenance requests. Supports filtering by status, space, or building.
| Name | Type | Req | Description |
|---|---|---|---|
| assignedUserId | number | – | Filter by assigned technician user ID |
| buildingId | number | – | Filter by building ID |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by title or description |
| spaceId | number | – | Filter by space/room ID |
| startAt | number | – | Pagination offset (default 0) |
| status | string | – | Filter by status (e.g. pending, accepted, started, completed, archived) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_moves ~266
List iOffice move requests. Supports filtering by status, building, or assignee.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Filter by building ID |
| endDate | string | – | Filter moves on or before this date (ISO 8601) |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| requesterId | number | – | Filter by requester user ID |
| search | string | – | Filter by name or description |
| startAt | number | – | Pagination offset (default 0) |
| startDate | string | – | Filter moves on or after this date (ISO 8601) |
| status | string | – | Filter by status (e.g. pending, approved, completed) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_reservations ~252
List iOffice reservations. Supports filtering by date range, space, or user.
| Name | Type | Req | Description |
|---|---|---|---|
| endDate | string | – | Filter reservations ending on or before this date (ISO 8601) |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by title or description |
| spaceId | number | – | Filter by space/room ID |
| startAt | number | – | Pagination offset (default 0) |
| startDate | string | – | Filter reservations starting on or after this date (ISO 8601) |
| userId | number | – | Filter by organizer user ID |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_spaces ~192
List iOffice spaces (rooms). Optionally filter by floor ID.
| Name | Type | Req | Description |
|---|---|---|---|
| floorId | number | – | Filter spaces by floor ID |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by name or description |
| startAt | number | – | Pagination offset (default 0) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_users ~178
List iOffice users. Supports search, pagination, and sorting.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by name or email |
| startAt | number | – | Pagination offset (default 0) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_list_visitors ~235
List iOffice visitors. Supports search, date filtering, and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| buildingId | number | – | Filter by building ID |
| endDate | string | – | Filter visitors expected on or before this date (ISO 8601) |
| limit | number | – | Max results (default 50, max 100) |
| orderBy | string | – | Property to sort by (default: id) |
| orderByType | string | – | Sort direction (default: asc) |
| search | string | – | Filter by visitor name or email |
| startAt | number | – | Pagination offset (default 0) |
| startDate | string | – | Filter visitors expected on or after this date (ISO 8601) |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
io_return_mail ~82
Mark an iOffice mail item as returned to sender. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Mail item ID |
| reason | string | – | Reason for return |
No output schema declared.
No examples provided.
io_start_maintenance_request ~78
Start work on an iOffice maintenance request (transition to started/in-progress). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| id | number | yes | Maintenance request ID |
No output schema declared.
No examples provided.
io_update_building ~180
Update an existing iOffice building. Only provide fields to change. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| address1 | string | – | Street address line 1 |
| address2 | string | – | Street address line 2 |
| city | string | – | City |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| country | string | – | Country code |
| description | string | – | Building description |
| id | number | yes | Building ID |
| name | string | – | Building name |
| phone | string | – | Building phone number |
| postalCode | string | – | Postal/ZIP code |
| state | string | – | State or province |
| totalSquareFootage | number | – | Total square footage |
No output schema declared.
No examples provided.
io_update_floor ~115
Update an existing iOffice floor. Only provide fields to change. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Floor description |
| floorNumber | number | – | Physical floor number |
| id | number | yes | Floor ID |
| name | string | – | Floor name |
| totalSquareFootage | number | – | Total square footage |
No output schema declared.
No examples provided.
io_update_maintenance_request ~121
Update an existing iOffice maintenance request. Only provide fields to change. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| assignedUserId | number | – | Assigned technician user ID |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Detailed description |
| id | number | yes | Maintenance request ID |
| priorityId | number | – | Priority level ID |
| title | string | – | Request title/summary |
No output schema declared.
No examples provided.
io_update_move ~141
Update an existing iOffice move request. Only provide fields to change. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Description of the move |
| fromSpaceId | number | – | Source space/room ID |
| id | number | yes | Move request ID |
| name | string | – | Move request name/title |
| scheduledDate | string | – | Scheduled move date (ISO 8601) |
| toSpaceId | number | – | Destination space/room ID |
No output schema declared.
No examples provided.
io_update_reservation ~139
Update an existing iOffice reservation. Only provide fields to change. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it executes.
| Name | Type | Req | Description |
|---|---|---|---|
| attendeeCount | number | – | Expected number of attendees |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | Notes or description |
| endDate | string | – | New end date/time (ISO 8601) |
| id | number | yes | Reservation ID |
| startDate | string | – | New start date/time (ISO 8601) |
| title | string | – | Reservation title |
No output schema declared.
No examples provided.
What is the io.github.chrischall/ioffice-mcp server?
io.github.chrischall/ioffice-mcp is listed in the public MCP registry as io.github.chrischall/ioffice-mcp. iOffice workspace management for Claude, book rooms, manage visitors, maintenance tickets. This page covers its npm package (ioffice-mcp).
Is the io.github.chrischall/ioffice-mcp server safe to use?
io.github.chrischall/ioffice-mcp scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.chrischall/ioffice-mcp server expose?
io.github.chrischall/ioffice-mcp exposes 53 tools: io_list_buildings, io_get_building, io_create_building, io_update_building, io_delete_building, and 48 more. Their descriptions and schemas cost roughly 6,938 tokens of context every time the server is loaded.
Is the io.github.chrischall/ioffice-mcp server still maintained?
io.github.chrischall/ioffice-mcp is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.chrischall/ioffice-mcp server under?
io.github.chrischall/ioffice-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.