check_job_status

Checks the progress of a scheduled batch calculation job. Returns counts only (completed, failed, pending) - no wallet data. Use this after predictive_fraud_batch or predictive_behaviour_batch to monitor progress before retrieving results.

Only call get_job_results when status is "completed" or "partial". If status is "processing" or "pending", inform the user and wait before calling again.

Both job_id and signature from the batch scheduling call are required. Never call this tool without both values.

MCP Endpoint: https://prediction.mcp.chainaware.ai/sse


Input Schema

Field Type Required Description
job_id string Yes The job_id returned when scheduling the batch job
signature string Yes The signature returned when scheduling the batch job

Output Schema

{
  "job_id": "0fc5897a-ad64-4f21-88b5-1274d1cfec46",
  "status": "partial",
  "chain": "ETH",
  "total_items": 5,
  "completed_items": 1,
  "failed_items": 4,
  "pending_items": 0,
  "expires_at": "2026-07-01T13:51:20.000Z"
}
Field Type Description
job_id string The job identifier
status string "pending", "processing", "partial", or "completed"
chain string Blockchain network the job was submitted for
total_items integer Total wallets submitted in the batch
completed_items integer Wallets successfully processed so far
failed_items integer Wallets that failed processing
pending_items integer Wallets not yet processed
expires_at datetime When the job and its results expire

Status values

Status Meaning Next action
pending Job is queued, not yet started Wait and check again later
processing Job is actively running Wait and check again later
partial Some wallets completed, some still processing or failed Can call get_job_results for completed items
completed All wallets processed Call get_job_results to retrieve all results

Code Examples

Node.js

const status = await client.callTool({
  name: "check_job_status",
  arguments: {
    job_id: "0fc5897a-ad64-4f21-88b5-1274d1cfec46",
    signature: "260866090d88bf61bdfb54f0533fe876bfd8ded7339691c50ada9de59a48124a"
  }
});

if (status.status === "completed" || status.status === "partial") {
  // Safe to call get_job_results
} else {
  console.log(`Job still running: ${status.completed_items}/${status.total_items} done`);
}

Python

status = await session.call_tool("check_job_status", {
    "job_id": "0fc5897a-ad64-4f21-88b5-1274d1cfec46",
    "signature": "260866090d88bf61bdfb54f0533fe876bfd8ded7339691c50ada9de59a48124a"
})

if status["status"] in ("completed", "partial"):
    # Safe to call get_job_results
    pass

Example Agent Prompts

"What is the status of job 0fc5897a-ad64-4f21-88b5-1274d1cfec46?"
"Is my batch fraud job done? Job ID: 0fc5897a... Signature: 260866..."
"How many wallets have been processed in my batch job?"

Error Codes

Code Meaning
403 Invalid apiKey or signature
400 Malformed job_id
500 Temporary backend failure - retry after a short delay


See also: Prediction MCP Overview | Setup Guide