Search and triage all your mailboxes; draft replies and campaigns; send only as you allow.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Moves one inbox email to its mailbox's archive folder, on the mail server too. Undone by restore_to_inbox. Nothing is deleted.
Email id, as returned by search_emails or list_to_answer.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Moves one inbox email to its mailbox's archive folder, on the mail server too. Undone by restore_to_inbox. Nothing is deleted.
| Argument | Type | Description |
|---|---|---|
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id"
],
"properties": {
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Writes one draft inside an existing campaign, to one recipient (added to the campaign list if new), from the campaign's sender. Nothing is sent: the draft waits for the user to validate the campaign send in BumbleBox.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| body* | string | Plain-text body. |
| name | string | Recipient name, for a new prospect. |
| subject* | string | |
| mission_id* | string | Campaign id, as returned by list_missions. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mission_id",
"to",
"subject",
"body"
],
"properties": {
"to": {
"type": "string",
"maxLength": 320,
"minLength": 3
},
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Plain-text body."
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Recipient name, for a new prospect."
},
"subject": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"mission_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Campaign id, as returned by list_missions."
}
},
"additionalProperties": false
}Saves the text as the reply draft of a received email, from the mailbox that received it. Nothing is sent: the draft waits in BumbleBox (Pilotage › prepared replies) until the user reviews it and clicks Send. Saving again replaces the previous draft of the same email.
| Argument | Type | Description |
|---|---|---|
| body* | string | Plain-text reply body. |
| subject | string | Defaults to "Re: <original subject>". |
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Plain-text reply body."
},
"subject": {
"type": "string",
"maxLength": 300,
"description": "Defaults to \"Re: <original subject>\"."
},
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}One email in full: sender, recipients, date, subject, plain-text body, attachment names, folder and BumbleBox classification.
| Argument | Type | Description |
|---|---|---|
| id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Events of the connected Google calendars between two dates (default: the next 7 days, at most 62 days).
| Argument | Type | Description |
|---|---|---|
| to | string | |
| from | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"format": "date-time"
},
"from": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}The drafts of one campaign that wait for the user to validate them in BumbleBox (recipient, subject, plain-text body, sender), newest first, with the true totals.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| mission_id* | string | Campaign id, as returned by list_missions. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mission_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"mission_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Campaign id, as returned by list_missions."
}
},
"additionalProperties": false
}The folders of each connected mailbox, as last synced. Trash, spam, sent and drafts are left out.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}The user's prospection campaigns (missions), most recently active first, with the number of drafts waiting, emails sent and prospects who replied.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
}
},
"additionalProperties": false
}Replies received on campaigns that still need the user: prepared reply drafts waiting for validation, and replies with no answer yet (with the stored AI triage: kind, summary, whether a human is needed).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Received emails BumbleBox classified as needing a reply and still in the inbox, newest first.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Moves one inbox email to an existing folder of the same mailbox (see list_folders), on the mail server too. No folder is created. Undone by restore_to_inbox.
| Argument | Type | Description |
|---|---|---|
| folder* | string | |
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id",
"folder"
],
"properties": {
"folder": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Moves an archived, filed or trashed email back to the inbox, on the mail server too.
| Argument | Type | Description |
|---|---|---|
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id"
],
"properties": {
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Contacts BumbleBox knows from the mail history (name, address, organization domain, exchange counts, last exchanges, VIP mark, note), matched on name, address or domain.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200
}
},
"additionalProperties": false
}Searches every connected mailbox (sender, subject, preview), newest first. Operators: from:, subject:, before:YYYY-MM-DD, after:YYYY-MM-DD; the rest is free text. Deleted emails are not returned.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}Replies to the sender of one received email, and only to them (no Cc, no Bcc, no attachment), from the mailbox that received it. What happens next is the level the user set in BumbleBox for this kind of reply: a draft, a reply waiting for one tap (the default), or a reply that leaves after a delay the user can cancel. Anything that commits the user (amounts, bank details, acceptance, contracts, dates, links) always waits for the user. The result says which one applied.
| Argument | Type | Description |
|---|---|---|
| body* | string | Plain-text reply body. |
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Plain-text reply body."
},
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Moves one inbox email to its mailbox's trash when BumbleBox certifies it as noise (spam, newsletter, promotion, with a unanimous safety vote and no known contact or action word). Any other email is not moved: it becomes a proposal the user confirms in one tap in BumbleBox. Never a permanent deletion; undone by restore_to_inbox.
| Argument | Type | Description |
|---|---|---|
| reason | string | Why, shown to the user with a proposal. |
| email_id* | string | Email id, as returned by search_emails or list_to_answer. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email_id"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 300,
"description": "Why, shown to the user with a proposal."
},
"email_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"additionalProperties": false
}Changes the subject, body or recipient of a draft that is still a draft. Nothing is sent, and a draft the user already validated cannot be changed.
| Argument | Type | Description |
|---|---|---|
| to | string | |
| body | string | |
| subject | string | |
| draft_id* | string | |
| mission_id* | string | Campaign id, as returned by list_missions. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mission_id",
"draft_id"
],
"properties": {
"to": {
"type": "string",
"maxLength": 320,
"minLength": 3
},
"body": {
"type": "string",
"maxLength": 20000,
"minLength": 1
},
"subject": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"draft_id": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"mission_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Campaign id, as returned by list_missions."
}
},
"additionalProperties": false
}