Teaming messages MCP response
MCP tool response returned when agents read or send GovTribe teaming conversation messages through MCP tools.
- Returned by: Get teaming messages MCP tool; Send teaming message MCP tool
- Response type: Structured teaming conversation messages
Response Shape
Get_Teaming_Messages returns a conversation snapshot, one page of messages ordered oldest to newest, and a paging flag. Send_Teaming_Message returns only the single created message plus its conversation_id.
| Field | Type | Notes |
|---|---|---|
conversation | object | Conversation snapshot returned by the read tool. Includes the fields below. |
conversation.conversation_id | string | GovTribe ID for the conversation. |
conversation.name | string | Conversation display name. |
conversation.closed_at | string or null | When the conversation was closed. Closed conversations can still be read but no longer accept messages. |
conversation.participant_count | integer | Number of users in the conversation. |
conversation.last_message_at | string or null | Timestamp of the most recent message. |
conversation.viewer_last_read_at | string or null | When the viewer last marked the conversation read in the GovTribe app. Reading through MCP never updates this value. |
messages | object array | One page of messages, oldest to newest. Includes user and system messages. |
messages[].message_id | string | GovTribe ID for the message. |
messages[].content | string | Message text. Deleted messages return [This message has been deleted] instead of their original text. |
messages[].kind | string | user for participant messages or system for team-hub lifecycle messages such as lock-in, partner departure, or disband. |
messages[].author_name | string | Abbreviated author name, for example Jordan B.. Empty when the author is unavailable. |
messages[].is_viewer | boolean | Whether the requesting user authored the message. |
messages[].created_at | string | Message creation timestamp. Use the oldest value as the before cursor to page backward. |
messages[].edited_at | string or null | When the message was last edited, when edited. |
messages[].attachment | object or null | Attachment metadata when the message carries a file: name and content_type. The file itself is not downloadable through MCP. |
has_older | boolean | Whether older messages exist before this page. |
conversation_id | string | Returned by the send tool alongside the created message's message_id, content, kind, and created_at. |
Follow-up Behavior
Reading messages never marks the conversation as read for the user; unread indicators in the GovTribe app are unaffected.
Messages that carry file attachments include the attachment's name and content type in attachment; the file itself is not downloadable through MCP, so direct the user to the conversation in the GovTribe app to open it.
Page backward through history by passing the oldest returned created_at as before on the next call while has_older is true.
Send_Teaming_Message returns a structured conversation_closed error code when the conversation no longer accepts messages.
Example
{
"conversation": {
"conversation_id": "CONVERSATION_ID",
"name": "Team — Request for proposal - Commercial online platform acquisition",
"closed_at": null,
"participant_count": 3,
"last_message_at": "2026-06-09T18:42:11Z",
"viewer_last_read_at": "2026-06-09T15:30:00Z"
},
"messages": [
{
"message_id": "SYSTEM_MESSAGE_ID",
"content": "Team locked in by Example Vendor.",
"kind": "system",
"author_name": "Marcus T.",
"is_viewer": true,
"created_at": "2026-06-08T14:05:00Z",
"edited_at": null,
"attachment": null
},
{
"message_id": "MESSAGE_ID",
"content": "Glad to be locked in. Here is our capability matrix.",
"kind": "user",
"author_name": "Jordan B.",
"is_viewer": false,
"created_at": "2026-06-09T18:42:11Z",
"edited_at": null,
"attachment": {
"name": "capability-matrix.pdf",
"content_type": "application/pdf"
}
}
],
"has_older": false
}