BumbleBox
Search and triage all your mailboxes; draft replies and campaigns; send only as you allow.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- LOW在 list_replies_to_validate 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mail": {
"url": "https://api.bumblebox.ai/api/mcp"
}
}
}远程端点
https://api.bumblebox.ai/api/mcpstreamable-http它能做什么
工具清单
工具(17)
🟢search_emails(query, limit)
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.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_email(id)
One email in full: sender, recipients, date, subject, plain-text body, attachment names, folder and BumbleBox classification.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"email": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"email"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_to_answer(limit)
Received emails BumbleBox classified as needing a reply and still in the inbox, newest first.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"emails"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_contacts(query, limit)
Contacts BumbleBox knows from the mail history (name, address, organization domain, exchange counts, last exchanges, VIP mark, note), matched on name, address or domain.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"contacts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"contacts"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_folders
The folders of each connected mailbox, as last synced. Trash, spam, sent and drafts are left out.
输入模式
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"mailboxes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"mailboxes"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_calendar_events(from, to)
Events of the connected Google calendars between two dates (default: the next 7 days, at most 62 days).
输入模式
{
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"events"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪draft_reply(email_id, body, subject)
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.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Plain-text reply body."
},
"subject": {
"type": "string",
"maxLength": 300,
"description": "Defaults to \"Re: <original subject>\"."
}
},
"required": [
"email_id",
"body"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"draft": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡send_reply(email_id, body)
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.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Plain-text reply body."
}
},
"required": [
"email_id",
"body"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"reply": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"reply"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪archive_email(email_id)
Moves one inbox email to its mailbox's archive folder, on the mail server too. Undone by restore_to_inbox. Nothing is deleted.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"required": [
"email_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"moved": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"moved"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢move_email(email_id, folder)
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.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
},
"folder": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"email_id",
"folder"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"moved": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"moved"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪trash_email(email_id, reason)
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.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
},
"reason": {
"type": "string",
"maxLength": 300,
"description": "Why, shown to the user with a proposal."
}
},
"required": [
"email_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"result": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"result"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪restore_to_inbox(email_id)
Moves an archived, filed or trashed email back to the inbox, on the mail server too.
输入模式
{
"type": "object",
"properties": {
"email_id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Email id, as returned by search_emails or list_to_answer."
}
},
"required": [
"email_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"restored": {
"type": "number"
}
},
"required": [
"restored"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_missions(limit)
The user's prospection campaigns (missions), most recently active first, with the number of drafts waiting, emails sent and prospects who replied.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"missions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"missions"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_campaign_drafts(mission_id, limit)
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.
输入模式
{
"type": "object",
"properties": {
"mission_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Campaign id, as returned by list_missions."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"mission_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"counts": {
"type": "object",
"additionalProperties": {}
},
"drafts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"counts",
"drafts"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_replies_to_validate
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).
输入模式
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"drafts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"pending": {
"$ref": "#/properties/drafts"
}
},
"required": [
"drafts",
"pending"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_campaign_draft(mission_id, to, name, subject, body)
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.
输入模式
{
"type": "object",
"properties": {
"mission_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Campaign id, as returned by list_missions."
},
"to": {
"type": "string",
"minLength": 3,
"maxLength": 320
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Recipient name, for a new prospect."
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Plain-text body."
}
},
"required": [
"mission_id",
"to",
"subject",
"body"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"draft": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_campaign_draft(mission_id, draft_id, subject, body, to)
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.
输入模式
{
"type": "object",
"properties": {
"mission_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Campaign id, as returned by list_missions."
},
"draft_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"to": {
"type": "string",
"minLength": 3,
"maxLength": 320
}
},
"required": [
"mission_id",
"draft_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"draft": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据