Skip to main content
Glama
belong-mcp

belong-mcp

by arjun1194

Belong MCP Server

An MCP (Model Context Protocol) server that exposes the Belong Resident Application APIs as tools. This lets AI assistants like Claude interact with your Belong society account -- manage visitors, vehicles, maintenance issues, amenity bookings, finances, and more.

Prerequisites

Related MCP server: vitals

Setup

  1. Clone the repo

    git clone https://github.com/arjunbhasin/belong-mcp.git
    cd belong-mcp
  2. Install dependencies

    npm install
  3. Create a .env file (optional -- you can authenticate via OTP through the MCP tools instead)

    cp .env.example .env

    If you already have tokens, populate them:

    ACCESS_TOKEN=your_access_token
    REFRESH_TOKEN=your_refresh_token
    MOBILE_NUMBER=your_mobile_number

Running the Server

The server communicates over stdio, which is how MCP clients (like Claude Code or Claude Desktop) connect to it.

node index.js

Or using the npm script:

npm start

Connecting to Claude Code

Add to your Claude Code MCP config (~/.claude/claude_code_config.json or project-level .mcp.json):

{
  "mcpServers": {
    "belong-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/belong-mcp/index.js"]
    }
  }
}

Connecting to Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "belong-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/belong-mcp/index.js"]
    }
  }
}

Authentication

There are two ways to authenticate:

Once the server is connected, use the built-in authentication tools:

  1. Call request_otp with your mobile number

  2. Call verify_otp with the OTP you received

  3. Tokens are saved to .env automatically

Option 2: Manual .env file

If you have tokens from another session, add them to the .env file directly (see Setup step 3).

The server automatically refreshes expired access tokens using the refresh token.

Available Tools

Authentication

Tool

Description

request_otp

Send OTP to mobile number

verify_otp

Verify OTP to complete login

check_auth_status

Check current auth state

Profile & Flats

Tool

Description

get_resident_profile

Get your profile (name, mobile, email)

get_flat_access

Get flat feature flags and access details

get_occupancy_detail

Get tower/wing/floor info for a flat

list_flats

List all your associated flats

list_flats_by_occupancy

Filter flats by occupancy ID

get_flats_by_resident_ids

Look up flats for specific residents

Visitors & Gate

Tool

Description

get_visitor_approvals

List gate entries for a date

get_approvals_count

Monthly visitor approval count

get_exit_passes

Material movement exit passes

get_entry_stats

Visitor entry statistics

list_visitor_companies

Delivery companies by category

Staff & Services

Tool

Description

list_service_staffs

Registered staff (maid, cook, etc.)

list_service_staff_bookings

Staff booking schedules

list_service_types

Available service types

Vehicles

Tool

Description

list_resident_vehicles

Vehicles registered to a flat

search_vehicles

Search by registration number

list_vehicle_brands

Available vehicle brands

Maintenance Issues

Tool

Description

list_maintenance_issues

Your complaints and issues

list_issue_categories

Available issue categories

get_issue_stats

Issue statistics

Amenities

Tool

Description

list_booked_slots

Amenity bookings (gym, pool, etc.)

get_booking_stats

Booking statistics

Community

Tool

Description

get_announcements

Community announcements

list_community_feeds

Community feed posts

get_banners

Promotional banners

list_campaigns

Active campaigns

list_rwa_members

RWA committee members

Buggy Service

Tool

Description

list_buggy_stops

Golf cart pickup/drop stops

get_buggy_activity

Buggy ride history

Chat

Tool

Description

list_chat_enabled_residents

Residents available for chat

list_chat_wings

Wings available for chat

list_chat_flat_residents

Residents on a floor

Infrastructure

Tool

Description

get_towers

Buildings in a project

get_module_access

Enabled modules/features

list_external_services

Integrated services (laundry, food)

list_languages

Available languages

Finance & Billing

Tool

Description

get_financial_ledger

Transaction history for a date range

get_invoice_stats

Unpaid amounts, interest, balance

list_demandnote_requests

Payment demands from management

get_payment_config

Payment method configuration

Notifications & Delivery

Tool

Description

get_notifications_count

Unread notification count

get_delivery_preferences

Auto-approve delivery settings

License

ISC

Available Tools

45 tools
check_auth_statusA

Check if the user is currently authenticated. Returns auth state and mobile number if available.

Inputs: no named parameters.

get_announcementsB

List community announcements for a flat

Inputs: flat_id (required), page, items.

get_approvals_countA

Get the count of visitor approvals for a flat in a given month

Inputs: year (required), month (required), flat_id (required).

get_bannersA

Get promotional banners displayed for a flat

Inputs: flat_id (required), page, items.

get_booking_statsA

Get amenity booking statistics (booked, completed, waitlisted counts)

Inputs: range_type.

get_buggy_activityA

Get buggy ride activity/history for a flat

Inputs: flat_id (required), page, items.

get_delivery_preferencesA

Get delivery preferences (auto-approve deliveries setting)

Inputs: no named parameters.

get_entry_statsB

Get visitor entry statistics (approved, completed, request_approved counts)

Inputs: range_type.

get_exit_passesA

List exit passes (material movement out of society) for a flat

Inputs: flat_id (required), page, items, status.

get_financial_ledgerB

Get financial transaction history (maintenance bills, payments) for a date range

Inputs: end_date (required), start_date (required), page, items.

get_flat_accessA

Get current flat access details: buggy service status, cometchat auth, electricity meter, feature flags, and more

Inputs: no named parameters.

get_flats_by_resident_idsC

Look up flats for specific resident IDs within a project

Inputs: resident_ids (required), requested_project_id (required).

get_invoice_statsA

Get invoice summary: total unpaid, payable amounts, interest, closing balance

Inputs: no named parameters.

get_issue_statsB

Get issue statistics (closed, in_progress counts)

Inputs: range_type.

get_module_accessA

Get which modules/features are enabled for the current project

Inputs: no named parameters.

get_notifications_countA

Get the count of unread notifications for a flat

Inputs: flat_id (required).

get_occupancy_detailA

Get detailed occupancy info for a flat: tower, wing, floor, project, flat number, occupancy type

Inputs: flat_occupancy_id (required).

get_payment_configA

Get available payment methods (UPI, card, netbanking, wallet) and their configuration

Inputs: no named parameters.

get_resident_profileA

Get the logged-in resident's profile: name, mobile, email, resident_id, default_flat_occupancy_id

Inputs: no named parameters.

get_towersA

List towers/buildings in a project

Inputs: project_id (required), page, items.

get_visitor_approvalsA

Get visitor/guest approval entries for a flat on a given date

Inputs: date (required), flat_id (required), page, items, +1 more.

list_booked_slotsB

List amenity bookings (gym, pool, clubhouse, etc.) for a flat

Inputs: flat_id (required), page, items, status.

list_buggy_stopsA

List buggy (golf cart) pickup/drop stops available for a flat

Inputs: flat_id (required), page, items.

list_campaignsB

List active campaigns/promotions

Inputs: page, items.

list_chat_enabled_residentsB

List residents available for chat in a project

Inputs: flat_id (required), requested_project_id (required), page, items.

list_chat_flat_residentsB

List residents on a specific floor for chat purposes

Inputs: floor_id (required), page, items.

list_chat_wingsB

List wings/sections available for chat in a tower

Inputs: tower_id (required), page, items.

list_community_feedsB

Get the community feed posts

Inputs: page, items.

list_demandnote_requestsB

List demand note requests (payment demands from management)

Inputs: page, items, status.

list_external_servicesA

List external services integrated with the project (laundry, food, etc.)

Inputs: page, items.

list_flatsA

List all flats associated with the current resident, with tower/wing/floor/project info

Inputs: page, items.

list_flats_by_occupancyA

List flats filtered by a specific flat_occupancy_id

Inputs: flat_occupancy_id (required), page, items.

list_issue_categoriesA

List available issue/complaint categories for a flat (plumbing, electrical, etc.)

Inputs: flat_id (required), page, items.

list_languagesB

List available languages for the app

Inputs: page, items.

list_maintenance_issuesB

List maintenance issues/complaints raised by the resident

Inputs: page, items, status, stats_type.

list_resident_vehiclesB

List vehicles registered to a flat

Inputs: flat_id (required), page, items, vehicle_type.

list_rwa_membersB

List RWA (Resident Welfare Association) committee members for a project

Inputs: requested_project_id (required), page, items.

list_service_staff_bookingsA

List service staff booking schedules for a flat

Inputs: flat_id (required), page, items.

list_service_staffsA

List service staff (maids, cooks, drivers, etc.) registered for a flat

Inputs: flat_id (required), page, sort, items.

list_service_typesC

List available service types (maid, cook, driver, etc.)

Inputs: page, items.

list_vehicle_brandsB

List all available vehicle brands

Inputs: page, items.

list_visitor_companiesB

List companies/brands under a visitor category (e.g. delivery services)

Inputs: visitor_category_id (required), page, items.

request_otpA

Send an OTP to a mobile number to start authentication. Call this first if not logged in.

Inputs: mobile_number (required).

search_vehiclesA

Search for vehicles by registration number across the society

Inputs: search (required), page, items.

verify_otpA

Verify the OTP received on mobile to complete login. Call after request_otp.

Inputs: otp (required), mobile_number (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 45 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, with clear descriptions for each. Some similar-sounding tools (e.g., list_flats vs list_flats_by_occupancy, get_announcements vs list_community_feeds) exist but are still separable by their parameters and purpose.

    Naming Consistency3/5

    All tool names use snake_case and mostly follow a verb_noun pattern, but there is a mix of verbs (get, list, search, check, request, verify) that isn't always predictable. For example, 'get_towers' returns a list while 'list_flats' is also a list, and 'search_vehicles' breaks the get/list convention.

    Tool Count2/5

    With 45 tools, the set is far too large and will be difficult for an agent to navigate efficiently. Even a broad domain like community management can be covered with fewer, more generalized endpoints.

    Completeness2/5

    The tool surface is heavily read-focused, covering retrieval of bookings, issues, vehicles, financials, etc., but lacks any create/update/delete operations (except OTP auth). There are no tools to book an amenity, raise a complaint, approve a visitor, or update a profile, leaving many common workflows incomplete.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      Bridges AI/LLM applications to Actual Budget, exposing budget data as MCP tools for account listing, transactions, and budget balances.
      4
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes the CINC Systems HOA management REST API as MCP tools, enabling natural language queries and actions for ACC requests, aged balances, vendor records, call logs, documents, and more.
      1
      MIT