SupportBee MCP by usefulapi

Read SupportBee tickets, replies and reports; reply, comment, label, assign and archive tickets.

我該用這個嗎

品質與安全性

A
說明品質
90%
結構描述完整度
89%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'supportbee_list_forwarding_addresses' name length outside 3-30 range在 supportbee_list_forwarding_addresses 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,606Token(工具定義)
~1.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.60%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "supportbee": {
      "url": "https://supportbee.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://supportbee.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(22)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢supportbee_list_tickets(archived, spam, trash, has_replies, max_replies, ...)

List tickets of the shared inbox, newest activity first, with filters (assignee, team, label, requester, dates, spam/trash/archived). By default archived, spam and trashed tickets are left out. Each ticket has id, subject, labels, requester, assignee, replies_count, comments_count, unanswered, archived and the first message text (cut). With total_only=true only the number of matching tickets comes back. GET /tickets.

輸入結構描述

{
  "type": "object",
  "properties": {
    "archived": {
      "description": "true = only archived tickets, false = no archived tickets (default), any = both.",
      "type": "string",
      "enum": [
        "true",
        "false",
        "any"
      ]
    },
    "spam": {
      "description": "Include tickets marked as spam (default false).",
      "type": "boolean"
    },
    "trash": {
      "description": "Include trashed tickets (default false).",
      "type": "boolean"
    },
    "has_replies": {
      "description": "true = only tickets that have replies, false = only tickets without replies.",
      "type": "boolean"
    },
    "max_replies": {
      "description": "Only tickets with this number of replies (not with has_replies=false).",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000
    },
    "assigned_user": {
      "description": "me = assigned to the token's user, an agent id (from supportbee_list_users), any = assigned to someone, none = unassigned.",
      "type": "string",
      "pattern": "^(me|any|none|\\d{1,12})$"
    },
    "assigned_team": {
      "description": "mine = assigned to the user's teams, a team id (from supportbee_list_teams), none = no team.",
      "type": "string",
      "pattern": "^(mine|none|\\d{1,12})$"
    },
    "label": {
      "description": "Only tickets with this label name (supportbee_list_labels).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "since": {
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})?)?|\\d{9,11})$",
      "description": "Only tickets with last activity after this time (date, ISO date-time or Unix timestamp)."
    },
    "until": {
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})?)?|\\d{9,11})$",
      "description": "Only tickets with last activity before this time (date, ISO date-time or Unix timestamp)."
    },
    "sort_by": {
      "description": "Sort order (default last_activity).",
      "type": "string",
      "enum": [
        "last_activity",
        "creation_time"
      ]
    },
    "requester_emails": {
      "description": "Only tickets from these requester e-mail addresses (max 10).",
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 254,
        "format": "email",
        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "total_only": {
      "description": "Return only the total number of matching tickets.",
      "type": "boolean"
    },
    "per_page": {
      "description": "Tickets per page, 1-99 (default 15).",
      "type": "integer",
      "minimum": 1,
      "maximum": 99
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_search_tickets(query, spam, trash, per_page, page)

Full-text search over tickets (subject, body, requester) with SupportBee's search syntax, newest activity first. Spam and trash are excluded unless asked. GET /tickets/search.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "The search keywords or query."
    },
    "spam": {
      "description": "Include tickets marked as spam (default false).",
      "type": "boolean"
    },
    "trash": {
      "description": "Include trashed tickets (default false).",
      "type": "boolean"
    },
    "per_page": {
      "description": "Tickets per page, 1-99 (default 15).",
      "type": "integer",
      "minimum": 1,
      "maximum": 99
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_get_ticket(ticket_id)

One ticket with subject, requester, labels, assignees, state and the first message text. Replies and comments are separate calls. GET /tickets/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_replies(ticket_id)

The public replies (the conversation with the customer) of a ticket, oldest first, as text. GET /tickets/{id}/replies.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_get_reply(ticket_id, reply_id)

One reply of a ticket (text, replier, cc/bcc). GET /tickets/{ticket_id}/replies/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "reply_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The reply id (from supportbee_list_replies)."
    }
  },
  "required": [
    "ticket_id",
    "reply_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_comments(ticket_id)

The internal comments (visible to agents only, never e-mailed) of a ticket, oldest first, as text. GET /tickets/{id}/comments.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_get_ticket_audit(ticket_id)

What happened to a ticket and who did it (assignments, label changes, replies, archiving) with timestamps. GET /tickets/{id}/audit.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_labels

All custom labels of the company (name and color). Use a label name with supportbee_add_label or the label filter. GET /labels.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_teams(with_users, mine_only)

The teams of the company (id, name), optionally only those that have users in them, or only the token user's teams. GET /teams.

輸入結構描述

{
  "type": "object",
  "properties": {
    "with_users": {
      "description": "Only teams that have users in them (SupportBee's with_users filter; it does not add the member list).",
      "type": "boolean"
    },
    "mine_only": {
      "description": "Only the teams of the user who owns the token.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_users(type, with_roles, with_invited)

The agents, admins and collaborators of the desk (id, name, e-mail, role, teams), or customer groups. Use the id as assigned_user or user_id. GET /users.

輸入結構描述

{
  "type": "object",
  "properties": {
    "type": {
      "description": "user (default) or customer_group.",
      "type": "string",
      "enum": [
        "user",
        "customer_group"
      ]
    },
    "with_roles": {
      "description": "Roles to include (default admin, agent, collaborator).",
      "minItems": 1,
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "admin",
          "agent",
          "collaborator",
          "customer"
        ]
      }
    },
    "with_invited": {
      "description": "Include users who were invited but have not joined yet (default false).",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_get_user(user_id, max_tickets)

One user or customer with role, teams, ticket counts and a few of their recent tickets. GET /users/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The user id (from supportbee_list_users)."
    },
    "max_tickets": {
      "description": "How many of the user's tickets to include (default 5).",
      "type": "integer",
      "minimum": 0,
      "maximum": 50
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_snippets

The canned replies (snippets) of the company: name, tags and text, to reuse in a reply. GET /snippets.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_list_forwarding_addresses

The support e-mail addresses (forwarding addresses) of the desk: id, name, the address tickets arrive at and the from address. GET /emails.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢supportbee_get_report(report, user, team, label, since)

A report as time-series data points (value, timestamp): tickets_count, replies_count or avg_first_response_time, optionally for one agent, team or label. Needs an admin token. GET /reports/{report}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "report": {
      "type": "string",
      "enum": [
        "tickets_count",
        "replies_count",
        "avg_first_response_time"
      ],
      "description": "Which report."
    },
    "user": {
      "description": "Only this agent (user id).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "team": {
      "description": "Only this team (team id).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "label": {
      "description": "Only this label (name).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "since": {
      "type": "string",
      "pattern": "^(\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:?\\d{2})?)?|\\d{9,11})$",
      "description": "Start of the period (date, ISO date-time or Unix timestamp)."
    }
  },
  "required": [
    "report"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴supportbee_reply_to_ticket(ticket_id, text, cc, bcc)

WRITE: SENDS AN E-MAIL to the customer. Posts a public reply on ONE ticket; SupportBee e-mails it to the ticket's requester and to the cc/bcc addresses you list (at most 10 addresses in total). It cannot be recalled. The reply comes from the token's user. For a note only your team sees, use supportbee_add_comment. POST /tickets/{id}/replies.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "The reply text (plain text; blank lines separate paragraphs)."
    },
    "cc": {
      "description": "Extra recipients in cc (cc + bcc together at most 10).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 254,
        "format": "email",
        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "bcc": {
      "description": "Extra recipients in bcc (cc + bcc together at most 10).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 254,
        "format": "email",
        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    }
  },
  "required": [
    "ticket_id",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴supportbee_add_comment(ticket_id, text)

WRITE: adds an internal comment to a ticket. Comments are visible to your agents only and are never e-mailed to the customer. POST /tickets/{id}/comments.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "The comment text (plain text; blank lines separate paragraphs)."
    }
  },
  "required": [
    "ticket_id",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡supportbee_add_label(ticket_id, label)

WRITE: adds an existing label to a ticket (404 if the label does not exist; names come from supportbee_list_labels). Safe to repeat. POST /tickets/{id}/labels/{label}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The label name, exactly as in supportbee_list_labels."
    }
  },
  "required": [
    "ticket_id",
    "label"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴supportbee_remove_label(ticket_id, label)

WRITE: removes a label from a ticket (the label itself stays; 404 if the ticket does not have it). DELETE /tickets/{id}/labels/{label}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The label name."
    }
  },
  "required": [
    "ticket_id",
    "label"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡supportbee_assign_ticket(ticket_id, user_id, team_id)

WRITE: assigns a ticket to ONE agent (user_id) or ONE team (team_id), not both. A ticket that belongs to a team can only go to a member of that team; assigning to another team removes the user assignee. The customer is not e-mailed (SupportBee may notify the assigned agent). POST /tickets/{id}/user_assignment or /team_assignment.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "user_id": {
      "description": "The agent id (supportbee_list_users).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "team_id": {
      "description": "The team id (supportbee_list_teams).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴supportbee_unassign_ticket(ticket_id, assignee)

WRITE: clears the user assignee or the team assignee of a ticket. DELETE /tickets/{id}/user_assignment or /team_assignment.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "assignee": {
      "type": "string",
      "enum": [
        "user",
        "team"
      ],
      "description": "Which assignment to clear."
    }
  },
  "required": [
    "ticket_id",
    "assignee"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡supportbee_set_ticket_archived(ticket_id, archived)

WRITE: archives a ticket (archived=true, it leaves the open inbox) or moves it back (archived=false). Nothing is deleted or sent. POST/DELETE /tickets/{id}/archive.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "archived": {
      "type": "boolean",
      "description": "true = archive, false = move back to the inbox."
    }
  },
  "required": [
    "ticket_id",
    "archived"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡supportbee_set_ticket_answered(ticket_id, answered)

WRITE: marks a ticket as answered (answered=true) or unanswered (answered=false) without sending anything. POST/DELETE /tickets/{id}/answered.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The SupportBee ticket id (the number in the ticket URL; from supportbee_list_tickets)."
    },
    "answered": {
      "type": "boolean",
      "description": "true = mark answered, false = mark unanswered."
    }
  },
  "required": [
    "ticket_id",
    "answered"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本22 個工具