# Rex Software MCP by usefulapi (remote · rex-software.usefulapi.io)

Read contacts, listings, tenancies and tasks; create a person contact, note or reminder.

- Trust score: 18/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `rex-software.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software.md), [page](https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software)

## Channel facts

- Endpoint: `https://rex-software.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.7.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Rex Software MCP by usefulapi server?

Rex Software MCP by usefulapi is a hosted endpoint at https://rex-software.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-rex-software 'https://rex-software.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-rex-software": {
      "url": "https://rex-software.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-rex-software": {
      "type": "http",
      "url": "https://rex-software.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-rex-software]
url = "https://rex-software.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-rex-software": {
      "type": "remote",
      "url": "https://rex-software.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-rex-software --url 'https://rex-software.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-rex-software:
    url: "https://rex-software.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-rex-software": {
      "Transport": "http",
      "Url": "https://rex-software.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-rex-software -t streamable-http -u 'https://rex-software.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-rex-software": {
      "type": "http",
      "url": "https://rex-software.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-02 (score 18, −47)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] Stability: 0.03 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-01 (score 65, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 64)

First indexed and scored.

## MCP tools (33)

### `rex_get_user_profile` (~52 tokens)

Get the signed-in Rex user

The Rex user this server is signed in as: user id, name, email, whether they own the account, position and default office. Good first call. POST /v1/rex/UserProfile/read.

### `rex_list_accessible_accounts` (~55 tokens)

List the Rex accounts the user can access

The Rex agency accounts (account_id and name) this user can sign in to. A user with several accounts picks one with the Account id field when connecting. POST /v1/rex/UserProfile/getAccessibleAccounts.

### `rex_describe_search_fields` (~192 tokens)

List the search fields of a Rex service

The field names a search on the given service accepts in criteria, each with its label, type and (for enums) the value list. Call this before building criteria on a field you are not sure of. Sorting (order_by) uses a separate list of sortable fields whose names can differ (for example name_last, not contact.name_last): set include_order_by to get it. POST /v1/rex/<Service>/describeSearchFields (and <Service>/describeModel for include_order_by).

Input parameters:

- `include_order_by` (boolean): Also return the service's model description, which lists the fields order_by accepts (they can differ from the search field names).
- `match` (string): Only fields whose name or label contains this text (case-insensitive). The big services have hundreds of fields, so filter.
- `service` (string, required): The Rex service, for example Contacts or Listings.

### `rex_list_value_lists` (~58 tokens)

List the Rex value lists

The names of Rex's value lists (the allowed ids for fields such as note types, reminder types, lead sources and property categories). Use a name with rex_get_value_list. POST /v1/rex/SystemValues/getValueCategories.

### `rex_get_value_list` (~65 tokens)

Get the values of a Rex value list

The allowed values (id and label) of one value list, for example property_category. The ids are what writes and criteria expect. POST /v1/rex/SystemValues/getCategoryValues.

Input parameters:

- `list_name` (string, required): The list name from rex_list_value_lists.

### `rex_autocomplete_contacts` (~89 tokens)

Find contacts by name

Quick lookup of contacts by (part of) a name: returns the best matches with id, name, email and phone. Use the id with rex_get_contact. POST /v1/rex/Contacts/autocomplete.

Input parameters:

- `limit` (integer): Matches to return, 1-50 (default 10).
- `search_string` (string, required): Part of the contact's or company's name.

### `rex_autocomplete_listings` (~125 tokens)

Find listings by address

Quick lookup of listings by (part of) an address: returns the best matches with listing id and address. Use the id with rex_get_listing. POST /v1/rex/Listings/autocomplete.

Input parameters:

- `limit` (integer): Matches to return, 1-50 (default 10).
- `listing_states` (array): Only listings in these states, for example ["current"] (see rex_get_value_list listing_system_state).
- `search_string` (string, required): Part of the property address, for example '12 Smith St' or 'Subiaco'.

### `rex_search_contacts` (~255 tokens)

Search contacts

Search contacts (people and companies). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: contact.name_full, contact.name_first, contact.name_last, contact.email_address, contact.phone_number, contact.type, contact.tags, contact.interest_level, contact.last_contacted_date, system_modtime. To find someone by name, rex_autocomplete_contacts is simpler. POST /v1/rex/Contacts/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_listings` (~279 tokens)

Search listings

Search listings (properties for sale or rent). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: listing.system_listing_state (for example "current"), listing.system_publication_status, listing.price_match, listing.listing_agent_id, listing.listing_category_id, property.adr_suburb_or_town, property.adr_postcode, property.adr_street_name, property.attr_bedrooms. To find a listing by address, rex_autocomplete_listings is simpler. POST /v1/rex/Listings/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_properties` (~249 tokens)

Search properties

Search properties (the physical addresses behind listings, appraisals and tenancies). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: property.system_search_key, property.adr_suburb_or_town, property.adr_postcode, property.adr_street_name, property.attr_bedrooms, property.attr_bathrooms. POST /v1/rex/Properties/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_leads` (~248 tokens)

Search leads

Search leads (enquiries from portals, the website and email). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: lead.contact_id, lead.listing_id, lead.property_id, lead.assignee_id, lead.lead_source_id, lead.lead_status_id, lead.system_completed_time, system_ctime. POST /v1/rex/Leads/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_appraisals` (~241 tokens)

Search appraisals

Search appraisals (listing presentations / market appraisals). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: appraisal_date, appraisal_state, appraisal_type_id, agent_id, property_id, listing_id, pipeline_stage_id, expected_close_date, price_asking. POST /v1/rex/Appraisals/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_tenancies` (~223 tokens)

Search tenancies

Search tenancies (property management leases). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: id, property_id, system_record_state, lease_current_expiry, crt.contact_id. POST /v1/rex/Tenancies/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_reminders` (~253 tokens)

Search reminders and tasks

Search reminders (follow-up tasks) linked to contacts, properties and listings. Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: reminder_date, system_completed_time, remindee_user_id, contact_id, property_id, listing_id, reminder_type_id, priority_id. Open reminders have no system_completed_time (type is, value Null). POST /v1/rex/Reminders/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_appointments` (~243 tokens)

Search appointments

Search appointments (calendar items such as inspections and meetings). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). The searchable fields follow Reminders (reminder_date, remindee_user_id, contact_id, property_id, listing_id). Call rex_describe_search_fields with service Appointments for the full list. POST /v1/rex/Appointments/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_notes` (~229 tokens)

Search notes

Search notes recorded against contacts and properties. Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: system_ctime, system_created_user_id, id. Call rex_describe_search_fields with service Notes for related contact and property fields. POST /v1/rex/Notes/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_deals` (~222 tokens)

Search deals

Search deals (the sales pipeline). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: deal.deal_state, deal.expected_close_date, deal.archive_date, deal.tags, deal.description. POST /v1/rex/Deals/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_activities` (~230 tokens)

Search activities

Search activities (the log of calls, emails and other actions on records). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: parent_object_type, parent_object_id, type_id, system_ctime, system_created_user_id. POST /v1/rex/Activities/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_listing_events` (~217 tokens)

Search listing events

Search listing events (open homes and inspections). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Call rex_describe_search_fields with service ListingEvents for the searchable fields. POST /v1/rex/ListingEvents/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_users` (~235 tokens)

Search users

Search the users (staff) of the agency account. Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Useful fields: first_name, last_name, email, status, user_group_id. User ids are used elsewhere as agent, assignee and remindee ids. POST /v1/rex/AccountUsers/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_search_campaigns` (~221 tokens)

Search campaigns

Search campaigns (nurture and marketing campaigns with their members). Filters (criteria) combine with AND; results are paged with offset/limit (next_offset says where to continue). Call rex_describe_search_fields with service Campaigns for the searchable fields. POST /v1/rex/Campaigns/search.

Input parameters:

- `criteria` (array): Filters, combined with AND: [{ name, type?, value }]. Only the in type gives an OR. Field names come from rex_describe_search_fields.
- `limit` (integer): Rows to return, 1-100 (default 20).
- `offset` (integer): Rows to skip (default 0). Use next_offset from the previous reply.
- `order_by` (object): Sort, sortable field name to direction, for example { "system_modtime": "DESC" }. Sortable names can differ from search field names (rex_describe_search_fields with include_order_by lists them).
- `search_state` (string): Which records to search: active (default), archive or trash.

### `rex_get_contact` (~102 tokens)

Get a contact

One contact by id (names, emails, phones, addresses, tags, relationships and the related properties and listings). The id comes from a search or autocomplete. POST /v1/rex/Contacts/read.

Input parameters:

- `fields` (array): Limit the reply to these parts of the record ("core" is always included; related data is "related.<name>"). Omit for the whole record, which is large.
- `id` (integer, required): The contact id.

### `rex_get_listing` (~103 tokens)

Get a listing

One listing by id (state, price, agents, the property with its attributes, images, related contacts and events). The id comes from a search or autocomplete. POST /v1/rex/Listings/read.

Input parameters:

- `fields` (array): Limit the reply to these parts of the record ("core" is always included; related data is "related.<name>"). Omit for the whole record, which is large.
- `id` (integer, required): The listing id.

### `rex_get_property` (~105 tokens)

Get a property

One property by id (address, attributes (bedrooms, land area and so on), features, owners and the property's history). The id comes from a search or autocomplete. POST /v1/rex/Properties/read.

Input parameters:

- `fields` (array): Limit the reply to these parts of the record ("core" is always included; related data is "related.<name>"). Omit for the whole record, which is large.
- `id` (integer, required): The property id.

### `rex_get_lead` (~58 tokens)

Get a lead

One lead by id (contact, source, status, assignee and the original enquiry). The id comes from a search or autocomplete. POST /v1/rex/Leads/read.

Input parameters:

- `id` (integer, required): The lead id.

### `rex_get_appraisal` (~59 tokens)

Get an appraisal

One appraisal by id (date, state, agents, property, price expectations and commission estimate). The id comes from a search or autocomplete. POST /v1/rex/Appraisals/read.

Input parameters:

- `id` (integer, required): The appraisal id.

### `rex_get_tenancy` (~55 tokens)

Get a tenancy

One tenancy by id (property, tenants, lease dates and rent). The id comes from a search or autocomplete. POST /v1/rex/Tenancies/read.

Input parameters:

- `id` (integer, required): The tenancy id.

### `rex_get_note` (~56 tokens)

Get a note

One note by id (text, type and the contacts and properties it is linked to). The id comes from a search or autocomplete. POST /v1/rex/Notes/read.

Input parameters:

- `id` (integer, required): The note id.

### `rex_get_deal` (~54 tokens)

Get a deal

One deal by id (state, value, parties and expected close date). The id comes from a search or autocomplete. POST /v1/rex/Deals/read.

Input parameters:

- `id` (integer, required): The deal id.

### `rex_get_reminder` (~58 tokens)

Get a reminder

One reminder by id (description, date, remindee, completion state and linked records). The id comes from a search or autocomplete. POST /v1/rex/Reminders/read.

Input parameters:

- `id` (integer, required): The reminder id.

### `rex_create_contact` (~130 tokens)

Create a person contact

WRITE: create a new person contact in Rex with a name and optionally one email and one phone. Search first (rex_autocomplete_contacts) to avoid duplicates. Not retried. Returns the new contact id. POST /v1/rex/Contacts/create.

Input parameters:

- `email` (string): Primary email address.
- `first_name` (string, required): First name.
- `last_name` (string, required): Last name.
- `phone` (string): Primary phone number.
- `phone_type` (string): Phone type id from the value list (for example mobile, home or work); omit to let Rex choose.

### `rex_create_note` (~137 tokens)

Create a note

WRITE: add a note to one or more contacts and/or properties (for example after a call or an open home). Not retried. Returns the new note id. POST /v1/rex/Notes/create.

Input parameters:

- `contact_ids` (array): Contacts the note is about.
- `note` (string, required): The note text.
- `note_type` (string): Note type id from the value list (for example phonecall); omit to use Rex's default.
- `property_ids` (array): Properties the note is about.
- `update_last_contacted` (boolean): Also set the contacts' last-contacted date to today.

### `rex_create_reminder` (~206 tokens)

Create a reminder

WRITE: create a follow-up reminder (task) due on a date, optionally linked to a contact, property or listing and assigned to a user (default: Rex's default remindee). Not retried. Returns the new reminder id. POST /v1/rex/Reminders/create.

Input parameters:

- `contact_id` (integer): Contact id to link.
- `date` (string, required): Due date, yyyy-mm-dd.
- `description` (string, required): What to do, for example 'Call Will about the appraisal'.
- `listing_id` (integer): Listing id to link.
- `priority` (string): Priority id from the value list (for example high).
- `property_id` (integer): Property id to link.
- `remindee_user_id` (integer): The Rex user id to remind (from rex_search_users); omit for the default.
- `reminder_type` (string): Reminder type id from the value list (for example email); omit to use Rex's default.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software#diagnostics

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 65
- 2026-10-31: 64

## Common questions

### What is the Rex Software MCP by usefulapi server?

Rex Software MCP by usefulapi is listed in the public MCP registry as io.usefulapi/rex-software. Read contacts, listings, tenancies and tasks; create a person contact, note or reminder. This page covers its hosted endpoint (https://rex-software.usefulapi.io/mcp).

### Is the Rex Software MCP by usefulapi server safe to use?

Rex Software MCP by usefulapi scores 18 out of 100 on VerifyMCP. 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 Rex Software MCP by usefulapi server expose?

Rex Software MCP by usefulapi exposes 33 tools: rex_get_user_profile, rex_list_accessible_accounts, rex_describe_search_fields, rex_list_value_lists, rex_get_value_list, and 28 more. Their descriptions and schemas cost roughly 5,104 tokens of context every time the server is loaded.

### Does the Rex Software MCP by usefulapi server require authentication?

Its publisher declares no required credentials for Rex Software MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Rex Software MCP by usefulapi server still maintained?

Rex Software MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://rex-software.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/rex-software/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-rex-software/rex-software
