MCP-Server

discovery

com.peopleanalyst/discovery
Daten & Analytik Wissen & Dokumentation Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

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, ….
Nur Lesen
Eingabeschema
{'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).'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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).'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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).'}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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': {}}}}
Ausgabeschema
{'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.
Nur Lesen
Eingabeschema
{'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': {}}}}
Ausgabeschema
{'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}
Geändert
get_brandscripts
29. September 2026 03:02
Geändert
get_product_description
29. September 2026 03:02
Entfernt
get_membership_offer
27. September 2026 02:53
Geändert
get_tools
25. September 2026 03:03
Hinzugefügt
get_tools
17. September 2026 12:36
Hinzugefügt
get_situations
17. September 2026 12:36
Hinzugefügt
get_insight_cards
17. September 2026 12:36
Hinzugefügt
plan_next_data_ask
17. September 2026 12:36
Hinzugefügt
run_segmentation
17. September 2026 12:36
Hinzugefügt
get_library_ids
17. September 2026 12:36
Hinzugefügt
get_claim_warrant
17. September 2026 12:36
Hinzugefügt
get_canonical_forms
17. September 2026 12:36
Hinzugefügt
get_scene_templates
17. September 2026 12:36
Hinzugefügt
get_story_tracks
17. September 2026 12:36
Hinzugefügt
get_brandscripts
17. September 2026 12:36
Hinzugefügt
get_marketing_registry
17. September 2026 12:36
Hinzugefügt
get_product_description
17. September 2026 12:36
Hinzugefügt
get_answer
17. September 2026 12:36
Hinzugefügt
list_answers
17. September 2026 12:36
Hinzugefügt
get_membership_offer
17. September 2026 12:36
Hinzugefügt
list_peopleanalyst_feeds
17. September 2026 12:36