Skip to main content
Glama

Dayze — Life Context

Dayze Contacts

get_people
Read-only

List or search the authenticated user's Dayze Contacts (private CRM; table people). query matches literal substrings of name, slug, email, occupation or context tags (no fuzzy fallback). context_tags requires all exact tags; occupation requires a substring. These filters combine with query and search the full owned contact set before pagination. Set wealth_category=reviewed for only explicitly owner-reviewed wealth-category contacts: returns id and name only, even with include_notes=true. That mode searches names only, uses offset rather than cursor, and cannot combine with occupation or context_tags. Without it, each contact includes avatar_url, photo_count, and has_photos; use get_person_photos(person_id) for the full gallery. With financial_details:read, net_worth_assessment includes category, scope, estimated range (when supported), confidence, methodology, caveat, dated source URLs, and review date. Context-only and insufficient-evidence assessments carry no personal number. birthday_precision says which parts of birthday are real: month_day means the year is unknown (stored 1900, or 1904 for Feb 29), year means only the year. Notes omitted by default (has_notes flag); pass include_notes=true for progressive fetch (credential/secret spans are redacted server-side). Supports limit (default 100, max 500) and offset; returns total and truncated. Distinct from public notable People at /people. Advertised name get_people is stable; tools/call also accepts get_contacts / list_contacts. Requires OAuth or a supported scoped credential. ($0.10; API key required)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (default 100, max 500)
queryNoLiteral substring search over name, slug, email, occupation and context tags; with wealth_category=reviewed, name only. No fuzzy fallback.
cursorNo
offsetNoSkip N rows (default 0)
occupationNoRequire this literal substring in the occupation field. Cannot combine with wealth_category.
context_tagsNoRequire every exact context tag, case insensitive (for example ["model"]). Cannot combine with wealth_category.
include_notesNoWhen true, include notes (server-redacted). Default false.
wealth_categoryNoOnly explicitly owner-reviewed wealth-category contacts. Returns id and name only; cannot combine with occupation or context_tags.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYes
queryNo
totalYes
offsetYes
peopleYes
accountNoThe Dayze account this data belongs to. With more than one Dayze connection, name it in the answer.
has_moreNo
no_matchNoTrue when a query or profession filter matched no contacts.
orderingNo
truncatedYes
expires_atNo
match_modeNounfiltered, structured or literal_substring; get_people has no fuzzy fallback.
occupationNo
next_cursorNo
server_timeNo
snapshot_atNo
snapshot_idNo
context_tagsNo
inspect_noteNoHow to cite: link each record with its inspect_url, never a link built from an id; which record types here have no Dayze page.
scan_limitedNoLegacy compatibility field; filtered database searches return false.
include_notesNo
wealth_categoryNoreviewed when the result is restricted to explicitly reviewed wealth-category contacts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / scan_limited / description
      Previous value: -"A filtered live scan stopped after 5,000 contacts; total is then a lower bound and no_match is false."New value: +"Legacy compatibility field; filtered database searches return false."
  2. Changed9 schema fields changed
    • addedInput schema / properties / context_tags
      Added value: +{
      +  "description": "Require every exact context tag, case insensitive (for example [\"model\"]). Cannot combine with wealth_category.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / occupation
      Added value: +{
      +  "description": "Require this literal substring in the occupation field. Cannot combine with wealth_category.",
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Literal substring search over contact name, slug, or email; with wealth_category=reviewed, name only. No fuzzy fallback."New value: +"Literal substring search over name, slug, email, occupation and context tags; with wealth_category=reviewed, name only. No fuzzy fallback."
    • changedInput schema / properties / wealth_category / description
      Previous value: -"Only contacts with an explicit owner-reviewed wealth-category decision. Returns id and name only."New value: +"Only explicitly owner-reviewed wealth-category contacts. Returns id and name only; cannot combine with occupation or context_tags."
    • addedOutput schema / properties / context_tags
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / match_mode / description
      Previous value: -"unfiltered or literal_substring; get_people has no fuzzy fallback."New value: +"unfiltered, structured or literal_substring; get_people has no fuzzy fallback."
    • changedOutput schema / properties / no_match / description
      Previous value: -"True when a non-empty query matched no contacts."New value: +"True when a query or profession filter matched no contacts."
    • addedOutput schema / properties / occupation
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / scan_limited
      Added value: +{
      +  "description": "A filtered live scan stopped after 5,000 contacts; total is then a lower bound and no_match is false.",
      +  "type": "boolean"
      +}
  3. Changed3 schema fields changed
    • changedInput schema / properties / query / description
      Previous value: -"Literal substring search over contact name, slug, or email. No fuzzy fallback."New value: +"Literal substring search over contact name, slug, or email; with wealth_category=reviewed, name only. No fuzzy fallback."
    • addedInput schema / properties / wealth_category
      Added value: +{
      +  "description": "Only contacts with an explicit owner-reviewed wealth-category decision. Returns id and name only.",
      +  "enum": [
      +    "reviewed"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / wealth_category
      Added value: +{
      +  "description": "reviewed when the result is restricted to explicitly reviewed wealth-category contacts.",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • addedOutput schema / properties / account
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The Dayze account this data belongs to. With more than one Dayze connection, name it in the answer.",
      +  "properties": {
      +    "display_name": {
      +      "description": "Account display name.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "handle": {
      +      "description": "Account handle, e.g. @goh.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "description": "How to disclose the account to the user.",
      +      "type": "string"
      +    },
      +    "qa_fixture": {
      +      "description": "True for a known QA test account: its records are fixture data, not a real life.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "handle",
      +    "display_name",
      +    "qa_fixture",
      +    "note"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / inspect_note
      Added value: +{
      +  "description": "How to cite: link each record with its inspect_url, never a link built from an id; which record types here have no Dayze page.",
      +  "type": "string"
      +}
  5. Changed4 schema fields changed
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Literal substring search over contact name, slug, or email. No fuzzy fallback.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / match_mode
      Added value: +{
      +  "description": "unfiltered or literal_substring; get_people has no fuzzy fallback.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / no_match
      Added value: +{
      +  "description": "True when a non-empty query matched no contacts.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / query
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  6. Changed8 schema fields changed
    • addedInput schema / properties / cursor
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / expires_at
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / has_more
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / next_cursor
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / ordering
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / server_time
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / snapshot_at
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / snapshot_id
      Added value: +{
      +  "type": "string"
      +}
  7. Changed1 schema field changed
    • addedOutput schema / properties / include_notes
      Added value: +{
      +  "type": "boolean"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / include_notes
      Added value: +{
      +  "description": "When true, include notes (server-redacted). Default false.",
      +  "type": "boolean"
      +}
  9. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "limit": {
      +      "type": "number"
      +    },
      +    "offset": {
      +      "type": "number"
      +    },
      +    "people": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "A Dayze person or contact record.",
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "number"
      +    },
      +    "truncated": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "people",
      +    "total",
      +    "limit",
      +    "offset",
      +    "truncated"
      +  ],
      +  "type": "object"
      +}
  10. Changed2 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Page size (default 100, max 500)",
      +  "type": "number"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Skip N rows (default 0)",
      +  "type": "number"
      +}
  11. First observed

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: server-side redaction of credential/secret spans, progressive note fetching, offset-vs-cursor switching in reviewed mode, and credential requirements. It is dense but does not detail return-shape or rate limits, so against the lower annotation-driven bar this lands at a solid 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense block of many clauses covering modes, filters, redaction and pricing, with no headings or paragraph breaks. Front-loaded purpose is good and most sentences carry real information, but the run-on structure hurts scannability and some details (birthday_precision storage sentinels, advertised-name aliases) sit at the same level as core usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained. Given 8 optional params, enum, and the reviewed-mode behavior, the description covers auth requirements, redaction, pagination semantics, and sibling distinctions thoroughly enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 88%, so the schema documents most parameters. The description still adds cross-parameter meaning the schema cannot: how query combines with other filters, that reviewed mode searches names only and uses offset, and that notes are redacted. This exceeds the baseline 3 for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('List or search the authenticated user's Dayze Contacts') and immediately scopes it as the private CRM table 'people'. It explicitly distinguishes itself from the public notable People at /people, so an agent can separate it from notable_search/notable_profile without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States when to use it, the exact filter-combination rules (context_tags requires all tags; occupation cannot combine with wealth_category), the special reviewed mode's restrictions, and points to get_person_photos for the gallery. Alternatives and exclusions are spelled out rather than inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.