Analyse Conversation
Read an agent's real conversations — the chats end-users actually had with
it — and turn what you find into a concrete improvement. This is how you judge a
persona from evidence instead of guessing, and it is the surface the console's
Analyze button on a conversation opens: it hands you the transcript with an
"Analyse the Conversation:" message pre-filled so you can review how the agent
handled that chat and say what to change.
CRITICAL: mcporter syntax rules
- ALL arguments MUST use
key="value" format.
- Do NOT use
--output — it is not supported by mcporter call.
The two read tools
aramb_mcp.agents_conversation_search — list an agent's conversations,
most-recent-activity first. Optional from/to (RFC3339) window the
activity, order is recent (default) or oldest, limit defaults to 50
(max 200). Returns {conversations: [{conversation_id, title, created_at, last_message_at}], has_more}. This is the entry point when you were not
handed a specific conversation — start here to find one.
aramb_mcp.agents_conversation_get — one conversation's messages, oldest
first. Optional from/to (RFC3339) window the messages (to is also the
backwards-paging cursor — pass the returned next_before to page older),
order is asc (default) or desc, limit defaults to 50 (max 200). Set
include_run_events=true to also get the agent's run/tool-event stream
(tool_call / tool_result / lifecycle) when you need to review how it used its
tools. Returns {messages: [{role, message_type, content, created_at}], has_more, next_before, run_events?}.
# Handed a conversation (Analyze button): read that transcript directly.
npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>"
# Not handed one: find recent conversations first, then read one.
npx mcporter call aramb_mcp.agents_conversation_search agent_id="<AGENT_ID>" order="recent" limit="20"
npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>"
# Diagnosing a tool problem — pull the tool-call/lifecycle stream alongside the transcript.
npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>" include_run_events="true"
# Narrow to a time window when triaging a reported incident.
npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>" from="2026-07-01T00:00:00Z" to="2026-07-08T00:00:00Z"
These reads are transcript-only: they surface role (user / assistant),
message text, and time — never the end-user's identity or tenancy. Every call
is fenced to the calling agent's organization; an id that isn't yours reads as
not found.
How to analyse — read for the failure, then fix it
Don't summarize the chat back at the user — analyse it. Read the transcript
(pull include_run_events when the question is about tool use) and look for
where the agent actually went wrong:
- Misunderstood the user's intent, or answered a different question.
- Over-refused — declined something in scope, or hedged a straightforward
answer into uselessness.
- Missed context the earlier turns established, or contradicted itself.
- Tone / user-relations — curt, robotic, or unhelpful when the user was
confused or frustrated.
- Tool misuse (with
run_events) — called the wrong tool, skipped a tool
it should have used, or mishandled a tool result.
- Went out of scope — did work the persona shouldn't, or leaked how it
works.
Then say, concretely, what in the system prompt (or greeting, skills, or
tools) caused it and what to change — quote the offending turn, name the
fix. Vague praise ("looks good") is not an analysis.
Close the loop — evidence → change
An analysis is only worth something if it lands as a change. Feed what you
found straight into the persona-editing loop:
aramb_mcp.agents_get — read the current DRAFT (the source of truth, not
this conversation; someone may have edited it since).
aramb_mcp.agents_update — patch the draft with the fix, grounded in the
turn you quoted (partial merge — pass only the keys that change).
- Let the user confirm, then
aramb_mcp.agents_publish to make it live.
For anything beyond a single read-and-diagnose — inspecting/revising/publishing
the persona itself — see the aramb-agents skill. To prove the fix with a
scripted, repeatable multi-turn test rather than one anecdote, see the
agent-tests skill (aramb_mcp.agents_test_*).
1---2name: analyse-conversation3description: Read and analyse an agent's real end-user conversations (aramb_agents. conversation_search / conversation_get) to judge how the persona actually behaves and turn that evidence into a concrete improvement. Use when asked to review, evaluate, diagnose, or "analyse the conversation" for an agent — the console's Analyze button lands here with a transcript pre-filled. Grounds any persona change in what users said and how the agent replied, then feeds it back into the get → update → publish loop.4---56# Analyse Conversation78Read an agent's **real conversations** — the chats end-users actually had with9it — and turn what you find into a concrete improvement. This is how you judge a10persona from evidence instead of guessing, and it is the surface the console's11**Analyze** button on a conversation opens: it hands you the transcript with an12"Analyse the Conversation:" message pre-filled so you can review how the agent13handled that chat and say what to change.1415## CRITICAL: mcporter syntax rules16- ALL arguments MUST use `key="value"` format.17- Do NOT use `--output` — it is not supported by mcporter call.1819## The two read tools2021- **`aramb_mcp.agents_conversation_search`** — list an agent's conversations,22 most-recent-activity first. Optional `from`/`to` (RFC3339) window the23 activity, `order` is `recent` (default) or `oldest`, `limit` defaults to 5024 (max 200). Returns `{conversations: [{conversation_id, title, created_at,25 last_message_at}], has_more}`. This is the entry point when you were **not**26 handed a specific conversation — start here to find one.27- **`aramb_mcp.agents_conversation_get`** — one conversation's messages, oldest28 first. Optional `from`/`to` (RFC3339) window the messages (`to` is also the29 backwards-paging cursor — pass the returned `next_before` to page older),30 `order` is `asc` (default) or `desc`, `limit` defaults to 50 (max 200). Set31 `include_run_events=true` to also get the agent's run/tool-event stream32 (tool_call / tool_result / lifecycle) when you need to review how it used its33 tools. Returns `{messages: [{role, message_type, content, created_at}],34 has_more, next_before, run_events?}`.3536```bash37# Handed a conversation (Analyze button): read that transcript directly.38npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>"3940# Not handed one: find recent conversations first, then read one.41npx mcporter call aramb_mcp.agents_conversation_search agent_id="<AGENT_ID>" order="recent" limit="20"42npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>"4344# Diagnosing a tool problem — pull the tool-call/lifecycle stream alongside the transcript.45npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>" include_run_events="true"4647# Narrow to a time window when triaging a reported incident.48npx mcporter call aramb_mcp.agents_conversation_get agent_id="<AGENT_ID>" conversation_id="<CONVERSATION_ID>" from="2026-07-01T00:00:00Z" to="2026-07-08T00:00:00Z"49```5051These reads are **transcript-only**: they surface `role` (user / assistant),52message text, and time — never the end-user's identity or tenancy. Every call53is fenced to the calling agent's organization; an id that isn't yours reads as54not found.5556## How to analyse — read for the failure, then fix it5758Don't summarize the chat back at the user — analyse it. Read the transcript59(pull `include_run_events` when the question is about tool use) and look for60where the agent actually went wrong:6162- **Misunderstood** the user's intent, or answered a different question.63- **Over-refused** — declined something in scope, or hedged a straightforward64 answer into uselessness.65- **Missed context** the earlier turns established, or contradicted itself.66- **Tone / user-relations** — curt, robotic, or unhelpful when the user was67 confused or frustrated.68- **Tool misuse** (with `run_events`) — called the wrong tool, skipped a tool69 it should have used, or mishandled a tool result.70- **Went out of scope** — did work the persona shouldn't, or leaked how it71 works.7273Then say, concretely, **what in the system prompt (or greeting, skills, or74tools) caused it and what to change** — quote the offending turn, name the75fix. Vague praise ("looks good") is not an analysis.7677## Close the loop — evidence → change7879An analysis is only worth something if it lands as a change. Feed what you80found straight into the persona-editing loop:81821. **`aramb_mcp.agents_get`** — read the current DRAFT (the source of truth, not83 this conversation; someone may have edited it since).842. **`aramb_mcp.agents_update`** — patch the draft with the fix, grounded in the85 turn you quoted (partial merge — pass only the keys that change).863. Let the user confirm, then **`aramb_mcp.agents_publish`** to make it live.8788For anything beyond a single read-and-diagnose — inspecting/revising/publishing89the persona itself — see the **aramb-agents** skill. To prove the fix with a90scripted, repeatable multi-turn test rather than one anecdote, see the91**agent-tests** skill (`aramb_mcp.agents_test_*`).