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

NameRequiredDescriptionDefault
limitNoPage size (default 100, max 500)
listsNoOnly contacts on any of these contact lists (ids or slugs from list_contact_lists), by name; page with offset. Cannot combine with query, occupation, context_tags, wealth_category or cursor.
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_listsNoWhen true, each contact includes lists: [{ id, name, slug }]. Default false.
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

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
self_noteNoPresent when the page includes the user's own card (Me): that person has is_self: true and a display_name ending in (Me), and is not counted in total.
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
    • addedOutput schema / properties / self_note
      Added value: +{
      +  "description": "Present when the page includes the user's own card (Me): that person has is_self: true and a display_name ending in (Me), and is not counted in total.",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / include_lists
      Added value: +{
      +  "description": "When true, each contact includes lists: [{ id, name, slug }]. Default false.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / lists
      Added value: +{
      +  "description": "Only contacts on any of these contact lists (ids or slugs from list_contact_lists), by name; page with offset. Cannot combine with query, occupation, context_tags, wealth_category or cursor.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. 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."
  4. 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"
      +}
  5. 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"
      +}
  6. 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"
      +}
  7. 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"
      +  ]
      +}
  8. 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"
      +}
  9. Changed1 schema field changed
    • addedOutput schema / properties / include_notes
      Added value: +{
      +  "type": "boolean"
      +}
  10. Changed1 schema field changed
    • addedInput schema / properties / include_notes
      Added value: +{
      +  "description": "When true, include notes (server-redacted). Default false.",
      +  "type": "boolean"
      +}
  11. 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"
      +}
  12. 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"
      +}
  13. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Despite annotations already declaring a safe read-only profile, the description adds substantial context beyond them: server-side redaction of credential/secret spans, wealth_category returning id+name only even with include_notes, progressive note fetch, pagination return fields (total/truncated), and auth requirements (OAuth or scoped credential). This is unusually rich disclosure.

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?

Front-loaded with purpose, and most sentences carry distinct constraints, but the whole thing is a single dense wall of text with no structural breaks, mixing pricing, aliasing, auth, and filtering rules together. For a 10-param tool some length is warranted, but organization suffers.

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?

Given a high-complexity, 10-parameter tool with an output schema present, the description covers the needed behavioral modes, filter conflicts, auth, and pagination caveats. Return-value detail can be delegated to the output schema, so nothing an agent needs to call it correctly is missing.

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 coverage is 90%, so the schema does most of the work; baseline would be 3. The description adds value by explaining that filters combine with query and search the full owned contact set before pagination, and by reinforcing literal-substring vs exact-tag semantics and the offset-vs-cursor split, though it largely echoes schema text.

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?

States a specific verb+resource: 'List or search the authenticated user's Dayze Contacts (private CRM; table people)'. It explicitly distinguishes itself from the public notable People at /people, so an agent can route correctly 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?

Names alternatives and conditions directly: use get_person_photos(person_id) for the full gallery, use wealth_category=reviewed for owner-reviewed contacts, and states the non-combinable filter sets (occupation/context_tags vs wealth_category). When-to-use and conflict rules are explicit 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.