Skip to main content
askConcord sends a message to the Concord agent and returns its answer. It is the tool your client will use for almost everything: questions about delivery and performance, campaign changes, reports, media plans.

Arguments

Result

The answer comes back as text, with the same fields in structuredContent for clients that read it:

Conversations

MCP has no session, so continuity is an explicit handle. The first call returns a chatId; passing it back continues that conversation with its full context, which is the only way to give Concord follow-up context. A call without chatId always starts a fresh conversation.
Conversations started over MCP do not appear in the chat list of the web app. They run the same agent, with the same Skills, as a web conversation. You can still open one by its chatId at https://app.concord.ad/chats/<chatId>.

Statuses

timeout, busy, no_answer, and unknown_chat are returned with isError: true, so the calling model can correct itself.

Streaming and cancellation

A call is answered on a server-sent events stream with keep-alives, so a slow turn holds the connection open. Send Accept: application/json, text/event-stream: without it the answer comes back as a single JSON response after up to four minutes of silence, and proxies may drop the connection. The answer is still recoverable by collecting. Closing the stream cancels the turn that call started. The step in flight finishes first. Collecting, or a call that attached to a turn already running, cancels nothing.

Recovering a slow answer

An agent turn can take minutes. When a call returns timeout, the turn is still running. To get its answer, call askConcord with the chatId and no message:
This is called collecting. It sends nothing, so it is safe to repeat as often as needed.
Do not re-send the message to recover a slow answer. As soon as the first turn finishes, the re-sent message runs the instruction a second time. For an instruction that prepares platform actions, that means preparing them twice.

When Concord needs you

If a request needs your approval, or Concord has a question before it can proceed, the turn waits for you in Concord rather than answering through MCP. The call returns timeout. Open the conversation at https://app.concord.ad/chats/<chatId> to approve the action or answer the question, then collect the answer from your client. Concord asks fewer questions when a request is complete: name the platform, the campaign, the budget, and the dates. Upload files · Platform actions · Working in conversations