Search vector store MCP response
MCP tool response returned by the Search vector store MCP tool.
- Returned by: Search vector store MCP tool
- Response type: Structured vector-store search result
Response Shape
The tool returns a text report plus structured content. It does not return a reusable GovTribe record row.
The structured content uses these fields:
| Field | Type | Notes |
|---|---|---|
query | string | Original semantic search query. |
status | string | Vector store readiness status for the response, such as completed, in_progress, or expired. |
message | string | Human-readable summary of readiness or result count. |
result_count | integer | Number of returned vector-store search results. |
results | object array | Ranked result objects. Each result includes rank, file_id, filename, score, attributes, and content. |
has_more | boolean | Whether additional vector-store results are available. |
next_page | string or null | Cursor for the next vector-store search page when available. |
hosted_tool_ready | boolean | Whether the underlying OpenAI vector-store hosted tool is ready to search. |
retry_with_same_arguments | boolean | Whether the agent should retry this search later with the same arguments. |
next_actions | string array | Recommended follow-up actions when the vector store is not ready. |
The text content preserves a readable report for clients and logs. Successful searches use this pattern:
| Part | Text pattern | Notes |
|---|---|---|
| Header | Found {count} result(s) for: "{query}" | Returned when the vector store has at least one match. |
| Result heading | ### Result {rank} — {filename} (relevance: {score}%) | Returned once for each matching file. |
| Attributes | Attributes: {key}: {value}, ... | Included only when the matched file has attributes. |
| Content | Matched text chunks | One or more extracted text chunks from the matching file. |
| More results | Additional results available. | Included when the vector store reports additional available results. |
If the completed vector store has no matches, message and the text content say No results found for: "{query}", result_count is 0, and results is empty.
If the vector store is not ready, status is in_progress, hosted_tool_ready is false, retry_with_same_arguments is true, result_count is 0, results is empty, and message contains the retry guidance. This can happen even when the local vector-store status was already completed if files are still pending attachment, OpenAI batches are active, or file counts are not fully finalized.
If the vector store has expired, status is expired, hosted_tool_ready is false, retry_with_same_arguments is false, result_count is 0, and results is empty. The message tells the agent to add the original source items to a new vector store instead of retrying the same search.
Follow-up Behavior
When status is in_progress, retry Search_Vector_Store later with the same arguments or call Add_To_Vector_Store again with the original source items and the returned govtribe_vector_store_id to check readiness.
When status is expired, do not retry the same Search_Vector_Store call. Call Add_To_Vector_Store again with the original source items and omit govtribe_vector_store_id so GovTribe can create a new vector store, then search the newly returned ID after readiness is completed.
For complete source-package analysis, prefer the Add_To_Vector_Store readiness gate before final synthesis. If a search returns chunks while the add operation still reports pending files, treat those chunks as partial evidence and keep polling before making package-level claims.
Example
{
"query": "pricing assumptions",
"status": "completed",
"message": "Found 1 result(s) for: \"pricing assumptions\"",
"result_count": 1,
"results": [
{
"rank": 1,
"file_id": "FILE_ID",
"filename": "pricing-summary.pdf",
"score": 0.875,
"attributes": {
"govtribe_id": "USER_FILE_ID",
"govtribe_type": "user_file"
},
"content": [
{
"type": "text",
"text": "The pricing assumptions include labor escalation and option-year rates."
}
]
}
],
"has_more": false,
"next_page": null,
"hosted_tool_ready": true,
"retry_with_same_arguments": false,
"next_actions": []
}