GovTribe

Add to container MCP tool

Adds accessible GovTribe User Files, files from file-bearing entities, typed-search JSON, or generated images to the hosted `shell` tool under /mnt/data. Provide items, search_results_id, image_generation_call_ids, or a combination. Existing same-workspace User Files do not need another conversation upload. Never generates or edits images. Returns a status snapshot; if in_progress, call again later with the same arguments. Use returned container_files.path_hint values, including after container replacement.

Examples

Use this when the user needs file content or typed-search JSON available in the hosted shell at /mnt/data, especially for spreadsheet, chart, document, dataset-join, PDF, or attachment workflows. Provide items, search_results_id, image_generation_call_ids, or a combination.

Reason directly from a typed Search_* response when its returned rows already answer the question. Normal searches remain file-free. Pass search_results_id here only when shell code needs the search page as JSON.

This is a polling tool. Read status, hosted_tool_ready, retry_with_same_arguments, next_actions, and container_files from each response. When status is in_progress and retry_with_same_arguments is true, call Add_To_Container again later with the same arguments. Do not use the hosted shell files until status is completed and hosted_tool_ready is true.

In GovTribe AI Analyst conversations, the root-level native Create_Container tool prepares an environment when Shell is unavailable. Its ready and shell_available fields describe environment readiness; this MCP tool's completed and hosted_tool_ready fields describe attachment readiness. If earlier working files are needed after replacement, inspect the checkpoint manifests and explicitly select files to restore through Create_Container. See Prepare the hosted shell and Resume after container replacement.

Add an opportunity attachment package to the container

{
  "tool": "Search_Federal_Contract_Opportunities",
  "arguments": {
    "query": "cybersecurity operations support attachments",
    "search_mode": "semantic",
    "fields_to_return": [
      "govtribe_id",
      "name",
      "government_files"
    ]
  }
}
{
  "tool": "Add_To_Container",
  "arguments": {
    "items": [
      {
        "govtribe_type": "federal_contract_opportunity",
        "govtribe_id": "<federal_contract_opportunity_govtribe_id>"
      }
    ]
  }
}

Retry the same container add while files are still processing

{
  "tool": "Add_To_Container",
  "arguments": {
    "items": [
      {
        "govtribe_type": "government_file",
        "govtribe_id": "<government_file_govtribe_id>"
      }
    ]
  }
}

Add a generated image

After native image generation creates a cat or another requested image, stage it for shell inspection or embedding with its call ID. GovTribe saves the completed image as a User File automatically. This tool never generates, edits, or visually inspects images.

{
  "tool": "Add_To_Container",
  "arguments": {
    "image_generation_call_ids": ["<image_generation_call_id>"]
  }
}

Poll with the same arguments while the image is being saved or attached. Failed or stopped generations return failure guidance. For saved images from another conversation, use an accessible user_file ID in items. After container replacement, repeat the staging call to obtain a current verified path_hint.

Add a typed-search page as JSON

{
  "tool": "Add_To_Container",
  "arguments": {
    "search_results_id": "<search_results_id_from_a_typed_search>"
  }
}

GovTribe reruns the exact typed-search page against current data, preserves its fields, filters, operators, sort, aggregations, and original search_results_id, and caps rows at the original returned count.

Payload patterns

Use items for one to ten file-bearing records, search_results_id for one typed-search page, or image_generation_call_ids for one to ten distinct native image calls from the active conversation. These inputs can be combined. At least one input is required. Passing an entity adds its attached files; passing a file adds only that file. An accessible same-workspace User File does not need to be uploaded to the current conversation first. Keep the same arguments when polling an in-progress operation. Once files are ready, use container_files.container_file_id with Show_Document, container_files.path_hint for hosted shell commands, and container_files.sandbox_uri_hint when a response needs a sandbox link.

Add several known files at once

{
  "tool": "Add_To_Container",
  "arguments": {
    "items": [
      {
        "govtribe_type": "government_file",
        "govtribe_id": "<technical_volume_file_govtribe_id>"
      },
      {
        "govtribe_type": "user_file",
        "govtribe_id": "<pricing_workbook_user_file_govtribe_id>"
      }
    ]
  }
}

Add search JSON and a workspace file together

{
  "tool": "Add_To_Container",
  "arguments": {
    "search_results_id": "<search_results_id>",
    "items": [
      {
        "govtribe_type": "user_file",
        "govtribe_id": "<user_file_govtribe_id>"
      }
    ]
  }
}