Skip to main content
Glama
smtchahal

nobrokerhood-mcp

by smtchahal

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pre_approve

Pre-approve a delivery or visitor at the society gate via NoBrokerHood.

Use this whenever the user wants to let a delivery in: "pre-approve zepto", "let the dominos guy in for 4 hours", "approve amazon till midnight". "Pre-approve for the day" means until midnight (23:59) of the current day.

Call get_user_multiprofile_info first to obtain the apartment_id if not already known; skip if the user explicitly provided it.

Args: company: Brand name, e.g. "Zepto", "Blinkit", "Dominos", "Amazon". Case/space/hyphen insensitive. ~100 brands have built-in defaults; see the known_companies tool for the full list. Unknown brands default to a 1-hour window. apartment_id: The apartment ID to pre-approve the visit for. Fetch from get_user_multiprofile_info → data.apartments.apartment.id. duration_hours: Override the per-company default window length (in hours). Ignored when out_time is provided. in_time: ISO-8601 start time (e.g. "2026-04-11T14:30"). IST assumed. Defaults to now. out_time: ISO-8601 end time (e.g. "2026-04-11T23:59"). IST assumed. Takes precedence over duration_hours (precedence: out_time > duration_hours > company default). Use this for "pre-approve for the day" by computing today's 23:59 in ISO-8601. vehicle_type: FOUR_WHEELER (default) or TWO_WHEELER. visitor_name: Usually blank for deliveries. visitor_phone: Usually blank for deliveries. fields: Dot-notation paths to filter the response. Omit to return everything.

Returns the raw API response dict. On success, the visit ID is a string at response["data"][0] (data is a list; element 0 is the visit ID).

cancel_visitA

Cancel a previously pre-approved visit by its visit ID.

Use this when the user wants to cancel a delivery approval they no longer need. The visit_id is at response["data"][0] from the pre_approve call.

Call get_user_multiprofile_info first to obtain the apartment_id if not already known; skip if the user explicitly provided it.

Args: visit_id: The visit ID string returned when the visit was created. apartment_id: The apartment ID the visit belongs to. Fetch from get_user_multiprofile_info → data.apartments.apartment.id. fields: Dot-notation paths to filter the response. Omit to return everything.

Returns the raw API response dict on success.

list_expectedA

List pre-approved deliveries that are currently pending arrival.

These are the user's active pre-approvals at their apartment.

Use this when the user asks about pre-approved deliveries that haven't arrived yet: "what have I pre-approved?", "show my pending deliveries", "what deliveries am I expecting?", "did I approve anything?", "list my approvals". Do NOT use for historical/past gate activity — use list_visits for that.

Call get_user_multiprofile_info first to obtain the apartment_id if not already known; skip if the user explicitly provided it.

Args: apartment_id: The apartment ID to list visits for. Fetch from get_user_multiprofile_info → data.apartments.apartment.id. page: Page number, 1-indexed. Default 1. page_size: Number of results per page. Default 5. sort_order: "asc" (soonest first, default) or "desc" (latest first). fields: Dot-notation paths to filter the response. Omit to return everything.

Returns the raw API response dict containing a list of pre-approved visits awaiting arrival, each with a visit ID, company name, and time window.

list_visitsA

List current, past (expired), and denied visits for an apartment.

Use this when the user asks about gate activity (current, historical, or denied): "who's at the gate?", "who came today?", "show past visitors", "any denied entries?", "who visited recently?", "what deliveries came in?", "what deliveries are coming today?". Do NOT use for pending pre-approvals that haven't arrived — use list_expected for that.

Returns all categories in one call. Each category is a separate list:

  • data.current: visitors presently at the gate (checked in, not yet out)

  • data.expired: completed past visits (checked in and checked out)

  • data.denied: entry attempts that were denied at the gate

  • data.pending: pre-approved visits not yet arrived (overlaps with list_expected)

Each visit entry includes: company, visitor name/phone, inTime, outTime, gate name, approvedBy, approvalType, visitorType, and approval status. Company is at the top-level company field and also at visitorProfile.company.

Call get_user_multiprofile_info first to obtain the apartment_id if not already known. Skip if the user explicitly provided it.

Args: apartment_id: The apartment ID to list visits for. Fetch from get_user_multiprofile_info → data.apartments.apartment.id. page: Page number, 1-indexed. Default 1. Applies to all lists. page_size: Number of results per page. Default 10. fields: Dot-notation paths to filter the response. Strongly recommended — omitting returns all four categories with full visitor data, which is large. Use fields to fetch only what the query needs: ["data.current"] → who's at the gate right now ["data.expired"] → today's completed visits ["data.current", "data.expired"] → active + past visits ["data.expired.company", "data.expired.inTime"] → company + entry time ["data.currentTotal", "data.expiredTotal", "data.deniedTotal"] → counts only Omit only if the user explicitly wants everything.

Returns the raw API response dict.

get_user_multiprofile_infoA

Fetch the authenticated user's multiprofile information.

Use this when the user asks about their profile, apartments, family members, society details, or pass codes: "what apartments do I have?", "show my profile", "who are my family members?", "what's my pass code?", "which societies am I in?".

Also use this FIRST whenever another tool needs an apartment_id — unless the user explicitly provided the apartment_id, in which case use it directly. Call with fields=["data.apartments.apartment.id", "data.apartments.apartment.name", "data.apartments.apartment.displayName", "data.apartments.apartment.buildingName"] to identify the right apartment before proceeding. If exactly one apartment is returned, use its ID immediately without asking the user to confirm. If multiple apartments are returned, match the user's input against all of: name (full apartment name), displayName (short label), and buildingName (tower/block name) — the user may refer to any of these.

Args: fields: Dot-notation paths to include in the response. Always specify fields to avoid fetching the full profile (which includes family, notification settings, and other data rarely needed). Omit only if the user explicitly asks for their complete profile information. Examples: - ["data.apartments.apartment.id", "data.apartments.apartment.name", "data.apartments.apartment.displayName", "data.apartments.apartment.buildingName"] → compact apartment list for matching and obtaining an apartment_id - ["data.user.person.name", "data.user.person.phone"] → just the primary user's contact info - ["data.passCodes"] → just the pass codes map

Returns the raw API response dict containing:

  • user: primary user details (name, email, phone, photo)

  • family: list of family members registered under the account

  • apartments: all apartments the user has access to, each with apartment details, area/block info, society info, ownership type (OWNER/TENANT), and residency tag

  • passCodes: map of apartmentId → entry pass code

  • notifcationSettings: all notification toggle states

  • hasMultipleProfile: whether the user has profiles across multiple apartments

known_companies

Return the list of delivery brands with built-in default approval windows.

Use this when the user asks "what companies do you know?", "which brands are supported?", or before calling pre_approve with an unfamiliar name.

Returns a dict with a "companies" key containing a sorted list of brand names.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smtchahal/nobrokerhood-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server