add_competitor
ChatGPTAdd a competitor to the authenticated organization's list using its public domain. Only call when the user asks to add it. Research runs in the background, finds company details and sourced positioning insights, and preserves existing competitors. You may submit different domains concurrently, up to 100 competitors total including research in progress. A started result means queued, not saved. Check get_organization_competitors or organization settings later for the result.
calculate_audience_scores
ChatGPTCalculates propensity scores across a complete audience. Calling this tool first completes full audience materialization when needed. Use this tool when get_organization_context returns audienceScoringAvailable=true. This availability requires the organization to connect its first-party data to Minerva and complete propensity scoring setup. When the flag is false, explain that scoring becomes available after those steps complete. Full materialization and scoring run asynchronously and can take several minutes. For queued, materializing, or processing, wait roughly 10 seconds and call this tool again with the same segment ID. For completed, summarize the scored coverage and score distribution. When visual output is available, create a compact visualization of the score distribution, then offer to create a new audience from a user-chosen top percentage with create_audience_score_slice. Higher scores represent stronger fits according to the organization's propensity model.
create_activation
ChatGPTCreates one asynchronous delivery of a segment audience, including CSV exports. Call get_organization_integrations first. Select a builtInDestinations entry or a completed destination connection. Pass its destination and configuration values from destinationConfig as destination_config. For a connection, also pass its connectionId as integration_connection_id. For CSV, use destination='csv' and omit integration_connection_id. Set max_records to the desired maximum; use the segment's total count for a full export. An activation fully materializes its source segment when needed, can add billable usage, and counts toward activation quotas. For requested exclusions, call list_segments with source_segment_id. Clarify the exclusion goal, show selectable matches, and confirm the segment IDs before passing excluded_segment_ids. Before invoking, propose values for every configuration field using available context. Present the activation draft and its billing consequence, then ask the user to confirm or edit it. Treat the latest confirmation as authorization for one activation. General and custom CSV exports may add billable usage for each newly exported person. Campaign activations to supported ad and direct mail platforms, including their platform-formatted CSV files, consume no record allowance. After creation, present activationUrl and call get_activation_status with the returned segmentId and activationId to follow progress and retrieve available downloads.
create_audience_score_slice
ChatGPTCreates a new saved audience containing the highest-scoring share of an existing audience. Use this tool when get_organization_context returns audienceScoringAvailable=true; this availability requires connected first-party data and completed propensity scoring setup. Call calculate_audience_scores first and call this tool after it returns completed. top_percent is the share of scored people selected; for example, 25 selects the highest-scoring 25%. The new audience selects scored people only and is created asynchronously as a snapshot of the source audience.
enrich_people
ChatGPTget_activation_status
ChatGPTChecks an existing activation for any destination. Refreshing provider status can save status changes, update workflows and billing, and send notification emails. Pass the segment_id and activation_id from create_activation. For preparing, queued, or processing, poll at roughly 10-second intervals. For connection_required, ask the user to complete connection setup through activationUrl. For completed, present any download link and its expiry, plus activationUrl for results. Call again with the same IDs to refresh a temporary link while the activation remains available. For failed or expired, report the final status. When refreshSucceeded is false, explain that status is the last saved state after a failed provider refresh.
get_billing_usage
ChatGPTReturns the authenticated organization's billing access, current plan allowance, and overage capacity. Allowance usage includes reserved and delivered unique records. Next-release fields describe only the next regular plan allowance release in the current term. Contract overage includes the monthly spend limit, committed spend, price per additional record, and remaining delivery capacity. Plan allowance is used before overage. A record counts once per contract term across delivery channels; repeat delivery in that term adds no usage. Trial terms never have overage. active + enterprise + currentTerm: null means unlimited Enterprise: unlimited record export delivery with no allowance or overage enforcement.
get_market_insights
ChatGPTReads the organization's saved Competitors feed, newest first: news about tracked competitors, the market, and new entrants. Returns what changed, why it matters, importance, tags, and sources. Cite the sources. Filter by competitor name from get_organization_competitors, kind, importance, or tag. Insights marked not relevant are excluded. This tool does not perform new research; an empty result means nothing matched in that window. has_more means the limit truncated the feed.
get_organization_competitors
ChatGPTReturns the authenticated organization's saved competitors and alternatives, including names, website domains, ranking, tags, and reasons customers might choose them. Includes descriptions, positioning insights, and source links when saved research is available. A null domain identifies a generic alternative. An empty list means no competitors are saved; it does not mean the organization has no competitors. This tool does not perform new research.
get_organization_context
ChatGPTReturns the authenticated organization's saved description, business type, first-party search availability, audience-scoring availability, and persona availability. businessType is b2b when the organization sells to businesses, b2c when it sells to consumers, or both. firstPartySearchAvailable is true when the organization's first-party Person Search setup is ready. Use person_search with search_target='first_party' only when this flag is true. When false, explain that first-party search becomes available after data is connected and first-party search setup completes. This flag is independent of scoring and persona availability. audienceScoringAvailable is true when the organization has connected its first-party data to Minerva and its propensity scoring setup is ready. When false, explain that propensity scoring becomes available after first-party data is connected and scoring setup completes. personasAvailable is true when Minerva's analytics setup has usable first-party people and order data for the organization. When false, explain that personas become available after those datasets are connected and analytics setup completes.
get_organization_data_schema
ChatGPTProvides information about the authenticated organization's analytics data. Without arguments it returns a slim overview: every table with a short description, its column and metric names, and how tables join — enough to know what can be queried. Pass tables (a list of table names from the overview) to get the full detail for just those tables: complete column descriptions, categorical values, and aggregation guidance. Call it with tables before writing queries that depend on a table's fine print.
get_organization_integrations
ChatGPTReturns every integration connection for the authenticated organization and its pending setup queue. An integration connection is one authorized external provider account. A source role brings data into Minerva. A destination role lets Minerva deliver or activate data through an external channel. Use this tool for campaign planning, channel selection, audience data, activation, measurement, and launch readiness. Prefer usable connections. A setup-queue item is a request that is not usable yet; suggest completing it when relevant. Supported destination connections include destination and destinationConfig. builtInDestinations lists options such as CSV that work without an account. Use destination with create_activation and supply destination_config according to its field definitions, including every required field. When a useful integration is neither connected nor queued, you may suggest adding it, but do not claim that it is connected, usable, or supported without confirmation. Use each connection's roles; do not infer roles from provider capabilities.
get_organization_product_categories
ChatGPTReturns the authenticated organization's saved product categories, including their descriptions, estimated average order values, and ranking.
get_person_details
ChatGPTRetrieves selected person-page fields for up to ten people in parallel. Use this tool after the user asks to view more details for specific people from get_person_search_preview. Pass the selected people's minerva_pid values together and choose the exact return_fields relevant to the user's request, or omit return_fields to retrieve every available person-page field. Selecting address, phone, email, employment, or education history returns the complete records in that category. Each result corresponds to the person in the same position. The person must previously have appeared in an organization preview or prior record export. This in-platform lookup does not use record capacity and is subject to anti-abuse rate limits.
get_person_search_preview
ChatGPTRetrieves every available person in a completed search's bounded overview preview, up to 25 people. This in-platform preview does not use record capacity and is subject to anti-abuse rate limits. State the total number available. Choose the exact return_fields needed to present the preview, or omit return_fields to retrieve every frontend overview field. result_rank and minerva_pid are always returned. By default, display the first 10 people in result_rank order and offer the remaining people. Display the requested count when the user specifies one. Include full_name and linkedin_url when presenting linked names. Render each name as a LinkedIn link when Markdown is supported and both fields are present, using the exact URL. Render remaining names as plain text. Describe the returned person objects as frontend overview records. After presenting the preview, offer to export or deliver the full segment through create_activation using an available built-in or connected destination.
get_person_search_status
ChatGPTget_persona
ChatGPTRetrieves compact, normalized sections from the frontend persona experience. Use this tool when get_organization_context returns personasAvailable=true. Call list_personas first, present the available sections, and ask which sections the user wants or whether they want all. Set return_fields to those sections; omitting it returns all sections. Visualize suitable distributions and trends when visualization is available. Organization cards provide exact organization comparisons where available, while list_personas provides peer-persona context.
list_memberships
ChatGPTList the signed-in user's organization memberships, identify the organization selected for this MCP connection, and explain how to switch. Membership status does not itself grant this connection access to another organization. No user or organization input is accepted.
list_organization_users
ChatGPTReturns accepted and historical Minerva users for the authenticated organization. Use this tool before filtering list_segments by creator. Match the requested person, then pass userId to list_segments.filters.created_by_user_id. isEnabled is Minerva access state, not invitation state. Users with only pending or revoked invitations are excluded.
list_personas
ChatGPTLists personas discovered from the authenticated organization's connected first-party people and order data, in frontend display order. Use this tool when get_organization_context returns personasAvailable=true. Choose the exact return_fields relevant to the request, or omit return_fields to return every available summary field. Present each persona as a linked title using [{title}](https://app.minerva.io/personas/{persona_id}) when Markdown is available. Use the persona ID internally when calling get_persona. Present the available persona sections as short choices. Tell the user that you can fetch one or more listed personas and limit each result to the specific sections they care about, or fetch every section. End with a short question asking which personas and sections they want to explore.
list_segments
ChatGPTUse when the user wants to find, compare, inspect, or choose segments. Search using the provided criteria. When results are broad or intent is unclear, ask one focused question and suggest relevant filters. Ask before relaxing constraints. When filtering by creator, call list_organization_users first and pass its userId as filters.created_by_user_id. Never guess or derive a creator user ID.
person_search
ChatGPTquery_organization_data
ChatGPTQueries the authenticated organization's analytics data with up to eight independent questions in parallel. Call get_organization_data_schema to see what data is available and what can be queried. Pass queries as an array of objects; each object contains a question and may contain limit_rows. Send the specific natural-language questions together in one call. Each result corresponds to the query in the same position. For needs_input, ask the returned message and offer its suggestions. For error, present the structured error and its retry guidance.
submit_feedback
ChatGPTSend a concise Minerva issue or feature request to support for the signed-in user and organization. Only call after the user agrees to your offer or explicitly asks to send it. Detecting a problem alone is not consent. Exclude secrets and customer records. Identical reports are deduplicated. Confirm warmly only when status is submitted; never automatically retry a failed or uncertain delivery.