GovTribe

Get teaming messages MCP tool

Operates in the cross-company GovTribe teaming network. Read messages from a teaming conversation: pass teaming_match_id for a match conversation or teaming_interest_id (prime side) for the team-hub conversation. Returns up to 50 messages per page, oldest to newest, including system messages. Page backward with the oldest message cursor as before_cursor, or forward with the newest message cursor as after_cursor. By default this is a non-mutating peek — pass mark_read=true to also advance the viewer's read receipt and notify other participants. Only conversation participants can read.

Examples

Pass exactly one of teaming_match_id or teaming_interest_id. Use teaming_match_id for a match conversation, or a PRIME interest's teaming_interest_id for the team-hub conversation that exists once the prime locks in the team. Messages return oldest to newest, up to 50 per page (limit accepts 1–50, default 50). Reading does not mark the conversation as read unless you pass mark_read=true, which advances the viewer's read receipt and broadcasts the change to the other participants. Omit it, or pass false, for a non-mutating peek.

Read a match conversation

Resolve the match first, then read its conversation.

{
  "tool": "Search_Teaming_Matches",
  "arguments": {
    "fields_to_return": [
      "govtribe_id",
      "status",
      "viewer_context",
      "conversation_summary"
    ]
  }
}
{
  "tool": "Get_Teaming_Messages",
  "arguments": {
    "teaming_match_id": "<teaming_match_govtribe_id>"
  }
}

Read a team-hub conversation as the prime

{
  "tool": "Get_Teaming_Messages",
  "arguments": {
    "teaming_interest_id": "<prime_teaming_interest_govtribe_id>"
  }
}

Page backward through older messages

While has_older is true, pass the oldest returned message's cursor unchanged as before_cursor. Cursors preserve message order even when multiple messages share the same creation timestamp.

{
  "tool": "Get_Teaming_Messages",
  "arguments": {
    "teaming_match_id": "<teaming_match_govtribe_id>",
    "before_cursor": "<oldest_message_cursor>",
    "limit": 50
  }
}

Page forward through newer messages

Pass the newest returned message's cursor unchanged as after_cursor. Continue while the forward response's has_newer is true.

{
  "tool": "Get_Teaming_Messages",
  "arguments": {
    "teaming_match_id": "<teaming_match_govtribe_id>",
    "after_cursor": "<newest_message_cursor>",
    "limit": 50
  }
}

Use only one boundary per request: before_cursor, after_cursor, or the legacy before timestamp filter. Malformed cursors and combined boundaries are rejected. The legacy filter returns messages created strictly before its timestamp, so it can skip messages when a page ends within a shared timestamp. Use the returned opaque cursors for complete history traversal; do not reconstruct them from created_at or a message ID.