BuzzMeBro
Set up an apartment buzzer number that rings every roommate’s phone. Canada.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"buzzmebro": {
"url": "https://buzzmebro.com/api/mcp"
}
}
}Puntos de conexión remotos
https://buzzmebro.com/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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
}Comunidad
Evidencia