The bulk_delete_emails, bulk_move_emails, and bulk_mark_emails_as_read tools consistently return an error when invoked via the mcp-aggregator. Individual operations (delete_email, move_email, mark_email_as_read) work correctly.
Steps to reproduce:
Call any bulk tool via the aggregator with a valid array payload, e.g.:
{
"emails": [
{ "accountId": "csla-store", "emailId": "162128d3d1d2b7cd" },
{ "accountId": "csla-store", "emailId": "162071da68eafa97" }
]
}
Expected: Bulk operation succeeds for all items in the array.
Actual: Returns "An error occurred invoking 'invoke_tool'." — no partial results, no detail on which items failed.
Notes:
Workaround is to call individual operations in a loop, which works but is much slower.
The error appears to occur at the server/aggregator boundary, not in argument construction — the payload format matches the documented schema.
The bulk_delete_emails, bulk_move_emails, and bulk_mark_emails_as_read tools consistently return an error when invoked via the mcp-aggregator. Individual operations (delete_email, move_email, mark_email_as_read) work correctly.
Steps to reproduce:
Call any bulk tool via the aggregator with a valid array payload, e.g.:
{ "emails": [ { "accountId": "csla-store", "emailId": "162128d3d1d2b7cd" }, { "accountId": "csla-store", "emailId": "162071da68eafa97" } ] }Expected: Bulk operation succeeds for all items in the array.
Actual: Returns "An error occurred invoking 'invoke_tool'." — no partial results, no detail on which items failed.
Notes:
Workaround is to call individual operations in a loop, which works but is much slower.
The error appears to occur at the server/aggregator boundary, not in argument construction — the payload format matches the documented schema.