get_run_status
Check the status of a BitScale Grid enrichment run using the request ID from run_grid. Poll every 2-5 seconds to monitor progress until completion or failure.
Instructions
Check the status of a previously triggered Grid run.
Use this after run_grid returns a request_id (either from async mode or when sync mode times out after 120 seconds).
Poll every 2-5 seconds until status is "completed" or "failed". Avoid polling more frequently as requests count toward the rate limit (5 req/sec per workspace).
Args: request_id: The request_id UUID returned by run_grid.
Returns: {mode, status, grid_id, outputs (when completed)}. Status is one of: "running", "completed", or "failed". When completed, outputs contains {column_id: {value, name}} for each enriched column.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- main.py:237-260 (handler)The get_run_status tool is defined and implemented here, decorated with @mcp.tool(). It validates the request_id and makes a request to the /run/status/ endpoint.
@mcp.tool() def get_run_status(request_id: str) -> str: """ Check the status of a previously triggered Grid run. Use this after run_grid returns a request_id (either from async mode or when sync mode times out after 120 seconds). Poll every 2-5 seconds until status is "completed" or "failed". Avoid polling more frequently as requests count toward the rate limit (5 req/sec per workspace). Args: request_id: The request_id UUID returned by run_grid. Returns: {mode, status, grid_id, outputs (when completed)}. Status is one of: "running", "completed", or "failed". When completed, outputs contains {column_id: {value, name}} for each enriched column. """ if not request_id: raise ValueError("request_id must not be empty") data = _get(f"/run/status/{request_id}") return json.dumps(data, indent=2)