BuzzMeBro
Set up an apartment buzzer number that rings every roommate’s phone. Canada.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"buzzmebro": {
"url": "https://buzzmebro.com/api/mcp"
}
}
}远程端点
https://buzzmebro.com/api/mcpstreamable-http它能做什么
工具清单
工具(17)
🟢check_building(postal_code)
Checks whether BuzzMeBro can give this building a local buzzer number, and returns the price, the free-trial terms and how the service works. Call this first. Stores nothing and costs nothing.
输入模式
{
"type": "object",
"properties": {
"postal_code": {
"type": "string",
"description": "The apartment building’s postal code, e.g. \"M4B 1B3\". Canadian postal codes only for now.",
"minLength": 3,
"maxLength": 12
}
},
"required": [
"postal_code"
],
"additionalProperties": false
}🟡create_setup(postal_code, unit, mobile_phone, referral_code, agent_name)
Creates a BuzzMeBro setup for the person and returns setup_id and a status_token you must keep for every later call (plus setup_url, a fallback link if you cannot relay a texted code). Only call it after check_building said available and the person has asked you to set it up. No text message is sent and nothing is charged by this call. Next: send_phone_code.
输入模式
{
"type": "object",
"properties": {
"postal_code": {
"type": "string",
"description": "The apartment building’s postal code, e.g. \"M4B 1B3\". Canadian postal codes only for now.",
"minLength": 3,
"maxLength": 12
},
"unit": {
"type": "string",
"description": "Their apartment or unit number as the lobby panel lists it, e.g. \"1502\", \"B\" or \"PH3\".",
"minLength": 1,
"maxLength": 32
},
"mobile_phone": {
"type": "string",
"description": "The person’s own mobile number. It becomes the first phone the buzzer rings and how they sign in; we text it a code when they open the link.",
"minLength": 7,
"maxLength": 32
},
"referral_code": {
"type": "string",
"description": "Optional BuzzMeBro referral code from a friend.",
"maxLength": 20
},
"agent_name": {
"type": "string",
"description": "Optional: your name as the person knows you (e.g. \"ChatGPT\", \"Claude\"), shown on their link page.",
"maxLength": 64
}
},
"required": [
"postal_code",
"unit",
"mobile_phone"
],
"additionalProperties": false
}🟡send_phone_code(setup_id, status_token)
Texts a 6-digit code to the mobile number given in create_setup (never to any other number). Tell the person a text is coming and ask them to read the code to you, then call confirm_phone_code. Call again only if it has not arrived after a minute; each setup gets 3 codes.
输入模式
{
"type": "object",
"properties": {
"setup_id": {
"type": "string",
"description": "setup_id from create_setup.",
"format": "uuid"
},
"status_token": {
"type": "string",
"description": "status_token from create_setup. Keep it private."
}
},
"required": [
"setup_id",
"status_token"
],
"additionalProperties": false
}🟢confirm_phone_code(setup_id, status_token, code)
Checks the code the person read back to you. This proves the phone is theirs, which matters because that phone will open their front door. Five tries per setup. Next: start_checkout.
输入模式
{
"type": "object",
"properties": {
"setup_id": {
"type": "string",
"description": "setup_id from create_setup.",
"format": "uuid"
},
"status_token": {
"type": "string",
"description": "status_token from create_setup. Keep it private."
},
"code": {
"type": "string",
"description": "The digits from the BuzzMeBro text, e.g. \"482913\"."
}
},
"required": [
"setup_id",
"status_token",
"code"
],
"additionalProperties": false
}⚪start_checkout(setup_id, status_token)
After confirm_phone_code: creates the person’s BuzzMeBro account and apartment and returns payment_url, Stripe’s own secure page where the person approves a card, Apple Pay, Google Pay or Link (with the free month when it applies, nothing is charged until it ends). Give them the link or message_for_the_person; you never see or type card details. Calling it again returns a fresh link for the same apartment.
输入模式
{
"type": "object",
"properties": {
"setup_id": {
"type": "string",
"description": "setup_id from create_setup.",
"format": "uuid"
},
"status_token": {
"type": "string",
"description": "status_token from create_setup. Keep it private."
}
},
"required": [
"setup_id",
"status_token"
],
"additionalProperties": false
}🟡get_setup_status(setup_id, status_token)
Reads how far the setup has got and says what to do next. Once the person has paid, this call gets their number; when status is "ready" it returns their new BuzzMeBro number and swap_the_buzzer: the steps to get the building to point the buzzer at that number, and ready-to-send messages for building management, the landlord, the concierge, the superintendent or a building portal.
输入模式
{
"type": "object",
"properties": {
"setup_id": {
"type": "string",
"description": "setup_id from create_setup.",
"format": "uuid"
},
"status_token": {
"type": "string",
"description": "status_token from create_setup. Keep it private."
}
},
"required": [
"setup_id",
"status_token"
],
"additionalProperties": false
}🟢partner_program_info
Returns how the partner program works: the 50% share of collected revenue, what counts and what does not, when and how payouts happen, the rules, and the steps to join. Call it first and explain it to the person before applying. Stores nothing.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡partner_apply(name, mobile_phone, email, persona, building, ...)
Starts a partner application with the person’s details and returns application_id and application_token. Only call it when the person has asked to join. No text is sent by this call. Next: partner_send_code.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The person’s name."
},
"mobile_phone": {
"type": "string",
"minLength": 7,
"maxLength": 32,
"description": "The person’s own Canadian mobile number. We text it a code."
},
"email": {
"type": "string",
"maxLength": 254,
"description": "The person’s email."
},
"persona": {
"type": "string",
"enum": [
"front_desk",
"property_manager",
"condo_board",
"leasing_agent",
"mover",
"student_housing",
"creator",
"other"
],
"description": "How they meet renters."
},
"building": {
"type": "string",
"maxLength": 120,
"description": "Optional: the building or company they work with."
},
"employer_ok": {
"type": "boolean",
"description": "If they work for a building or concierge company: has their employer allowed it?"
}
},
"required": [
"name",
"mobile_phone",
"email",
"persona"
],
"additionalProperties": false
}🟡partner_send_code(application_id, application_token)
Texts a 6-digit code to the mobile number in the application (never any other number). Ask the person to read it to you, then call partner_confirm_code. Each application gets 3 codes, at least a minute apart.
输入模式
{
"type": "object",
"properties": {
"application_id": {
"type": "string",
"format": "uuid",
"description": "application_id from partner_apply."
},
"application_token": {
"type": "string",
"description": "application_token from partner_apply. Keep it private; it collects the partner key once."
}
},
"required": [
"application_id",
"application_token"
],
"additionalProperties": false
}⚪partner_confirm_code(application_id, application_token, code)
Checks the texted code. Five tries per application. Next: partner_terms_link.
输入模式
{
"type": "object",
"properties": {
"application_id": {
"type": "string",
"format": "uuid",
"description": "application_id from partner_apply."
},
"application_token": {
"type": "string",
"description": "application_token from partner_apply. Keep it private; it collects the partner key once."
},
"code": {
"type": "string",
"description": "The digits from the text."
}
},
"required": [
"application_id",
"application_token",
"code"
],
"additionalProperties": false
}🟢partner_terms_link(application_id, application_token)
Returns a one-time link to the partner terms. Give it to the person: they read the terms and press Accept themselves. You cannot accept for them. When they say it is done, call partner_claim_key.
输入模式
{
"type": "object",
"properties": {
"application_id": {
"type": "string",
"format": "uuid",
"description": "application_id from partner_apply."
},
"application_token": {
"type": "string",
"description": "application_token from partner_apply. Keep it private; it collects the partner key once."
}
},
"required": [
"application_id",
"application_token"
],
"additionalProperties": false
}🟢partner_claim_key(application_id, application_token)
After the person accepted the terms: returns their partner link, code and partner key. The key is shown once; keep it private and use it for the partner_get_* tools. The application token stops working after this call.
输入模式
{
"type": "object",
"properties": {
"application_id": {
"type": "string",
"format": "uuid",
"description": "application_id from partner_apply."
},
"application_token": {
"type": "string",
"description": "application_token from partner_apply. Keep it private; it collects the partner key once."
}
},
"required": [
"application_id",
"application_token"
],
"additionalProperties": false
}🟢partner_get_links(partner_key)
Returns the partner’s share link, typed code, a QR code (SVG) and their dashboard address.
输入模式
{
"type": "object",
"properties": {
"partner_key": {
"type": "string",
"description": "The partner key from partner_claim_key. On REST send it as \"Authorization: Bearer <key>\" instead."
}
},
"additionalProperties": false
}🟢partner_get_kit(partner_key)
Returns ready texts, a resident email, desk card and move-in insert wording with the partner’s link, plus the house rules for sharing (honest words only, no pressure, never ask residents for phone numbers or door codes).
输入模式
{
"type": "object",
"properties": {
"partner_key": {
"type": "string",
"description": "The partner key from partner_claim_key. On REST send it as \"Authorization: Bearer <key>\" instead."
}
},
"additionalProperties": false
}🟢partner_get_stats(partner_key)
Returns status, visits, signups, free months, paying apartments, collected revenue, earnings by state (on hold, ready, paid, reversed), the share ledger (apartments as codes only, never names or addresses) and payout history. Quote only these numbers.
输入模式
{
"type": "object",
"properties": {
"partner_key": {
"type": "string",
"description": "The partner key from partner_claim_key. On REST send it as \"Authorization: Bearer <key>\" instead."
}
},
"additionalProperties": false
}🟡partner_payout_link(partner_key)
Returns a one-time link to a BuzzMeBro page that sends the person to Stripe’s own secure page, where THEY confirm their identity and add their bank. You never see or type bank details. Payouts start once they have at least $25 ready.
输入模式
{
"type": "object",
"properties": {
"partner_key": {
"type": "string",
"description": "The partner key from partner_claim_key. On REST send it as \"Authorization: Bearer <key>\" instead."
}
},
"additionalProperties": false
}🔴partner_rotate_key(partner_key)
Revokes the current partner key and returns a new one (shown once). Use it if the key may have leaked.
输入模式
{
"type": "object",
"properties": {
"partner_key": {
"type": "string",
"description": "The partner key from partner_claim_key. On REST send it as \"Authorization: Bearer <key>\" instead."
}
},
"additionalProperties": false
}社区
证据