from dedalus_mcp import get_context, tool
@tool(description="Process items in batch")
async def batch_process(items: list[str]) -> dict:
ctx = get_context()
results = {"success": 0, "failed": 0}
await ctx.info("Starting batch", data={"items": len(items)})
for i, item in enumerate(items, start=1):
await ctx.debug("Processing item", data={"index": i, "total": len(items), "item": item})
try:
process_item(item) # your code
results["success"] += 1
except Exception as e:
await ctx.warning("Item failed", data={"item": item, "error": str(e)})
results["failed"] += 1
if results["failed"]:
await ctx.warning("Batch completed with failures", data=results)
else:
await ctx.info("Batch completed successfully", data=results)
return results