daimon-context
Each connected daimon-* MCP server is one chat platform. daimon-slack reaches the
user's Slack workspace; daimon-discord reaches every Discord server they share with a
daimon install. A daimon answers as the user: it reads only channels they can see and
spends that workspace's credit.
Procedure
- When the question mentions Slack, Discord, the team, a channel, or a daimon by name,
call
list_daimonson each connected server. Every entry has anid, aname, and aworkspace. Names repeat across workspaces;iddoes not. - Pick the daimons whose
workspaceorrole_summaryplausibly holds the answer. Do not ask all of them by default. Each workspace is billed separately. - Call
ask(daimon_id, message)on the chosen daimons in parallel. Phrase the message as a question the daimon can answer from its own platform. - Merge the replies. State which platform and workspace each fact came from.
- For a follow-up on the same topic, pass the previous result's
handletoaskso the daimon keeps its context and no new session is opened.
Failure modes
- A server reports missing authentication: tell the user to run
/mcpand authenticate that server. Do not retry the call. asktimes out after about two minutes: the error carries ahandle. Callget_session(daimon_id, handle)untilidle, thenlist_eventsto read the reply. Do not resend the question.- One daimon fails while others answer: report the partial result and name the daimon that did not answer.
list_daimonsreturns an empty list: daimon is not installed in any workspace the user belongs to on that platform. Say so; there is nothing to retry.