Overview
The audience fit for one of your campaigns (intent_id) or for a profile you describe (product, audience, geography): the audience segments it matches and the coverage per channel. The same check a campaign gets when it starts.
- Server
https://app.distribution.tech/api/mcp- Scope
audience:read- Changes data
- No, a read
- REST endpoint
- GET /audience
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
intent_id | string (uuid) | No | One of your campaigns. Leave out to describe a profile instead. |
product | string | No | What is being promoted. |
audience | string | No | Who it is for, in your words. |
geography | string | No | Where the audience is, or worldwide. |
Call with curl
The server speaks streamable HTTP, so one JSON-RPC tools/call request runs the tool. Set DISTRIBUTION_API_KEY to a key from Developers with the audience:read scope; the arguments shown are the required ones.
curl -X POST "https://app.distribution.tech/api/mcp" \
-H "Authorization: Bearer $DISTRIBUTION_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "resolve_audience",
"arguments": {}
}
}'Result
The answer's structuredContent follows the tool's output schema (the same JSON is in its text content). It has these fields:
| Name | Type | Required | Description |
|---|---|---|---|
version | 1 | Yes | |
computed_at | string (date-time) | Yes | |
coverage_as_of | string (date-time) or null | Yes | |
segments | array of object | Yes | |
regions | array of string | Yes | |
unresolved | boolean | Yes | |
channels | array of object | Yes | |
thin | boolean | Yes | |
summary | string | Yes |
{
"version": 1,
"computed_at": "<date-time>",
"coverage_as_of": "<date-time>",
"segments": [
{
"id": "<string>",
"label": "<string>"
}
],
"regions": [
"<string>"
],
"unresolved": false,
"channels": [
{
"channel": "x_creators",
"label": "<string>",
"sale": "live",
"level": "strong",
"verified_nodes": 0,
"priced_units": 0,
"note": "<string>"
}
],
"thin": false,
"summary": "<string>"
}Other tools
inventory: Network coveragecampaign_status: Campaign statusevidence: Proof of deliveryresults: Resultsbrain_get: Company contextcreators_search: Find creatorscreator_get: One creatorcreator_ask_price: Ask for a priceplan_quote: Quote a plancreate_campaign: Start a campaignplan_add_creator: Add a creatorplan_remove_creator: Remove a creatorplan_move_dates: Move a plan's datesplan_swap_creator: Swap a creatorset_creator_guidelines: Set the creator guidelinesapprove_plan: Approve and get the pay linkarchive_campaign: Archive a campaignrename_campaign: Rename a campaigndelete_campaign: Delete a draft campaignfeedback_send: Send feedbackfeedback_list: Your feedback
Get access
Keys are created in Developers once your brand is approved. Connect an agent to ask for access, then read the agent guide for the full flow.