Servidor MCP

discovery

com.peopleanalyst/discovery
Datos y analítica Conocimiento y documentación Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides people-analytics research, evidence catalogs, authored guidance, data-story planning, and deterministic behavioral segmentation.

get_answer
Get a query-shaped answer
Returns one authored /answers page as structured content: question, markdown answer body (short answer, problem frame, evidence, grounded sources), and citations with libraryId or url. Known slugs (33): measure-employee-performance, survey-validity-check, people-analytics-program-maturity, people-analytics-vs-hr-reporting, engagement-survey-vs-listening-diagnostic, people-analytics-tools-compare, beyond-annual-engagement-survey, replace-gut-feel-talent-decisions, ….
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Answer slug from the query map (e.g. survey-validity-check).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'title', 'canonicalUrl', 'question', 'answer', 'citations', 'updatedAt'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'answer': {'type': 'string'}, 'question': {'type': 'string'}, 'citations': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'libraryId': {'type': 'string'}}, 'additionalProperties': False}}, 'updatedAt': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}
get_brandscripts
Per-persona StoryBrand arguments for each product
Per-persona StoryBrand arguments for each product. The persona × goal argument layer (SB7-shaped). Stable ?id is globally exact; ?product + ?persona + ?variant selects one exact scoped variant, while ?variant alone remains a compatible filter. Live is the default; ?status=draft|all opts into authoring records with capability readiness kept separate.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Select one stable BrandScript id exactly.'}, 'status': {'enum': ['live', 'draft', 'all'], 'type': 'string', 'description': 'live (default) | draft | all.'}, 'persona': {'type': 'string', 'description': 'Filter to one persona slug.'}, 'product': {'type': 'string', 'description': "Filter to one product's arguments."}, 'variant': {'type': 'string', 'description': 'Stable goal variant scoped to product + persona; use all three to select exactly.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'filter', 'count', 'brandscripts'], 'properties': {'count': {'type': 'number'}, 'filter': {'type': 'object', 'required': ['product', 'persona', 'variant', 'id', 'status'], 'properties': {'id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'persona': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'product': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'variant': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'contract': {'type': 'string'}, 'brandscripts': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'variant', 'variantExplicit', 'primary', 'product', 'persona', 'personaLabel', 'status', 'logline', 'character', 'problem', 'guide', 'plan', 'callToAction', 'success', 'failure', 'products', 'cards', 'navLabel', 'teaser', 'seo', 'order', 'proves', 'stories', 'problemTags'], 'properties': {'id': {'type': 'string'}, 'seo': {'type': 'object', 'required': ['metaTitle', 'metaDescription'], 'properties': {'metaTitle': {'type': 'string'}, 'metaDescription': {'type': 'string'}}, 'additionalProperties': False}, 'plan': {'type': 'array', 'items': {'type': 'string'}}, 'cards': {'type': 'array', 'items': {'type': 'string'}}, 'guide': {'type': 'object', 'required': ['empathy', 'authority'], 'properties': {'empathy': {'type': 'string'}, 'authority': {'type': 'string'}}, 'additionalProperties': False}, 'order': {'type': 'number'}, 'proves': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'navLabel', 'customerPitch'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'navLabel': {'type': 'string'}, 'customerPitch': {'type': 'string'}}, 'additionalProperties': False}}, 'status': {'enum': ['live', 'draft'], 'type': 'string'}, 'teaser': {'type': 'string'}, 'failure': {'type': 'string'}, 'journey': {'type': 'object', 'required': ['id', 'facet', 'intent', 'goal', 'goalProvenance', 'personaRef', 'problemRefs', 'problemRefStatus', 'editorialStatus', 'capabilityReadiness', 'action', 'sourceRefs'], 'properties': {'id': {'type': 'string'}, 'goal': {'type': 'string'}, 'facet': {'enum': ['public', 'job-assist', 'enterprise', 'research'], 'type': 'string'}, 'action': {'oneOf': [{'type': 'object', 'required': ['availability', 'label', 'href'], 'properties': {'href': {'type': 'string'}, 'label': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'available'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['availability', 'label'], 'properties': {'label': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'intended'}}, 'additionalProperties': False}]}, 'intent': {'type': 'string'}, 'personaRef': {'oneOf': [{'type': 'object', 'required': ['status', 'slug', 'libraryId', 'canonicalPersonaId', 'sourcePersonaLabel', 'sourcePersonaScope', 'roleIdentityEvidence', 'jobRefs', 'sourceContract', 'observedAt'], 'properties': {'slug': {'type': 'string'}, 'status': {'type': 'string', 'const': 'resolved'}, 'jobRefs': {'type': 'array', 'items': {'type': 'string'}}, 'libraryId': {'type': 'string'}, 'observedAt': {'type': 'string'}, 'sourceContract': {'type': 'string'}, 'canonicalPersonaId': {'type': 'string'}, 'personframeAddress': {'type': 'string'}, 'sourcePersonaLabel': {'type': 'string'}, 'sourcePersonaScope': {'type': 'string'}, 'roleIdentityEvidence': {'type': 'string', 'const': 'matched-public-persona-record'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'requestedRole', 'reason', 'reconciliation', 'sourceContract', 'observedAt'], 'properties': {'reason': {'type': 'string'}, 'status': {'type': 'string', 'const': 'unresolved'}, 'observedAt': {'type': 'string'}, 'requestedRole': {'type': 'string'}, 'reconciliation': {'type': 'string'}, 'sourceContract': {'type': 'string'}}, 'additionalProperties': False}]}, 'sourceRefs': {'type': 'array', 'items': {'type': 'string'}}, 'problemRefs': {'type': 'array', 'items': {'type': 'object', 'required': ['address', 'edition'], 'properties': {'slot': {'enum': ['villain', 'external', 'internal', 'philosophical'], 'type': 'string'}, 'slug': {'type': 'string'}, 'address': {'type': 'string'}, 'edition': {'type': 'string', 'const': 'v1'}}, 'additionalProperties': False}}, 'goalProvenance': {'type': 'object', 'required': ['source', 'personaLibraryGoalValidated'], 'properties': {'source': {'type': 'string', 'const': 'mike-approved-jobframe-intent'}, 'personaLibraryGoalValidated': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'editorialStatus': {'enum': ['live', 'draft'], 'type': 'string'}, 'problemRefStatus': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'resolved'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'reason', 'reconciliation'], 'properties': {'reason': {'type': 'string'}, 'status': {'type': 'string', 'const': 'unresolved'}, 'reconciliation': {'type': 'string'}}, 'additionalProperties': False}]}, 'capabilityReadiness': {'enum': ['available', 'partial', 'in-development', 'planned', 'future', 'design-only'], 'type': 'string'}}, 'additionalProperties': False}, 'logline': {'type': 'string'}, 'persona': {'type': 'string'}, 'primary': {'type': 'boolean'}, 'problem': {'type': 'object', 'required': ['external', 'internal', 'philosophical'], 'properties': {'external': {'type': 'string'}, 'internal': {'type': 'string'}, 'philosophical': {'type': 'string'}}, 'additionalProperties': False}, 'product': {'type': 'string'}, 'stories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'logline', 'occasion', 'problemTags'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'logline': {'type': 'string'}, 'occasion': {'type': 'string'}, 'problemTags': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'success': {'type': 'string'}, 'variant': {'type': 'string'}, 'navLabel': {'type': 'string'}, 'products': {'type': 'array', 'items': {'type': 'string'}}, 'character': {'type': 'string'}, 'problemTags': {'type': 'array', 'items': {'type': 'string'}}, 'callToAction': {'type': 'object', 'required': ['direct'], 'properties': {'direct': {'type': 'string'}, 'transitional': {'type': 'string'}}, 'additionalProperties': False}, 'personaLabel': {'type': 'string'}, 'variantExplicit': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_canonical_forms
The canonical form vocabulary — the structural primitive
The canonical form vocabulary — the structural primitive. 7 data shapes and the 33 canonical forms they resolve to. The form is why one engine reads compensation, attrition, funnels and survey data without a per-domain rewrite: the domain is in the metric tag, the structure is here. 'oftenMeans' is a labelled heuristic, never a conclusion.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'shape': {'enum': ['series', 'groups', 'distribution', 'pairs', 'funnel', 'composition', 'dist_over_time'], 'type': 'string', 'description': 'Filter to one shape.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'note', 'filter', 'shapes', 'count', 'forms'], 'properties': {'note': {'type': 'string'}, 'count': {'type': 'number'}, 'forms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'shape', 'name', 'looksLike', 'oftenMeans', 'shapeName', 'shapeQuestion', 'sceneCount'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'shape': {'type': 'string'}, 'looksLike': {'type': 'string'}, 'shapeName': {'type': 'string'}, 'oftenMeans': {'type': 'string'}, 'sceneCount': {'type': 'number'}, 'shapeQuestion': {'type': 'string'}}, 'additionalProperties': False}}, 'filter': {'type': 'object', 'required': ['shape', 'shapeRecognized'], 'properties': {'shape': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'shapeRecognized': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'shapes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'question'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
get_claim_warrant
How many works discuss a claim — discourse volume, with the works named
How many works discuss a claim — discourse volume, with the works named. For a construct pair mined from the book corpus: how many distinct works discuss the link, and which ones, with each work's stated rationale. ⚠ This is DISCOURSE, not evidence — book frequency is confounded by publication incentives, fashion and citation cascades, so it is reported as 'discussed in N works' and never as corroboration, confidence, or a score. Single-work claims are returned, labelled as such; corroboration is not a gate. No query returns corpus-level stats including a counting discrepancy we state openly.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'description': 'Target construct, e.g. employee_turnover. Use with `from`.'}, 'from': {'type': 'string', 'description': 'Source construct, e.g. employee_engagement. Use with `to`.'}, 'focus': {'type': 'string', 'description': 'Discourse volume for one focus area.'}, 'construct': {'type': 'string', 'description': 'Every pair the corpus links this construct to, most-discussed first.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'caveat'], 'properties': {'count': {'type': 'number'}, 'found': {'type': 'boolean'}, 'label': {'type': 'string'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['from', 'to', 'relation', 'direction', 'focus', 'archetype', 'tier', 'discussedInWorks', 'works', 'label'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'tier': {'type': 'number'}, 'focus': {'type': 'string'}, 'label': {'type': 'string'}, 'works': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title', 'author', 'year', 'rationale', 'resolvedFromLibrary', 'citation'], 'properties': {'year': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'citation': {'type': 'string'}, 'libraryId': {'type': 'string'}, 'rationale': {'type': 'string'}, 'resolvedFromLibrary': {'type': 'boolean'}}, 'additionalProperties': False}}, 'relation': {'type': 'string'}, 'archetype': {'type': 'string'}, 'direction': {'type': 'string'}, 'discussedInWorks': {'type': 'number'}}, 'additionalProperties': False}}, 'query': {'type': 'object', 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'focus': {'type': 'string'}, 'construct': {'type': 'string'}}, 'additionalProperties': False}, 'stats': {'type': 'object', 'required': ['pairs', 'constructs', 'works', 'pairsOnOneWork', 'pairsOnTwoOrMoreWorks', 'storedTwoPlusTotal'], 'properties': {'pairs': {'type': 'number'}, 'works': {'type': 'number'}, 'constructs': {'type': 'number'}, 'pairsOnOneWork': {'type': 'number'}, 'storedTwoPlusTotal': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'pairsOnTwoOrMoreWorks': {'type': 'number'}}, 'additionalProperties': False}, 'caveat': {'type': 'string'}, 'warrant': {'anyOf': [{'type': 'object', 'required': ['from', 'to', 'relation', 'direction', 'focus', 'archetype', 'tier', 'discussedInWorks', 'works'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'tier': {'type': 'number'}, 'focus': {'type': 'string'}, 'works': {'type': 'array', 'items': {'type': 'object', 'required': ['libraryId', 'title', 'author', 'year', 'rationale', 'resolvedFromLibrary', 'citation'], 'properties': {'year': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'citation': {'type': 'string'}, 'libraryId': {'type': 'string'}, 'rationale': {'type': 'string'}, 'resolvedFromLibrary': {'type': 'boolean'}}, 'additionalProperties': False}}, 'relation': {'type': 'string'}, 'archetype': {'type': 'string'}, 'direction': {'type': 'string'}, 'discussedInWorks': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'contract': {'type': 'string'}, 'salience': {'anyOf': [{'type': 'object', 'required': ['focus', 'pairs', 'works', 'singleWorkPairs'], 'properties': {'focus': {'type': 'string'}, 'pairs': {'type': 'number'}, 'works': {'type': 'number'}, 'singleWorkPairs': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'statsNote': {'type': 'string'}, 'citationNote': {'type': 'string'}, 'focusSalience': {'type': 'array', 'items': {'type': 'object', 'required': ['focus', 'pairs', 'works', 'singleWorkPairs'], 'properties': {'focus': {'type': 'string'}, 'pairs': {'type': 'number'}, 'works': {'type': 'number'}, 'singleWorkPairs': {'type': 'number'}}, 'additionalProperties': False}}, 'citationCoverage': {'type': 'object', 'required': ['distinctWorks', 'resolvedInLibrary', 'withAuthor', 'withYear', 'fullyCitable'], 'properties': {'withYear': {'type': 'number'}, 'withAuthor': {'type': 'number'}, 'fullyCitable': {'type': 'number'}, 'distinctWorks': {'type': 'number'}, 'resolvedInLibrary': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_insight_cards
A pitch rendered as player-ready InsightCards
A pitch rendered as player-ready InsightCards. Serves a named pitch as an ordered InsightCard[] (the cross-site insight-player contract). ?pitch selects the pitch; ?awareness optionally reshapes the sequence for the buyer's awareness state.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pitch'], 'properties': {'pitch': {'type': 'string', 'description': 'The pitch slug to render.'}, 'awareness': {'type': 'string', 'description': 'Awareness state to reshape the sequence.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source_app', 'audience_tags', 'topic_tags', 'freshness', 'card_type', 'headline', 'body', 'visual'], 'properties': {'id': {'type': 'string'}, 'body': {'type': 'string'}, 'reveal': {'type': 'object', 'required': ['summary'], 'properties': {'detail': {'type': 'string'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'visual': {'type': 'object', 'required': ['kind', 'spec'], 'properties': {'kind': {'enum': ['text', 'metric', 'trend', 'chart', 'comparison', 'callout'], 'type': 'string'}, 'spec': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}, 'headline': {'type': 'string'}, 'card_type': {'type': 'string'}, 'freshness': {'type': 'object', 'required': ['computedAt'], 'properties': {'computedAt': {'type': 'string'}, 'ttlSeconds': {'type': 'number'}}, 'additionalProperties': False}, 'source_app': {'type': 'string'}, 'topic_tags': {'type': 'array', 'items': {'type': 'string'}}, 'audience_tags': {'type': 'array', 'items': {'type': 'string'}}, 'signals_requested': {'type': 'array', 'items': {'type': 'object', 'required': ['signalId', 'prompt'], 'properties': {'prompt': {'type': 'string'}, 'signalId': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'count': {'type': 'number'}, 'source': {'type': 'string'}, 'pitches': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'situation', 'audience', 'personas', 'situationTitle', 'navLabel', 'useCase', 'firstHeadline', 'href'], 'properties': {'href': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'useCase': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'audience': {'type': 'string'}, 'navLabel': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'situation': {'type': 'string'}, 'firstHeadline': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'situationTitle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
get_library_ids
Library id export — stable ids for the works homed here
Library id export — stable ids for the works homed here. Batch export of library_id rows (id, title, author, year, property tags) for the works that home on peopleanalyst.com. Ids are content-addressed (SHA-256 of normalized title|authors|year) and stable across repos, so a consumer can join to this catalog without string matching. Scoped to works homed here — titles whose canonical home is another property are excluded, matching /library.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tag': {'type': 'string', 'description': 'Filter by property tag, e.g. principia.'}, 'limit': {'type': 'string', 'description': 'Cap the number of rows returned.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['generated_at', 'issuer', 'id_format', 'spec', 'scope', 'inventory_total', 'excluded_foreign_home', 'count', 'records'], 'properties': {'spec': {'type': 'string'}, 'count': {'type': 'number'}, 'scope': {'type': 'string'}, 'issuer': {'type': 'string'}, 'records': {'type': 'array', 'items': {'type': 'object', 'required': ['library_id', 'title', 'author', 'year', 'property_tags'], 'properties': {'year': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'author': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'library_id': {'type': 'string'}, 'legacy_pa_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'property_tags': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'id_format': {'type': 'string'}, 'generated_at': {'type': 'string'}, 'inventory_total': {'type': 'number'}, 'excluded_foreign_home': {'type': 'number'}}, 'additionalProperties': False}
get_marketing_registry
The Pitboss marketing-asset registry (typed cards + personas)
The Pitboss marketing-asset registry (typed cards + personas). Cross-site marketing-asset cards built from the portfolio's brandscripts and proofs, plus the persona set. ?product filters to one product; ?status filters by lifecycle.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'type': 'string', 'description': 'Filter by lifecycle (e.g. live, draft).'}, 'product': {'type': 'string', 'description': 'Filter cards to one product.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['built_at', 'contract', 'filter', 'counts', 'cards', 'personas'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'status': {'type': 'string'}, 'product': {'type': 'string'}}, 'additionalProperties': {}}}, 'counts': {'type': 'object', 'required': ['cards', 'personas'], 'properties': {'cards': {'type': 'number'}, 'personas': {'type': 'number'}}, 'additionalProperties': False}, 'filter': {'type': 'object', 'required': ['product', 'status'], 'properties': {'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'product': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'built_at': {'type': 'string'}, 'contract': {'type': 'string'}, 'personas': {'type': 'array', 'items': {}}}, 'additionalProperties': False}
get_product_description
Machine-readable description of each PeopleAnalyst product
Machine-readable description of each PeopleAnalyst product. Versioned, CORS-open descriptions of every product in the portfolio — general positioning plus structured personas, goals, problems, journeys, and associated BrandScripts where the product has that canon. Assembled from source records. Pass ?product to filter; live nested journeys are the default and ?status=draft|all opts into authoring records.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'enum': ['live', 'draft', 'all'], 'type': 'string', 'description': 'Nested journey editorial status: live (default) | draft | all.'}, 'product': {'type': 'string', 'description': 'Filter to one product id (e.g. performix, anycomp, compensation-toolbox).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'filter', 'products'], 'properties': {'count': {'type': 'number'}, 'filter': {'type': 'object', 'required': ['product', 'status'], 'properties': {'status': {'enum': ['live', 'draft', 'all'], 'type': 'string'}, 'product': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'contract': {'type': 'string'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['product', 'name', 'category', 'oneLiner', 'problemFrames', 'capabilities', 'beachheads', 'whenNotToUse', 'canonicalUrls', 'relatedProducts', 'personas', 'goals', 'problems', 'journeys', 'associatedScripts', 'status'], 'properties': {'name': {'type': 'string'}, 'goals': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'scriptId', 'persona', 'intent', 'goal', 'goalProvenance', 'editorialStatus', 'capabilityReadiness'], 'properties': {'id': {'type': 'string'}, 'goal': {'type': 'string'}, 'intent': {'type': 'string'}, 'persona': {'type': 'string'}, 'scriptId': {'type': 'string'}, 'goalProvenance': {'type': 'object', 'required': ['source', 'personaLibraryGoalValidated'], 'properties': {'source': {'type': 'string', 'const': 'mike-approved-jobframe-intent'}, 'personaLibraryGoalValidated': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'editorialStatus': {'enum': ['live', 'draft'], 'type': 'string'}, 'capabilityReadiness': {'enum': ['available', 'partial', 'in-development', 'planned', 'future', 'design-only'], 'type': 'string'}}, 'additionalProperties': False}}, 'status': {'type': 'string'}, 'product': {'type': 'string'}, 'category': {'type': 'string'}, 'journeys': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'scriptId', 'persona', 'facet', 'intent', 'goal', 'goalProvenance', 'steps', 'editorialStatus', 'capabilityReadiness', 'action'], 'properties': {'id': {'type': 'string'}, 'goal': {'type': 'string'}, 'facet': {'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'string'}}, 'action': {'oneOf': [{'type': 'object', 'required': ['availability', 'label', 'href'], 'properties': {'href': {'type': 'string'}, 'label': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'available'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['availability', 'label'], 'properties': {'label': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'intended'}}, 'additionalProperties': False}]}, 'intent': {'type': 'string'}, 'persona': {'type': 'string'}, 'scriptId': {'type': 'string'}, 'goalProvenance': {'type': 'object', 'required': ['source', 'personaLibraryGoalValidated'], 'properties': {'source': {'type': 'string', 'const': 'mike-approved-jobframe-intent'}, 'personaLibraryGoalValidated': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'editorialStatus': {'enum': ['live', 'draft'], 'type': 'string'}, 'capabilityReadiness': {'enum': ['available', 'partial', 'in-development', 'planned', 'future', 'design-only'], 'type': 'string'}}, 'additionalProperties': False}}, 'oneLiner': {'type': 'string'}, 'personas': {'type': 'array', 'items': {'type': 'object', 'required': ['persona', 'personaLabel', 'reference', 'scriptIds'], 'properties': {'persona': {'type': 'string'}, 'reference': {'oneOf': [{'type': 'object', 'required': ['status', 'slug', 'libraryId', 'canonicalPersonaId', 'sourcePersonaLabel', 'sourcePersonaScope', 'roleIdentityEvidence', 'jobRefs', 'sourceContract', 'observedAt'], 'properties': {'slug': {'type': 'string'}, 'status': {'type': 'string', 'const': 'resolved'}, 'jobRefs': {'type': 'array', 'items': {'type': 'string'}}, 'libraryId': {'type': 'string'}, 'observedAt': {'type': 'string'}, 'sourceContract': {'type': 'string'}, 'canonicalPersonaId': {'type': 'string'}, 'personframeAddress': {'type': 'string'}, 'sourcePersonaLabel': {'type': 'string'}, 'sourcePersonaScope': {'type': 'string'}, 'roleIdentityEvidence': {'type': 'string', 'const': 'matched-public-persona-record'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'requestedRole', 'reason', 'reconciliation', 'sourceContract', 'observedAt'], 'properties': {'reason': {'type': 'string'}, 'status': {'type': 'string', 'const': 'unresolved'}, 'observedAt': {'type': 'string'}, 'requestedRole': {'type': 'string'}, 'reconciliation': {'type': 'string'}, 'sourceContract': {'type': 'string'}}, 'additionalProperties': False}]}, 'scriptIds': {'type': 'array', 'items': {'type': 'string'}}, 'personaLabel': {'type': 'string'}}, 'additionalProperties': False}}, 'problems': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'scriptId', 'persona', 'external', 'internal', 'philosophical', 'refs', 'refStatus'], 'properties': {'id': {'type': 'string'}, 'refs': {'type': 'array', 'items': {'type': 'object', 'required': ['address', 'edition'], 'properties': {'slot': {'enum': ['villain', 'external', 'internal', 'philosophical'], 'type': 'string'}, 'slug': {'type': 'string'}, 'address': {'type': 'string'}, 'edition': {'type': 'string', 'const': 'v1'}}, 'additionalProperties': False}}, 'persona': {'type': 'string'}, 'external': {'type': 'string'}, 'internal': {'type': 'string'}, 'scriptId': {'type': 'string'}, 'refStatus': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'resolved'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'reason', 'reconciliation'], 'properties': {'reason': {'type': 'string'}, 'status': {'type': 'string', 'const': 'unresolved'}, 'reconciliation': {'type': 'string'}}, 'additionalProperties': False}]}, 'philosophical': {'type': 'string'}}, 'additionalProperties': False}}, 'beachheads': {'type': 'array', 'items': {'type': 'string'}}, 'capabilities': {'type': 'array', 'items': {'type': 'string'}}, 'whenNotToUse': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalUrls': {'type': 'array', 'items': {'type': 'string'}}, 'problemFrames': {'type': 'array', 'items': {'type': 'string'}}, 'relatedProducts': {'type': 'array', 'items': {'type': 'string'}}, 'associatedScripts': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'persona', 'variant', 'primary', 'editorialStatus', 'journeyId'], 'properties': {'id': {'type': 'string'}, 'persona': {'type': 'string'}, 'primary': {'type': 'boolean'}, 'variant': {'type': 'string'}, 'journeyId': {'type': 'string'}, 'editorialStatus': {'enum': ['live', 'draft'], 'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_scene_templates
Falsifiable scene templates — one claim plus what would make it false
Falsifiable scene templates — one claim plus what would make it false. The cards a story is told with. Each declares truth conditions the data can falsify, so a claim survives on evidence rather than assertion. Persona relevance is derived from focus (a stated heuristic). Drafts excluded unless ?status=all.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Fetch a single scene template.'}, 'form': {'type': 'string', 'description': 'Canonical form the scene presents as, e.g. rising.'}, 'tier': {'enum': ['1', '2', '3'], 'type': 'string', 'description': '1 descriptive | 2 model-bound | 3 decision/value.'}, 'focus': {'type': 'string', 'description': 'Spine focus, e.g. regretted-loss, compensation, cross.'}, 'shape': {'type': 'string', 'description': 'Data shape, e.g. series, groups, funnel.'}, 'status': {'enum': ['published', 'all'], 'type': 'string', 'description': 'published (default) | all.'}, 'persona': {'type': 'string', 'description': 'Scenes relevant to one persona.'}, 'archetype': {'type': 'string', 'description': 'Archetype, e.g. trend, where, flow, driver.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'note', 'filter', 'count', 'scenes'], 'properties': {'note': {'type': 'string'}, 'count': {'type': 'number'}, 'filter': {'type': 'object', 'required': ['persona', 'focus', 'form', 'shape', 'tier', 'archetype', 'id', 'status'], 'properties': {'id': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'form': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'focus': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'shape': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'type': 'string'}, 'persona': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'archetype': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'scenes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'logline', 'focus', 'archetype', 'tier', 'shape', 'form', 'metricTags', 'scope', 'conditions', 'narrative', 'personas', 'author', 'status', 'model', 'instrumentation', 'corpusSalience'], 'properties': {'id': {'type': 'string'}, 'form': {'type': 'string'}, 'name': {'type': 'string'}, 'tier': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}, {'type': 'number', 'const': 3}]}, 'focus': {'type': 'string'}, 'model': {'anyOf': [{'type': 'object', 'required': ['ref', 'provenance'], 'properties': {'ref': {'type': 'string'}, 'provenance': {'enum': ['research_prior', 'historical_regression', 'expert', 'pa-original'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'scope': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'shape': {'type': 'string'}, 'author': {'anyOf': [{'enum': ['hand', 'factory', 'harvested'], 'type': 'string'}, {'type': 'null'}]}, 'status': {'enum': ['draft', 'validated', 'rejected', 'live'], 'type': 'string'}, 'logline': {'type': 'string'}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'archetype': {'type': 'string'}, 'narrative': {'type': 'object', 'required': ['problem', 'why', 'act'], 'properties': {'act': {'type': 'string'}, 'why': {'type': 'string'}, 'problem': {'type': 'string'}}, 'additionalProperties': False}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'label'], 'properties': {'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': {}}}, 'metricTags': {'type': 'array', 'items': {'type': 'string'}}, 'corpusSalience': {'anyOf': [{'type': 'object', 'required': ['available', 'focus', 'pairs', 'works', 'singleWorkPairs', 'means'], 'properties': {'focus': {'type': 'string'}, 'means': {'type': 'string'}, 'pairs': {'type': 'number'}, 'works': {'type': 'number'}, 'available': {'type': 'boolean', 'const': True}, 'singleWorkPairs': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['available', 'focus', 'reason'], 'properties': {'focus': {'type': 'string'}, 'reason': {'type': 'string'}, 'available': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}]}, 'instrumentation': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
get_situations
Demonstration scenarios (discovered → diagnosed → solved)
Demonstration scenarios (discovered → diagnosed → solved). The proof layer paired with brandscripts: concrete situations a product resolves. ?product filters; ?status opts into drafts.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'enum': ['live', 'draft', 'all'], 'type': 'string', 'description': 'live (default) | draft | all.'}, 'product': {'type': 'string', 'description': 'Filter to one product.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'filter', 'count', 'situations'], 'properties': {'count': {'type': 'number'}, 'filter': {'type': 'object', 'required': ['status', 'product'], 'properties': {'status': {'type': 'string'}, 'product': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'contract': {'type': 'string'}, 'situations': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'status', 'title', 'useCase', 'navLabel', 'personas', 'grammars', 'teaser', 'presentingProblem', 'bindingConstraint', 'profile', 'seo', 'northStar', 'researchGrounding', 'mockDataSpec', 'cards', 'products', 'recipes', 'order', 'group', 'pitches'], 'properties': {'seo': {'type': 'object', 'required': ['metaTitle', 'metaDescription'], 'properties': {'metaTitle': {'type': 'string'}, 'metaDescription': {'type': 'string'}}, 'additionalProperties': False}, 'slug': {'type': 'string'}, 'cards': {'type': 'array', 'items': {'type': 'string'}}, 'group': {'type': 'string'}, 'order': {'type': 'number'}, 'title': {'type': 'string'}, 'status': {'enum': ['live', 'draft'], 'type': 'string'}, 'teaser': {'type': 'string'}, 'pitches': {'type': 'array', 'items': {'type': 'object', 'required': ['grammar', 'slug'], 'properties': {'slug': {'type': 'string'}, 'grammar': {'type': 'string'}}, 'additionalProperties': False}}, 'profile': {'type': 'object', 'required': ['eyebrow', 'headline', 'forWho', 'finds', 'output'], 'properties': {'finds': {'type': 'string'}, 'forWho': {'type': 'string'}, 'output': {'type': 'string'}, 'eyebrow': {'type': 'string'}, 'headline': {'type': 'string'}}, 'additionalProperties': False}, 'recipes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'status'], 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['live', 'planned'], 'type': 'string'}}, 'additionalProperties': False}}, 'useCase': {'type': 'string'}, 'grammars': {'type': 'array', 'items': {'type': 'string'}}, 'navLabel': {'type': 'string'}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['product', 'role'], 'properties': {'role': {'type': 'string'}, 'product': {'type': 'string'}}, 'additionalProperties': False}}, 'northStar': {'type': 'string'}, 'mockDataSpec': {'type': 'string'}, 'bindingConstraint': {'type': 'object', 'required': ['condition', 'oneLine'], 'properties': {'oneLine': {'type': 'string'}, 'condition': {'enum': ['capability', 'alignment', 'motivation', 'support'], 'type': 'string'}}, 'additionalProperties': False}, 'presentingProblem': {'type': 'string'}, 'researchGrounding': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_story_tracks
Pre-authored data-story tracks — the possibility space
Pre-authored data-story tracks — the possibility space. Complete data stories: the SB7 argument, the acts and beats that carry it, the branches it forks down, the decision it produces, and the data required to test it. Candidates only — nothing here asserts a story is true of any organisation; that is decided against data. ?persona / ?problem / ?metric / ?slug filter.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string', 'description': 'Fetch a single story track.'}, 'metric': {'type': 'string', 'description': 'Filter by metric tag, e.g. attrition.'}, 'persona': {'type': 'string', 'description': 'Candidate stories for one persona (registry prefixes and aliases are normalized).'}, 'problem': {'type': 'string', 'description': 'Filter by problem tag, e.g. regretted-attrition.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'note', 'filter', 'count', 'stories'], 'properties': {'note': {'type': 'string'}, 'count': {'type': 'number'}, 'filter': {'type': 'object', 'required': ['persona', 'personaResolved', 'problem', 'metric', 'slug'], 'properties': {'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'metric': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'persona': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'problem': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'personaResolved': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'stories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'logline', 'occasion', 'hero', 'drivingQuestion', 'personas', 'problemTags', 'cast', 'brandscript', 'acts', 'branches', 'resolution', 'close', 'dataRequirements', 'altitudes', 'provenanceClass'], 'properties': {'acts': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'purpose', 'beats'], 'properties': {'beats': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'archetype', 'transition', 'subQuestion', 'role', 'acceptCards', 'acceptForms', 'handle'], 'properties': {'id': {'type': 'string'}, 'role': {'type': 'string'}, 'handle': {'type': 'string'}, 'archetype': {'type': 'string'}, 'transition': {'type': 'string'}, 'acceptCards': {'type': 'array', 'items': {'type': 'string'}}, 'acceptForms': {'type': 'array', 'items': {'type': 'string'}}, 'subQuestion': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}, 'purpose': {'type': 'string'}}, 'additionalProperties': False}}, 'cast': {'type': 'object', 'required': ['metricTags', 'populations'], 'properties': {'metricTags': {'type': 'array', 'items': {'type': 'string'}}, 'populations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'hero': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'close': {'type': 'object', 'required': ['question', 'nextSteps'], 'properties': {'question': {'type': 'string'}, 'nextSteps': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'logline': {'type': 'string'}, 'branches': {'type': 'array', 'items': {'type': 'object', 'required': ['afterBeat', 'condition'], 'properties': {'elseGoTo': {'type': 'object', 'required': ['storySlug', 'note'], 'properties': {'note': {'type': 'string'}, 'storySlug': {'type': 'string'}}, 'additionalProperties': False}, 'afterBeat': {'type': 'string'}, 'condition': {'type': 'string'}, 'thenBeats': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'archetype', 'transition', 'subQuestion', 'opens', 'handle'], 'properties': {'id': {'type': 'string'}, 'opens': {'type': 'object', 'required': ['acceptCards', 'role'], 'properties': {'role': {'type': 'string'}, 'acceptCards': {'type': 'array', 'items': {'type': 'string'}}, 'acceptForms': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'handle': {'type': 'string'}, 'supports': {'type': 'array', 'items': {'type': 'object', 'required': ['acceptCards', 'role'], 'properties': {'role': {'type': 'string'}, 'acceptCards': {'type': 'array', 'items': {'type': 'string'}}, 'acceptForms': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'archetype': {'type': 'string'}, 'transition': {'type': 'string'}, 'subQuestion': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'occasion': {'type': 'string'}, 'personas': {'type': 'array', 'items': {'type': 'string'}}, 'altitudes': {'anyOf': [{'type': 'object', 'properties': {'exec': {'type': 'string'}, 'analyst': {'type': 'string'}, 'manager': {'type': 'string'}, 'director': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'resolution': {'type': 'string'}, 'brandscript': {'type': 'object', 'required': ['character', 'problem', 'guide', 'plan', 'callToAction', 'failure', 'success'], 'properties': {'plan': {'type': 'array', 'items': {'type': 'string'}}, 'guide': {'type': 'object', 'required': ['empathy', 'authority'], 'properties': {'empathy': {'type': 'string'}, 'authority': {'type': 'string'}}, 'additionalProperties': False}, 'failure': {'type': 'string'}, 'problem': {'type': 'object', 'required': ['villain', 'external', 'internal', 'philosophical'], 'properties': {'villain': {'type': 'string'}, 'external': {'type': 'string'}, 'internal': {'type': 'string'}, 'philosophical': {'type': 'string'}}, 'additionalProperties': False}, 'success': {'type': 'object', 'required': ['outcome', 'transformation'], 'properties': {'outcome': {'type': 'string'}, 'transformation': {'type': 'string'}}, 'additionalProperties': False}, 'character': {'type': 'object', 'required': ['who', 'wants'], 'properties': {'who': {'type': 'string'}, 'wants': {'type': 'string'}}, 'additionalProperties': False}, 'callToAction': {'type': 'object', 'required': ['direct'], 'properties': {'direct': {'type': 'string'}, 'transitional': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'problemTags': {'type': 'array', 'items': {'type': 'string'}}, 'drivingQuestion': {'type': 'string'}, 'provenanceClass': {'enum': ['engagement-replay + framework', 'framework'], 'type': 'string'}, 'dataRequirements': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
get_tools
The PeopleAnalyst tool catalog (corpus-grounded acting tools)
The PeopleAnalyst tool catalog (corpus-grounded acting tools). Machine-readable catalog of every corpus-grounded acting tool — name, category, what it does, inputs/outputs, concrete use cases, the profile URL, and how to run it (auth-gated REST + MCP). Last production probe (2026-09-23) reported grounded: true. Discovery is open (find + cite the tools); execution is API-key gated. ?category filters by family; ?slug returns one tool.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string', 'description': 'Return a single tool by slug (e.g. positioning).'}, 'category': {'type': 'string', 'description': 'Filter by family (e.g. Marketing, Startup & strategy, Software engineering).'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'filter', 'count', 'grounding', 'reliability', 'tools'], 'properties': {'count': {'type': 'number'}, 'tools': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'category', 'description', 'approach', 'inputs', 'outputs', 'useCases', 'profileUrl', 'run', 'hasExample'], 'properties': {'run': {'type': 'object', 'required': ['rest', 'mcpTools', 'auth'], 'properties': {'auth': {'type': 'string', 'const': 'api-key'}, 'rest': {'type': 'string'}, 'mcpTools': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'inputs': {'type': 'string'}, 'outputs': {'type': 'string'}, 'approach': {'type': 'string'}, 'category': {'type': 'string'}, 'useCases': {'type': 'array', 'items': {'type': 'string'}}, 'hasExample': {'type': 'boolean'}, 'profileUrl': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'filter': {'type': 'object', 'required': ['category', 'slug'], 'properties': {'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'contract': {'type': 'string'}, 'grounding': {'type': 'object', 'required': ['reports', 'production', 'note'], 'properties': {'note': {'type': 'string'}, 'reports': {'type': 'boolean', 'const': True}, 'production': {'type': 'object', 'required': ['grounded', 'constructs', 'books', 'unavailable_reason', 'probedAt', 'service'], 'properties': {'books': {'type': 'number'}, 'service': {'type': 'string'}, 'grounded': {'type': 'boolean'}, 'probedAt': {'type': 'string'}, 'constructs': {'type': 'number'}, 'unavailable_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'reliability': {'type': 'object', 'required': ['kind', 'label', 'meaning', 'raise', 'note'], 'properties': {'kind': {'type': 'string', 'const': 'one_model_pass'}, 'note': {'type': 'string'}, 'label': {'type': 'string'}, 'raise': {'type': 'string'}, 'meaning': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_answers
List all authored answer pages
Returns the full index of authored /answers pages — one entry per slug, with the question and canonical URL. Use this to discover available slugs before calling get_answer.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'count', 'answers'], 'properties': {'count': {'type': 'number'}, 'answers': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'question', 'canonicalUrl', 'updatedAt'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'question': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'canonicalUrl': {'type': 'string'}}, 'additionalProperties': False}}, 'contract': {'type': 'string'}}, 'additionalProperties': False}
list_peopleanalyst_feeds
List PeopleAnalyst feeds
List PeopleAnalyst's free machine-readable feeds and their MCP/REST availability. OpenAPI is also published at https://peopleanalyst.com/openapi.json.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['feeds'], 'properties': {'feeds': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'summary', 'params'], 'properties': {'path': {'type': 'string'}, 'tool': {'type': 'string'}, 'params': {'type': 'array', 'items': {'type': 'string'}}, 'summary': {'type': 'string'}, 'restOnly': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}}, 'additionalProperties': False}
plan_next_data_ask
What data to ask for next, and what it would rule out
What data to ask for next, and what it would rule out. The acquisition planner. Given which data-stories are still candidates, returns the single most efficient next question, the full ranked list, and the minimum set of asks that makes every live story testable — split into what can be sent today versus what needs legal review. Ranked by information-per-friction: how evenly an answer splits the live hypothesis set (computed by entropy from the discrimination matrix, never hand-asserted) divided by a cost in which GOVERNANCE outweighs effort. Absent priors all live stories weigh equally, so results reflect structure, not likelihood. GET accepts ?live=, ?have=, ?lack= as comma lists.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['body'], 'properties': {'body': {'type': 'object', 'description': 'JSON request body accepted by the underlying endpoint.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contract', 'caveat', 'valueOfInformation', 'live', 'nextAsk', 'ranked', 'plan'], 'properties': {'live': {'type': 'array', 'items': {'type': 'string'}}, 'plan': {'type': 'object', 'required': ['asks', 'totalFriction', 'sendToday', 'needsLegalOrCollection', 'collectableGaps'], 'properties': {'asks': {'type': 'array', 'items': {'type': 'object', 'required': ['variable', 'label', 'ask', 'governance', 'effort'], 'properties': {'ask': {'type': 'string'}, 'label': {'type': 'string'}, 'effort': {'enum': ['trivial', 'low', 'moderate', 'high'], 'type': 'string'}, 'variable': {'type': 'string'}, 'governance': {'enum': ['open', 'internal', 'restricted', 'collect'], 'type': 'string'}}, 'additionalProperties': False}}, 'sendToday': {'type': 'array', 'items': {'type': 'string'}}, 'totalFriction': {'type': 'number'}, 'collectableGaps': {'type': 'array', 'items': {'type': 'object', 'required': ['variable', 'blocks', 'title', 'population', 'turnaround', 'unlocks', 'caveat', 'fieldableInstrument', 'deliveryPaths', 'researchInstruments', 'shape', 'indicativePrice', 'diyPrice'], 'properties': {'shape': {'type': 'object', 'required': ['respondents', 'waves'], 'properties': {'waves': {'type': 'number'}, 'respondents': {'type': 'number'}, 'analysisOnly': {'type': 'boolean'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'blocks': {'type': 'array', 'items': {'type': 'string'}}, 'caveat': {'type': 'string'}, 'unlocks': {'type': 'string'}, 'diyPrice': {'type': 'object', 'required': ['path', 'totalUsd', 'basis', 'recommendEnterprise', 'status'], 'properties': {'path': {'enum': ['diy', 'managed'], 'type': 'string'}, 'basis': {'type': 'string'}, 'status': {'enum': ['provisional', 'posted'], 'type': 'string'}, 'totalUsd': {'type': 'number'}, 'recommendEnterprise': {'type': 'boolean'}}, 'additionalProperties': False}, 'variable': {'type': 'string'}, 'population': {'type': 'string'}, 'turnaround': {'type': 'string'}, 'deliveryPaths': {'type': 'array', 'items': {'enum': ['kit', 'managed'], 'type': 'string'}}, 'indicativePrice': {'type': 'object', 'required': ['path', 'totalUsd', 'basis', 'recommendEnterprise', 'status'], 'properties': {'path': {'enum': ['diy', 'managed'], 'type': 'string'}, 'basis': {'type': 'string'}, 'status': {'enum': ['provisional', 'posted'], 'type': 'string'}, 'totalUsd': {'type': 'number'}, 'recommendEnterprise': {'type': 'boolean'}}, 'additionalProperties': False}, 'fieldableInstrument': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'researchInstruments': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'needsLegalOrCollection': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'caveat': {'type': 'string'}, 'ranked': {'type': 'array', 'items': {'type': 'object', 'required': ['variable', 'ask', 'governance', 'availabilitySplitBits', 'cost', 'splitPerFriction', 'eliminatedIfAbsent'], 'properties': {'ask': {'type': 'string'}, 'cost': {'type': 'number'}, 'variable': {'type': 'string'}, 'governance': {'enum': ['open', 'internal', 'restricted', 'collect'], 'type': 'string'}, 'splitPerFriction': {'type': 'number'}, 'eliminatedIfAbsent': {'type': 'array', 'items': {'type': 'string'}}, 'availabilitySplitBits': {'type': 'number'}}, 'additionalProperties': False}}, 'nextAsk': {'anyOf': [{'type': 'object', 'required': ['variable', 'label', 'ask', 'governance', 'effort', 'availabilitySplitBits', 'cost', 'rationale', 'eliminatedIfAbsent'], 'properties': {'ask': {'type': 'string'}, 'cost': {'type': 'number'}, 'label': {'type': 'string'}, 'effort': {'enum': ['trivial', 'low', 'moderate', 'high'], 'type': 'string'}, 'variable': {'type': 'string'}, 'rationale': {'type': 'string'}, 'governance': {'enum': ['open', 'internal', 'restricted', 'collect'], 'type': 'string'}, 'eliminatedIfAbsent': {'type': 'array', 'items': {'type': 'string'}}, 'availabilitySplitBits': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'contract': {'type': 'string'}, 'valueOfInformation': {'type': 'object', 'required': ['computedHere', 'note', 'owner'], 'properties': {'note': {'type': 'string'}, 'owner': {'type': 'string'}, 'computedHere': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}}, 'additionalProperties': False}
run_segmentation
Behavioral segmentation, role discovery, and exemplar matching
Behavioral segmentation, role discovery, and exemplar matching. Deterministic segmentation over caller-supplied numeric vectors: cluster subjects, discover roles from behaviour + relationship edges, detect emergent roles, or match against exemplars. Structured non-biometric signals only — no audio, video, or affect inference. The caller supplies all data; nothing is retained. Capped at 5,000 rows per request.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['body'], 'properties': {'body': {'type': 'object', 'description': 'JSON request body accepted by the underlying endpoint.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'k': {'type': 'number'}, 'roles': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'segment_id', 'signature', 'size'], 'properties': {'role': {'type': 'string'}, 'size': {'type': 'number'}, 'signature': {'type': 'string'}, 'segment_id': {'type': 'string'}}, 'additionalProperties': False}}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'klass', 'distance', 'confidence'], 'properties': {'id': {'type': 'string'}, 'klass': {'type': 'string'}, 'distance': {'type': 'number'}, 'confidence': {'type': 'number'}}, 'additionalProperties': False}}, 'boundary': {'type': 'object', 'required': ['mechanism', 'reads_conversational_content', 'patent'], 'properties': {'patent': {'type': 'string'}, 'mechanism': {'type': 'string', 'const': 'behavioral-feature clustering'}, 'reads_conversational_content': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'segments': {'type': 'array', 'items': {'type': 'object', 'required': ['segment_id', 'size', 'centroid', 'distinguishing', 'members'], 'properties': {'size': {'type': 'number'}, 'members': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'distance'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'distance': {'type': 'number'}}, 'additionalProperties': False}}, 'centroid': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'segment_id': {'type': 'string'}, 'distinguishing': {'type': 'array', 'items': {'type': 'object', 'required': ['dimension', 'z'], 'properties': {'z': {'type': 'number'}, 'dimension': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['engine', 'method', 'patent_lineage', 'generated_at'], 'properties': {'engine': {'type': 'string', 'const': 'segmentation'}, 'method': {'type': 'string', 'const': 'kmeans+silhouette'}, 'generated_at': {'type': 'string'}, 'patent_lineage': {'type': 'string'}}, 'additionalProperties': False}, 'silhouette': {'type': 'number'}, 'assignments': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'role', 'segment_id'], 'properties': {'id': {'type': 'string'}, 'role': {'type': 'string'}, 'label': {'type': 'string'}, 'segment_id': {'type': 'string'}}, 'additionalProperties': False}}, 'segmentation': {'type': 'object', 'required': ['segments', 'dimensions_used', 'dimensions_ignored', 'k', 'silhouette', 'provenance'], 'properties': {'k': {'type': 'number'}, 'segments': {'type': 'array', 'items': {'type': 'object', 'required': ['segment_id', 'size', 'centroid', 'distinguishing', 'members'], 'properties': {'size': {'type': 'number'}, 'members': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'distance'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'distance': {'type': 'number'}}, 'additionalProperties': False}}, 'centroid': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'segment_id': {'type': 'string'}, 'distinguishing': {'type': 'array', 'items': {'type': 'object', 'required': ['dimension', 'z'], 'properties': {'z': {'type': 'number'}, 'dimension': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['engine', 'method', 'patent_lineage', 'generated_at'], 'properties': {'engine': {'type': 'string', 'const': 'segmentation'}, 'method': {'type': 'string', 'const': 'kmeans+silhouette'}, 'generated_at': {'type': 'string'}, 'patent_lineage': {'type': 'string'}}, 'additionalProperties': False}, 'silhouette': {'type': 'number'}, 'dimensions_used': {'type': 'array', 'items': {'type': 'string'}}, 'dimensions_ignored': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'features_used': {'type': 'array', 'items': {'type': 'string'}}, 'dimensions_used': {'type': 'array', 'items': {'type': 'string'}}, 'features_ignored': {'type': 'array', 'items': {'type': 'string'}}, 'dimensions_ignored': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Modificado
get_brandscripts
29 de September de 2026 a las 03:02
Modificado
get_product_description
29 de September de 2026 a las 03:02
Eliminado
get_membership_offer
27 de September de 2026 a las 02:53
Modificado
get_tools
25 de September de 2026 a las 03:03
Añadido
get_tools
17 de September de 2026 a las 12:36
Añadido
get_situations
17 de September de 2026 a las 12:36
Añadido
get_insight_cards
17 de September de 2026 a las 12:36
Añadido
plan_next_data_ask
17 de September de 2026 a las 12:36
Añadido
run_segmentation
17 de September de 2026 a las 12:36
Añadido
get_library_ids
17 de September de 2026 a las 12:36
Añadido
get_claim_warrant
17 de September de 2026 a las 12:36
Añadido
get_canonical_forms
17 de September de 2026 a las 12:36
Añadido
get_scene_templates
17 de September de 2026 a las 12:36
Añadido
get_story_tracks
17 de September de 2026 a las 12:36
Añadido
get_brandscripts
17 de September de 2026 a las 12:36
Añadido
get_marketing_registry
17 de September de 2026 a las 12:36
Añadido
get_product_description
17 de September de 2026 a las 12:36
Añadido
get_answer
17 de September de 2026 a las 12:36
Añadido
list_answers
17 de September de 2026 a las 12:36
Añadido
get_membership_offer
17 de September de 2026 a las 12:36
Añadido
list_peopleanalyst_feeds
17 de September de 2026 a las 12:36