Build with Hiasynth

Hiasynth is a remote MCP server. Anything that speaks the Model Context Protocol over HTTP can use it: an agent framework, a workflow tool, a product of your own. This page is the reference for wiring it in. Setting up a chat client? Getting started is shorter.

The server

Address
https://mcp.hiasynth.co
Transport
Streamable HTTP (MCP), JSON-RPC over POST
Tools
Nine, all read-only, listed below
Auth
OAuth 2.1 with PKCE, or an API key as a bearer token
Data
Humanity, a synthetic 1:1 population of Europe, vintage 2024

Connecting and listing tools is free, and so is the attribute catalogue. Running a tool spends credits from the account the connection belongs to. There is no separate developer tier: the subscription on your Hiasynth account is what unlocks the tools, for every client and every key on it.

Authenticating

OAuth is the right choice for anything with a user and a browser. The server publishes its metadata at the standard well-known locations, supports client ID metadata documents, and falls back to dynamic client registration, so a compliant MCP client needs nothing but the address. The user signs in on hiasynth.co, sees which app is asking and where it will be sent back, and approves. Tokens are per user, per client, and can be revoked from the user's connector page.

API keys are for anything without a browser: scripts, cron jobs, a server-side agent. Create one under API keys on your connector page, and send it as a bearer token on every request. A key is shown once, can be labelled, and can be revoked at any time.

Authorization: Bearer YOUR_API_KEY

A key acts as the account that created it. Keep it server-side; never ship it in a client.

Configuring a client

Most JSON-configured clients take the server like this:

{
  "mcpServers": {
    "hiasynth": {
      "url": "https://mcp.hiasynth.co",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Drop the headers block for clients that sign in with OAuth. Claude Code:

claude mcp add --transport http hiasynth https://mcp.hiasynth.co

The tools

Every tool answers with aggregates, calibrated to official statistics: counts, shares, distributions, lifts against a matched baseline, and a confidence tier. Nothing returns a person. Prices are in credits per call.

Tool
What it answers
Credits
analyze_market
How many people match a segment, where they concentrate, and the core markets and hotspots
3
compare_places
Several places on the same segment, side by side, indexed
3
rank_places
The best places for a segment, ranked, at municipality or region level
3
sample_persona
A representative archetype for a segment and a place, with a second one to contrast
3
reach_audience
The channels, subscriptions, brands and values that over-index for a segment
2
describe_area
Who lives in a place or within a radius of a point, and what the area is like by day
1
query_population
A custom aggregate over the population tables, for anything the others don't cover
1
resolve_place
What a place name maps to, its code and population, and any namesakes
1
list_attributes
The attribute catalogue: names, types, groups, values
0

Segments are filters on attributes: age, sex, country, income quartile, education, employment, household composition, tenure, vehicles, media reach, subscriptions, brand affinities, values as z-scores, and the spatial layer around each household. list_attributes is the authoritative list; the catalogue is free to read.

Places

Name a country, region, city or municipality in plain language, or use a code: a NUTS code such as DE21 for Oberbayern, or an ISO country code. For a radius, pass a point and radius_km. A question with no place in it scans the whole continent and takes longer; name the place and answers come back in seconds. When a name is ambiguous, resolve_place shows the matches first.

Credits and limits

A subscription carries a monthly allowance; credit packs sit behind it and never expire. The account owner sees the balance on their home page and can set a low-credit email under account settings. When an account has no active subscription, tool calls answer with a short message saying so, rather than an error, so an agent can surface it to the user. All tools are read-only and idempotent; retrying a failed call is safe.

Custom tools, built for your call

The nine tools answer the questions most people ask. If what you're building needs one very specific call, we build it. A tool that takes your list of postcodes and returns a score for each. A tool that reads a customer profile in your shape and returns the matching segment, sized and located. A nightly aggregate in exactly the columns your dashboard wants. A tool that never leaves your data centre.

Custom tools live on the same server, under your account, with the same authentication, so nothing changes for the client that calls them. Tell us what the call needs to take in and hand back, and what volume it runs at, and we come back with a proposal: customise@hiasynth.co.

What you could build

A few things we've seen work, or would like to see.

Enrich what you already have. Every customer record with a place in it can be joined to the population around it. Add the area's income profile, tenure mix, footfall, commute and values to each row, and your segmentation stops being a guess about who lives at those postcodes.

A site-selection tool. Feed it your best-performing locations, let describe_area and rank_places find the municipalities that look like them, and rank the rest of a country by fit. Expansion planning, in a chat.

A media-planning assistant. Define the audience, call reach_audience, and get the channels, subscriptions and brand affinities that over-index, per region. Point a planner at it and it does the first draft.

A market-size checker for pitch decks. Take the claim, decompose it into a segment, run analyze_market, and compare. Investors love it; founders learn from it.

A synthetic panel. sample_persona gives you contrasting archetypes for any segment and place. Put them in front of a model with your draft messaging and hear how each one reacts before a real campaign does.

An internal bot. "Where do our buyers live?" "Which of our regions is most like Lyon?" "Who is within ten minutes of the new store?" All of these are one tool call, and all of them can live in Slack.

Combining Hiasynth with your data

Three joins cover most of it.

  • By place. Hiasynth speaks municipality codes, NUTS codes and points with a radius. Map your postcodes or store locations to one of those and every area tool applies.
  • By segment. Turn what you know about a customer group into filters, age, income quartile, tenure, subscriptions, values, and Hiasynth sizes and locates the same group across all of Europe.
  • By lift. Compare your customers against the population baseline for the same place, and the attributes that stand out are your audience definition.

Your data never comes to us. Hiasynth returns aggregates; the join happens on your side, in your stack.

Something bigger

Higher volumes, a private deployment, or the population delivered as tables into your own warehouse: the same address, customise@hiasynth.co, and tell us what you are building.

For your model

The published docs are also available as plain markdown for language models: /llms.txt lists them, and every page has a .md twin, for example /docs/build.md.