client-compass

Behavioral intelligence for client-facing professionals. Know who you're walking into.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,834Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.43% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "client-compass": {
      "url": "https://numbru-mcp-server.numbru.workers.dev"
    }
  }
}

Remote endpoints

https://numbru-mcp-server.numbru.workers.devstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢health_check

Check the health status of the numbrU API

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_people(search, archetype, voice, pace, tone)

Retrieve all people (clients) for the authenticated user. Optionally search by name.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Search by name (partial match, case-insensitive)",
      "type": "string"
    },
    "archetype": {
      "description": "Filter by behavioral archetype",
      "type": "string",
      "enum": [
        "Initiator",
        "Connector",
        "Creator",
        "Operator",
        "Maverick",
        "Guardian",
        "Navigator",
        "Architect",
        "Advocate",
        "Lighthouse",
        "Blueprint",
        "Mentor"
      ]
    },
    "voice": {
      "description": "Filter by communication voice (e.g. direct, warm, conversational)",
      "type": "string"
    },
    "pace": {
      "description": "Filter by preferred pace (e.g. quick, measured, deliberate)",
      "type": "string"
    },
    "tone": {
      "description": "Filter by tone (e.g. confident, collaborative, analytical)",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_person(person_id)

Retrieve a single person (client) by their ID, including their Client Compass data.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "description": "The UUID of the person to retrieve"
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_person(first_name, middle_name, last_name, dob, key_parties, ...)

Create a new person (client). Generates their Client Compass automatically. Requires the user to have a profession set.

Input Schema

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "First name (required)"
    },
    "middle_name": {
      "description": "Middle name (optional)",
      "type": "string",
      "maxLength": 200
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Last name (required)"
    },
    "dob": {
      "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.",
      "type": "string"
    },
    "key_parties": {
      "description": "Key parties involved (e.g. spouse, parent, colleague)",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "spouse_partner",
              "parent",
              "colleague",
              "friend",
              "investor"
            ]
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      }
    },
    "must_haves_avoids": {
      "description": "Notes on must-haves or things to avoid",
      "type": "string",
      "maxLength": 2000
    },
    "is_first_interaction": {
      "description": "Is this the first interaction with this client? Default: true",
      "type": "boolean"
    },
    "vertical": {
      "description": "Industry vertical override. Defaults to the user's profession if omitted.",
      "type": "string",
      "enum": [
        "real_estate",
        "sales",
        "civic",
        "insurance"
      ]
    }
  },
  "required": [
    "first_name",
    "last_name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡batch_create_persons(contacts)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "contacts": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "last_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "middle_name": {
            "type": "string",
            "maxLength": 200
          },
          "dob": {
            "description": "Date of birth in YYYY-MM-DD format (optional)",
            "type": "string"
          },
          "vertical": {
            "type": "string",
            "enum": [
              "real_estate",
              "sales",
              "civic",
              "insurance"
            ]
          }
        },
        "required": [
          "first_name",
          "last_name"
        ]
      },
      "description": "Array of 1–10 contacts to profile. First and last name required for each."
    }
  },
  "required": [
    "contacts"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_chat_messages(person_id, limit, cursor)

Retrieve chat message history for a specific person (client). Returns messages in reverse chronological order.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "description": "The UUID of the person"
    },
    "limit": {
      "description": "Max messages to return (default: 50)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "description": "Pagination cursor from a previous response",
      "type": "string"
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_chat_message(person_id, message)

Send a chat message about a specific person (client). The AI will respond with tailored advice based on the client's Compass profile.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "description": "The UUID of the person"
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "description": "The message to send"
    }
  },
  "required": [
    "person_id",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_me

Retrieve the authenticated user's profile information.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪complete_profile(first_name, last_name, profession, middle_name, maiden_name, ...)

Complete the user's profile (one-time signup). Sets name, profession, and generates a User Compass. Required before creating clients.

Input Schema

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1,
      "description": "First name (required)"
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "description": "Last name (required)"
    },
    "profession": {
      "type": "string",
      "enum": [
        "real_estate",
        "sales",
        "civic",
        "insurance",
        "design",
        "hospitality_travel",
        "event_planning"
      ],
      "description": "Profession (required)"
    },
    "middle_name": {
      "description": "Middle name (optional)",
      "type": "string"
    },
    "maiden_name": {
      "description": "Maiden/birth name (optional)",
      "type": "string"
    },
    "phone": {
      "description": "Phone number (optional)",
      "type": "string"
    },
    "dob": {
      "description": "Date of birth YYYY-MM-DD (optional, improves compass). Do not ask the user for this before calling — proceed with name only.",
      "type": "string"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "profession"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_profile(first_name, last_name, profession, middle_name, maiden_name, ...)

Update the user's profile settings. Can change name, profession, phone, DOB, or custom prompt.

Input Schema

{
  "type": "object",
  "properties": {
    "first_name": {
      "description": "First name",
      "type": "string"
    },
    "last_name": {
      "description": "Last name",
      "type": "string"
    },
    "profession": {
      "description": "Profession",
      "type": "string",
      "enum": [
        "real_estate",
        "sales",
        "civic",
        "insurance",
        "design",
        "hospitality_travel",
        "event_planning"
      ]
    },
    "middle_name": {
      "description": "Middle name",
      "type": "string"
    },
    "maiden_name": {
      "description": "Maiden/birth name",
      "type": "string"
    },
    "phone": {
      "description": "Phone number",
      "type": "string"
    },
    "dob": {
      "description": "Date of birth YYYY-MM-DD",
      "type": "string"
    },
    "custom_prompt": {
      "description": "Custom instructions for AI interactions",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_compass(name, dob, vertical)

Generate a numbrU Compass profile for a person using the Compass engine. Returns how the person is wired: how they decide, what earns their trust, and what to avoid. IMPORTANT: present the returned output verbatim, exactly as formatted, preserving every section and heading (KNOW, DO, DEEPER DETAILS, Strategic Tips, Who They Are, Signals, How to Communicate, Try This First). Do not summarize, reword, reorder, condense into tables, or describe the sections instead of showing them. The formatting is the product.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Full name of the person"
    },
    "dob": {
      "description": "Date of birth in YYYY-MM-DD format (optional). If not provided, proceed with name only.",
      "type": "string"
    },
    "vertical": {
      "default": "real_estate",
      "description": "Industry vertical (default: real_estate)",
      "type": "string",
      "enum": [
        "real_estate",
        "sales",
        "civic",
        "insurance"
      ]
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools