com.numbru/client-compass
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Behavioral intelligence for client-facing professionals. Know who you're walking into.
| Author | com.numbru |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 567 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"client-compass": {
"url": "https://numbru-mcp-server.numbru.workers.dev",
"transport": "streamable-http"
}
}
}
Measured tools (11)
health_checkCheck the health status of the numbrU API
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_peopleRetrieve 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.
Parameters:
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
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_personRetrieve a single person (client) by their ID. Returns contact details only, not the Lowdown: for any read, card or "go deeper", call generate_compass.
Parameters:
person_id(required) — string — The UUID of the person to retrieve
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_personSave 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.
Parameters:
first_name(required) — string — First name (required)last_name(required) — string — Last name (required)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.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 avoidis_first_interaction— boolean — Is this the first interaction with this client? Default: true
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
batch_create_personsCreate 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.
Parameters:
contacts(required) — array — Array of 1–10 contacts to profile. First and last name required for each.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_chat_messagesRetrieve chat message history for a specific person (client). Returns messages in reverse chronological order.
Parameters:
person_id(required) — string — The UUID of the personlimit— integer — Max messages to return (default: 50)cursor— string — Pagination cursor from a previous response
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
send_chat_messageSend a chat message about a specific person (client). The AI will respond with tailored advice based on the client's Compass profile.
Parameters:
person_id(required) — string — The UUID of the personmessage(required) — string — The message to send
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_meRetrieve the authenticated user's profile information.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
complete_profileComplete the user's profile (one-time signup). Sets name, profession, and generates a User Compass. Required before creating clients.
Parameters:
first_name(required) — string — First name (required)last_name(required) — string — Last name (required)profession(required) — string — Profession (required)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)maiden_name— string — Maiden/birth name (optional)middle_name— string — Middle name (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
update_profileUpdate the user's profile settings. Can change name, profession, phone, DOB, or custom prompt.
Parameters:
dob— string — Date of birth YYYY-MM-DDphone— string — Phone numberlast_name— string — Last namefirst_name— string — First nameprofession— string — Professionmaiden_name— string — Maiden/birth namemiddle_name— string — Middle namecustom_prompt— string — Custom instructions for AI interactions
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_compassGet 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.
Parameters:
name(required) — string — Full name of the persondob— string — Date of birth in YYYY-MM-DD format (optional). If not provided, proceed with name only.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)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.