---
name: money-magnified
description: Use when the user wants to do something in Money Magnified, their business platform. That covers finding, creating or updating clients, properties, offers, viewings, valuations, tenancies, repairs, inspections, appointments, tasks, enquiries, groups or emails, and syncing a property to Rightmove, Zoopla, OnTheMarket or the website. Needs the Money Magnified connector.
---

# Money Magnified

Money Magnified is the user's business platform. The Money Magnified connector
gives you its tools. Every tool runs as the person who connected it, inside
their company, so you can see and change only what their role allows. A tool
that is missing from your list is one their role or company does not have. It
is not an error to work around.

## Before anything else

If no Money Magnified tools are available (`search_clients`,
`search_properties`, `global_search` and so on), the connector is not added in
this chat. Tell the user to add it under **Settings → Connectors → Add custom
connector**, with the URL `https://api.moneymagnified.com/api/mcp`, then sign in
and click **Allow**. Do not try to reach Money Magnified any other way.

## The rules that keep the user's data right

1. **Find before you act.** Every write tool takes an id. Look the record up
   first with `search_clients`, `search_properties`, `search_appointments`,
   `search_tasks`, `search_enquiries`, `search_groups` or `global_search`, and
   never invent or guess an id. If a search returns more than one plausible
   match, ask which one, naming each by name and email, or by address.
2. **Confirm before you write.** Writes are real and immediate, and there is no
   undo or draft copy. Before you create, update, archive, send or sync, show
   the user a one-line summary of exactly what will change and wait for a yes.
   Reads need no confirmation.
3. **No duplicate people.** Before `create_client`, run
   `find_duplicate_clients` with the email, the phone, or the full name. If it
   finds someone, offer that record instead and create a new one only if the
   user says it is a different person.
4. **Use the company's own labels.** Client type ids come from
   `list_client_types` and appointment type ids from `list_appointment_types`.
   Never make them up.
5. **Get times right.** Call `get_current_datetime` before turning "tomorrow at
   3" into an ISO-8601 time, so the date and timezone are the user's.
6. **Name things the way people do.** In replies, refer to records by name or
   address, not by id.
7. **Report refusals plainly.** If a tool says the user lacks permission or a
   feature is not set up, say so in one sentence and suggest they ask their
   administrator. Do not retry the same call through `call_api`.

## Common jobs

**Find a client.** `search_clients` with a name, email or phone fragment, then
`get_client` for the full record (address, notes, groups).

**Create a client.** `find_duplicate_clients`, then `list_client_types` if the
user mentioned a type such as Buyer or Landlord. Confirm, then `create_client`
with `firstName` and `lastName`, plus email and phone when you have them.

**Update a client or add a note.** Find the client, confirm the change, then
`update_client`, which changes only the fields you pass, or `add_client_note`.

**Find a property.** `search_properties` accepts free text such as an address
or postcode, plus filters (category, status, bedrooms, price). Use
`get_property` for the full record.

**Sync a property to the portals and website.** Find the property, then call
`get_property_listing_status` to see where it is live now.
- *"Sync it" or "push the latest details"*: `sync_property` with only `id`. This
  refreshes every channel and category the property is already live on.
- *"Put it on Zoopla"* (a channel it is not live on yet): `sync_property` with
  `channels: ["zoopla"]` and `publish: true`. A first publish is a public
  advert, so only publish to channels the user names, and confirm first.
- *"Take it off Rightmove"*: `sync_property` with `channels: ["rightmove"]` and
  `action: "remove"`.
- The channel names are `rightmove`, `zoopla`, `onthemarket` and `website`. For
  a property that is both for sale and to let, pass `category` (`SALES` or
  `LETTINGS`) when the user means only one of them.
- The result lists each channel separately. Relay the ones that failed with
  their own message (for example, a portal not set up or a listing missing a
  required detail) rather than calling the whole sync a failure.
- Some companies have their portal advertising handled by a partner. In that
  case `sync_property` re-sends the property to the partner, who updates the
  portals, usually within a few minutes. Such a listing cannot be withdrawn
  from here: tell the user to change the property's status (for example to
  Withdrawn) or archive it.

**Change a property's status.** `update_property_status`, for example from
For Sale to Under Offer. Confirm first.

**Find buyers or tenants for a property.** `match_clients_to_property`.

**Book an appointment or viewing.** `list_appointment_types` for the type id,
`get_availability` for free slots if the user did not give a time, confirm,
then `create_appointment` (ISO-8601 `startTime` and `endTime`, plus
`propertyId` when it is a viewing). A property's viewings are its appointments:
`search_appointments` with its `propertyId`.

**Log an offer.** Find the property and the offerers (`search_clients`), confirm
the amount and who it is from, then `record_offer` with their `clientIds`. Use
`offererName` only for someone who is not a client yet, or offer to create them
first.

**Accept, reject or withdraw an offer.** `list_property_offers` for the offer
id, confirm, then `update_offer_status`. When the list says `managed: true`, an
offer must be `presented` before it can be `accepted`, and `sale_agreed` comes
after that. Accepting does not change the property's own status: ask whether
to mark it Under Offer (or Let Agreed) with `update_property_status`. Neither
tool emails the buyer or the vendor; the offer letters are sent from the
property page.

**Note a call or feedback on a property.** `add_property_note`; read the log
with `list_property_activity`.

**Valuations.** `record_valuation` for the figures (suggested, lower, upper);
`list_property_valuations` for past ones. To book the valuation visit itself,
use `create_appointment`.

**Lettings: tenancies, repairs and inspections.** `create_tenancy` and
`update_tenancy`; `create_maintenance_job` to log a repair and
`update_maintenance_job` to assign a contractor, record the cost or complete
it; `create_inspection` and `update_inspection` to schedule a visit and record
its result. Each has a `list_` tool for what is already there.

**Signatures.** `list_esign_requests` shows which documents are out for
signature and who has signed.

**Create or finish a task.** `create_task` (it is assigned to the user by
default, and can be linked with `clientId` or `propertyId`), and
`complete_task` or `update_task` for existing ones.

**Email someone.** `list_email_accounts` to pick the sending account, then
`draft_email` to write it. Show the user the draft, and call `send_email` only
after they approve the final text. An email cannot be recalled.

**"What's on my plate?"** `get_user_activity` shows overdue tasks, upcoming
appointments and new enquiries.

**Anything else.** Prefer a named tool. When none fits, `list_api_endpoints`
finds the right API route and `call_api` calls it as the user. `call_api` only
reads unless the Money Magnified server allows writes; if it refuses a change,
tell the user it cannot be done from Claude yet rather than looking for another
way.
