Behavioral intelligence for client-facing professionals. Know who you're walking into.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create up to 10 people (clients) in parallel and generate a Client Compass for each. Use this for re-engaging dormant leads — a name is enough. IMPORTANT: Return the full Start Here coaching for each person (ask_them, know_this, avoid_this) — do not summarize or create tables. Present each person's compass_summary_text and all three Start Here items in full.
Array of 1–10 contacts to profile. First and last name required for each.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create up to 10 people (clients) in parallel and generate a Client Compass for each. Use this for re-engaging dormant leads — a name is enough. IMPORTANT: Return the full Start Here coaching for each person (ask_them, know_this, avoid_this) — do not summarize or create tables. Present each person's compass_summary_text and all three Start Here items in full.
| Argument | Type | Description |
|---|---|---|
| contacts* | array | Array of 1–10 contacts to profile. First and last name required for each. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contacts"
],
"properties": {
"contacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"first_name",
"last_name"
],
"properties": {
"dob": {
"type": "string",
"description": "Date of birth in YYYY-MM-DD format (optional)"
},
"vertical": {
"enum": [
"real_estate",
"sales",
"civic",
"insurance"
],
"type": "string"
},
"last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"middle_name": {
"type": "string",
"maxLength": 200
}
}
},
"maxItems": 10,
"minItems": 1,
"description": "Array of 1–10 contacts to profile. First and last name required for each."
}
}
}Complete the user's profile (one-time signup). Sets name, profession, and generates a User Compass. Required before creating clients.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth YYYY-MM-DD (optional, improves compass). Do not ask the user for this before calling — proceed with name only. |
| phone | string | Phone number (optional) |
| last_name* | string | Last name (required) |
| first_name* | string | First name (required) |
| profession* | string | Profession (required) |
| maiden_name | string | Maiden/birth name (optional) |
| middle_name | string | Middle name (optional) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first_name",
"last_name",
"profession"
],
"properties": {
"dob": {
"type": "string",
"description": "Date of birth YYYY-MM-DD (optional, improves compass). Do not ask the user for this before calling — proceed with name only."
},
"phone": {
"type": "string",
"description": "Phone number (optional)"
},
"last_name": {
"type": "string",
"minLength": 1,
"description": "Last name (required)"
},
"first_name": {
"type": "string",
"minLength": 1,
"description": "First name (required)"
},
"profession": {
"enum": [
"real_estate",
"sales",
"civic",
"insurance",
"design",
"hospitality_travel",
"event_planning"
],
"type": "string",
"description": "Profession (required)"
},
"maiden_name": {
"type": "string",
"description": "Maiden/birth name (optional)"
},
"middle_name": {
"type": "string",
"description": "Middle name (optional)"
}
}
}Save a new person (client) to the user's people list. Only call this when the user asks to save or add someone. Never call it to get a Lowdown, a card, or to go deeper: use generate_compass for every read. Requires the user to have a profession set.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth in YYYY-MM-DD format (optional, improves compass accuracy). Do not ask the user for this before calling — proceed with name only and let the engine handle it. |
| vertical | string | Industry vertical override. Defaults to the user's profession if omitted. |
| last_name* | string | Last name (required) |
| first_name* | string | First name (required) |
| key_parties | array | Key parties involved (e.g. spouse, parent, colleague) |
| middle_name | string | Middle name (optional) |
| must_haves_avoids | string | Notes on must-haves or things to avoid |
| is_first_interaction | boolean | Is this the first interaction with this client? Default: true |
Get the Lowdown on a person from the numbrU engine. Call with depth "card" first (the default): it returns a short card with KNOW, AVOID, and INSTEAD. If the user has described the moment (a listing meeting, a negotiation, a first call), pass it in context so the card fits that moment. When the user asks to go deeper, call again with the same name, dob, vertical, and context and depth "full" for the Deeper Details: how they decide, what earns their trust, the signs to watch for, and how to communicate. IMPORTANT: present the returned output verbatim, exactly as formatted, preserving every heading. Do not summarize, reword, reorder, condense into tables, or describe the sections instead of showing them. The formatting is the product. Get every read from generate_compass only: do not call create_person, list_people, or get_person to get or deepen a read, and do not save the person unless the user asks. In any note you add after the output, refer to the person by first name or "they", never he/she.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth in YYYY-MM-DD format (optional). If not provided, proceed with name only. |
| name* | string | Full name of the person |
| depth | string | card = short card first (default). full = Deeper Details, only when the user asks to go deeper. |
| context | string | Optional: the moment the user described, in their words (e.g. 'listing appointment Thursday, first meeting'). |
| vertical | string | Industry vertical (default: real_estate) |
Retrieve chat message history for a specific person (client). Returns messages in reverse chronological order.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max messages to return (default: 50) |
| cursor | string | Pagination cursor from a previous response |
| person_id* | string | The UUID of the person |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"person_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max messages to return (default: 50)"
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response"
},
"person_id": {
"type": "string",
"description": "The UUID of the person"
}
}
}Retrieve the authenticated user's profile information.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Retrieve a single person (client) by their ID. Returns contact details only, not the Lowdown: for any read, card or "go deeper", call generate_compass.
| Argument | Type | Description |
|---|---|---|
| person_id* | string | The UUID of the person to retrieve |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"person_id"
],
"properties": {
"person_id": {
"type": "string",
"description": "The UUID of the person to retrieve"
}
}
}Check the health status of the numbrU API
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Retrieve all people (clients) for the authenticated user. Optionally search by name. Returns contact details only, not the Lowdown: for any read, card or "go deeper", call generate_compass.
| Argument | Type | Description |
|---|---|---|
| pace | string | Filter by preferred pace (e.g. quick, measured, deliberate) |
| tone | string | Filter by tone (e.g. confident, collaborative, analytical) |
| voice | string | Filter by communication voice (e.g. direct, warm, conversational) |
| search | string | Search by name (partial match, case-insensitive) |
| archetype | string | Filter by archetype name |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"pace": {
"type": "string",
"description": "Filter by preferred pace (e.g. quick, measured, deliberate)"
},
"tone": {
"type": "string",
"description": "Filter by tone (e.g. confident, collaborative, analytical)"
},
"voice": {
"type": "string",
"description": "Filter by communication voice (e.g. direct, warm, conversational)"
},
"search": {
"type": "string",
"description": "Search by name (partial match, case-insensitive)"
},
"archetype": {
"type": "string",
"description": "Filter by archetype name"
}
}
}Send a chat message about a specific person (client). The AI will respond with tailored advice based on the client's Compass profile.
| Argument | Type | Description |
|---|---|---|
| message* | string | The message to send |
| person_id* | string | The UUID of the person |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"person_id",
"message"
],
"properties": {
"message": {
"type": "string",
"minLength": 1,
"description": "The message to send"
},
"person_id": {
"type": "string",
"description": "The UUID of the person"
}
}
}Update the user's profile settings. Can change name, profession, phone, DOB, or custom prompt.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth YYYY-MM-DD |
| phone | string | Phone number |
| last_name | string | Last name |
| first_name | string | First name |
| profession | string | Profession |
| maiden_name | string | Maiden/birth name |
| middle_name | string | Middle name |
| custom_prompt | string | Custom instructions for AI interactions |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dob": {
"type": "string",
"description": "Date of birth YYYY-MM-DD"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"last_name": {
"type": "string",
"description": "Last name"
},
"first_name": {
"type": "string",
"description": "First name"
},
"profession": {
"enum": [
"real_estate",
"sales",
"civic",
"insurance",
"design",
"hospitality_travel",
"event_planning"
],
"type": "string",
"description": "Profession"
},
"maiden_name": {
"type": "string",
"description": "Maiden/birth name"
},
"middle_name": {
"type": "string",
"description": "Middle name"
},
"custom_prompt": {
"type": "string",
"description": "Custom instructions for AI interactions"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first_name",
"last_name"
],
"properties": {
"dob": {
"type": "string",
"description": "Date of birth in YYYY-MM-DD format (optional, improves compass accuracy). Do not ask the user for this before calling — proceed with name only and let the engine handle it."
},
"vertical": {
"enum": [
"real_estate",
"sales",
"civic",
"insurance"
],
"type": "string",
"description": "Industry vertical override. Defaults to the user's profession if omitted."
},
"last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Last name (required)"
},
"first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "First name (required)"
},
"key_parties": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"enum": [
"spouse_partner",
"parent",
"colleague",
"friend",
"investor"
],
"type": "string"
},
"name": {
"type": "string"
}
}
},
"description": "Key parties involved (e.g. spouse, parent, colleague)"
},
"middle_name": {
"type": "string",
"maxLength": 200,
"description": "Middle name (optional)"
},
"must_haves_avoids": {
"type": "string",
"maxLength": 2000,
"description": "Notes on must-haves or things to avoid"
},
"is_first_interaction": {
"type": "boolean",
"description": "Is this the first interaction with this client? Default: true"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"dob": {
"type": "string",
"description": "Date of birth in YYYY-MM-DD format (optional). If not provided, proceed with name only."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Full name of the person"
},
"depth": {
"enum": [
"card",
"full"
],
"type": "string",
"default": "card",
"description": "card = short card first (default). full = Deeper Details, only when the user asks to go deeper."
},
"context": {
"type": "string",
"maxLength": 500,
"description": "Optional: the moment the user described, in their words (e.g. 'listing appointment Thursday, first meeting')."
},
"vertical": {
"enum": [
"real_estate",
"sales",
"civic",
"insurance"
],
"type": "string",
"default": "real_estate",
"description": "Industry vertical (default: real_estate)"
}
}
}