officernd
What this MCP does
Manages coworking members, companies, memberships, space bookings, resources, invoices, check-ins and helpdesk tickets.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'text', 'member', 'is_public'], 'properties': {'text': {'type': 'string', 'minLength': 1, 'description': 'The comment text.'}, 'member': {'type': 'string', 'minLength': 1, 'description': 'The _id of the member the comment is posted as.'}, 'is_public': {'type': 'boolean', 'description': 'Whether the comment is public (visible to the member).'}, 'ticket_id': {'type': 'string', 'minLength': 1, 'description': 'The ticket _id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['resource', 'start', 'end'], 'properties': {'end': {'type': 'string', 'minLength': 1, 'description': 'End (ISO 8601 date-time).'}, 'start': {'type': 'string', 'minLength': 1, 'description': 'Start (ISO 8601 date-time), e.g. 2026-10-01T13:00:00.000Z.'}, 'title': {'type': 'string', 'description': 'Booking title.'}, 'member': {'type': 'string', 'description': 'The _id of the member the booking is for.'}, 'company': {'type': 'string', 'description': 'The _id of the company the booking is for.'}, 'is_free': {'type': 'boolean', 'description': 'Mark as free — no fees are generated.'}, 'members': {'type': 'array', 'items': {'type': 'string'}, 'description': '_ids of teammates (same company) attending.'}, 'resource': {'type': 'string', 'minLength': 1, 'description': 'The _id of the resource to book (see officernd_list_resources).'}, 'visitors': {'type': 'array', 'items': {'type': 'string'}, 'description': '_ids of external visitors attending.'}, 'is_silent': {'type': 'boolean', 'description': 'If true, no notification is sent to the member.'}, 'description': {'type': 'string', 'description': 'Longer description.'}, 'is_tentative': {'type': 'boolean', 'description': 'Create as tentative (unconfirmed, not charged).'}, 'enforce_booking_policy': {'type': 'boolean', 'description': 'If true, apply member validations (business hours, durations, limits) and booking-policy approval flagging.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'location', 'start_date'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The member's full name."}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags.'}, 'email': {'type': 'string', 'description': "The member's email address."}, 'phone': {'type': 'string', 'description': 'Primary phone number.'}, 'company': {'type': 'string', 'description': 'The _id of the company the member belongs to.'}, 'location': {'type': 'string', 'minLength': 1, 'description': "The _id of the member's location (see officernd_list_locations)."}, 'properties': {'type': 'object', 'description': 'Custom properties, keyed by property name.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'start_date': {'type': 'string', 'minLength': 1, 'description': 'Start date (ISO 8601), e.g. 2026-10-01T00:00:00.000Z.'}, 'description': {'type': 'string', 'description': 'Description/bio.'}, 'is_billing_person': {'type': 'boolean', 'description': "Whether the member receives the company's invoices."}, 'is_contact_person': {'type': 'boolean', 'description': 'Whether the member is a contact person of the company.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['member', 'subject', 'type', 'priority', 'severity'], 'properties': {'type': {'type': 'string', 'minLength': 1, 'description': "Ticket-option _id with category 'type'."}, 'member': {'type': 'string', 'minLength': 1, 'description': 'The _id of the member raising the ticket.'}, 'message': {'type': 'string', 'description': 'Full description.'}, 'subject': {'type': 'string', 'minLength': 1, 'description': 'Short summary of the issue.'}, 'priority': {'type': 'string', 'minLength': 1, 'description': "Ticket-option _id with category 'priority'."}, 'severity': {'type': 'string', 'minLength': 1, 'description': "Ticket-option _id with category 'severity'."}, 'attachments': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Image attachment URLs.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'minLength': 1, 'description': 'The booking _id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['member_id'], 'properties': {'member_id': {'type': 'string', 'minLength': 1, 'description': 'The member _id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'minLength': 1, 'description': 'Window end (ISO 8601 date-time), e.g. 2026-10-08T00:00:00.000Z.'}, 'from': {'type': 'string', 'minLength': 1, 'description': 'Window start (ISO 8601 date-time), e.g. 2026-10-01T00:00:00.000Z.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'member': {'type': 'string', 'description': 'Only items for this member _id.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'resource': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'description': 'One or more resource _ids.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'is_cancelled': {'type': 'boolean', 'description': 'Only (non-)cancelled bookings.'}, 'is_tentative': {'type': 'boolean', 'description': 'Only tentative (unconfirmed) or confirmed bookings.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'member': {'type': 'string', 'description': 'Only items for this member _id.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'resource': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'description': 'One or more resource _ids.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'starts_from': {'type': 'string', 'description': 'Only bookings/series starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'is_cancelled': {'type': 'boolean', 'description': 'Only (non-)cancelled bookings.'}, 'is_tentative': {'type': 'boolean', 'description': 'Only tentative (unconfirmed) or confirmed bookings.'}, 'starts_before': {'type': 'string', 'description': 'Only bookings/series starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'member': {'type': 'string', 'description': 'Only items for this member _id.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'started_from': {'type': 'string', 'description': 'Only check-ins starting at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'started_before': {'type': 'string', 'description': 'Only check-ins starting before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Exact company name.'}, 'sort': {'type': 'string', 'pattern': '^[^:]+:(asc|desc)$', 'description': 'Sort expression <field>:asc|desc, e.g. createdAt:desc.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'status': {'type': 'array', 'items': {'enum': ['active', 'former', 'pending', 'inactive', 'not_approved', 'drop-in', 'lead'], 'type': 'string'}, 'maxItems': 50, 'description': 'One or more company statuses.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'company_id': {'type': 'string', 'description': 'Exact company _id (use to fetch a single company).'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'type': 'string', 'pattern': '^[^:]+:(asc|desc)$', 'description': 'Sort expression <field>:asc|desc, e.g. createdAt:desc.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'stage': {'enum': ['terminated', 'served_notice', 'active', 'up_for_renewal', 'not_renewed', 'expired', 'rolling'], 'type': 'string', 'description': 'Contract lifecycle stage.'}, 'status': {'enum': ['signed', 'draft', 'terminated', 'not_signed', 'canceled'], 'type': 'string', 'description': 'Contract status.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Exact location name.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'is_open': {'type': 'boolean', 'description': 'Only operational (true) or non-operational (false) locations.'}, 'is_public': {'type': 'boolean', 'description': 'Only locations shown (true) or hidden (false) in the members portal.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Exact name match.'}, 'sort': {'type': 'string', 'pattern': '^[^:]+:(asc|desc)$', 'description': 'Sort expression <field>:asc|desc, e.g. createdAt:desc.'}, 'email': {'type': 'string', 'description': 'Exact email match.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'status': {'type': 'array', 'items': {'enum': ['active', 'former', 'pending', 'contact', 'not_approved', 'drop-in', 'lead'], 'type': 'string'}, 'maxItems': 50, 'description': 'One or more member statuses.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'created_from': {'type': 'string', 'description': 'Only members created at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'created_before': {'type': 'string', 'description': 'Only members created before this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'is_billing_person': {'type': 'boolean', 'description': 'Only (non-)billing persons of their company.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'plan': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'description': 'One or more plan _ids.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'member': {'type': 'string', 'description': 'Only items for this member _id.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'calculated_status': {'enum': ['not_started', 'active', 'expired', 'not_approved'], 'type': 'string', 'description': 'The platform-calculated membership status.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'type': 'string', 'pattern': '^[^:]+:(asc|desc)$', 'description': 'Sort expression <field>:asc|desc, e.g. createdAt:desc.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'member': {'type': 'string', 'description': 'Only items for this member _id.'}, 'number': {'type': 'string', 'description': 'Exact document number.'}, 'status': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'description': 'One or more statuses, e.g. paid, pending.'}, 'company': {'type': 'string', 'description': 'Only items for this company _id.'}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'due_before': {'type': 'string', 'description': 'Only documents due before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}, 'issued_from': {'type': 'string', 'description': 'Only documents issued at or after this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'document_type': {'enum': ['creditNote', 'invoice', 'overpayment', 'paymentCharge'], 'type': 'string', 'description': 'Document type.'}, 'issued_before': {'type': 'string', 'description': 'Only documents issued before this date (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}, 'modified_since': {'type': 'string', 'description': 'Only items modified at or after this time (ISO 8601 date-time, e.g. 2026-01-01T00:00:00.000Z).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Exact resource name.'}, 'type': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'description': 'One or more resource types. System types: meeting_room (bookable meeting rooms), hotdesk (bookable hot desks), team_room (private offices), desk (dedicated desks), desk_tr (desks inside private offices), desk_na (not available); orgs may add custom types.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'location': {'type': 'string', 'description': 'Only items for this location _id.'}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': "Page size, 1-50 (OfficeRnD's max; default 50)."}, 'cursor_next': {'type': 'string', 'description': 'The cursorNext from the previous page. Omit for the first page.'}, 'cursor_prev': {'type': 'string', 'description': 'The cursorPrev from a page, to go one page back.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['member_id'], 'properties': {'name': {'type': 'string', 'description': 'New name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replaces the member's entire tag list."}, 'email': {'type': 'string', 'description': 'New email.'}, 'phone': {'type': 'string', 'description': 'New phone number.'}, 'member_id': {'type': 'string', 'minLength': 1, 'description': 'The member _id.'}, 'properties': {'type': 'object', 'description': 'Custom properties to set.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'start_date': {'type': 'string', 'description': 'New start date (ISO 8601).'}, 'is_billing_person': {'type': 'boolean', 'description': "Whether the member receives the company's invoices."}, 'is_contact_person': {'type': 'boolean', 'description': 'Whether the member is a contact person of the company.'}}}
Recent tool changes
Similar MCP servers
Superlógica Condomínios
Connects to a condominium ERP for billing, collections, agreements, expenses, bank movements, statements, files, communications, …
US Company Intelligence for AI Agents (SEC EDGAR, x402)
Offers pay-per-call web extraction, search and LLM tools plus French company, property, procurement, marketplace and security dat…
Rafid Intelligence Network
Analyzes Oman properties using rental comparables, yields, costs, and payback metrics, and supports Oman company search, profilin…
Batchdata
Searches property records, retrieves property attributes and histories, and performs address-based owner skip tracing.
Realestateapi
Searches properties, retrieves property and ownership details, and performs address-based owner skip tracing.
Tu Lugar
Searches and manages Paraguay and Latin American property listings, agents, projects, inquiries, saved searches, promotions, and …
Shovels
Provides access to Shovels.ai property and construction-related data through its API.
Perilpulse
Returns multi-peril property risk scores across hazards such as flood, wildfire, wind, hail, and crime.