Labsco
MCP SERVER

Subconscious AI MCP

by subconscious-ai

Run a conjoint experiment against a synthetic population and get AMCE estimates back — a research design, executed from chat.

Economic, Alternative & Prediction-Market Data
Summary
Conjoint analysis without recruiting respondents.

The pipeline is the real product: validate the question, generate attributes and personas, run, then read AMCE rather than raw preference counts. Synthetic populations are drawn from Census microdata, so the sample is defensible in a way a prompt asking a model to act as a consumer is not — and the personas an experiment used can be read back beside its findings.

What it is

The MCP front end for Subconscious AI, which runs conjoint experiments against synthetic personas built from US Census microdata (IPUMS) and returns causal estimates. It proxies to the Subconscious AI backend, so the experiment runs there and the tools carry your credential to it.

What you get
  • check_causality tests whether a research question supports a causal claim at all, before a run is spent on it.
  • generate_attributes_levels turns the question into conjoint attributes and their levels; update_run_config revises a run without rebuilding the design.
  • validate_population and get_population_stats check who the sample represents, by country, before the result is treated as representative.
  • generate_personas builds the respondents and get_experiment_personas returns the ones a given experiment actually used.
  • create_experiment runs the conjoint; get_experiment_status polls it while it works and list_experiments covers everything you have run.
  • get_experiment_results, get_run_details and get_run_artifacts return the outcome, the run's detail and its files.
  • get_amce_data returns average marginal component effects — which attribute moved the choice and by how much — and get_causal_insights returns the written reading of them.
Requirements

A Subconscious AI account with an active subscription, and an access token. The supported setup runs locally over stdio on Python 3.11 or newer, with the token and the API base address supplied through the environment as AUTH0_JWT_TOKEN and API_BASE_URL — keep that config file private, because it holds a bearer credential. A hosted SSE endpoint exists but the vendor marks it experimental and accepts the credential only in the Authorization header.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary