Skip to main content
Glama
Beli MCP Server

Beli MCP Server

by horse-3903

Beli MCP Server

Unofficial Beli MCP server: let Claude and other AI assistants search restaurants, manage bookmarks and read guides on your Beli account.

Python MCP License Last Commit


Overview

beli-mcp is a Model Context Protocol server for the Beli restaurant ranking app. It wraps the unofficial Beli API documented in beli-api-spec, so an AI assistant can search restaurants, bookmark places and read your guides. It signs in with your own Beli account and spaces requests to stay under Beli's rate limit.


Related MCP server: 402 MCP Restaurant Finder

Features

  • Search - find restaurants in a city and get their Beli business ids

  • Bookmarks - list bookmarks, check a place and add new ones

  • Guides - list your guides and read their places

  • Referral link - fetch your referral link

  • Read-only escape hatch - beli_get calls any GET endpoint from the spec

  • Rate limit aware - requests are spaced about 3 seconds apart

Tools: whoami, search_restaurants, get_bookmarks, add_bookmark, bookmark_status, list_my_guides, get_my_guide_items, get_guide, referral_link, beli_get. add_bookmark is the only tool that writes.


Tech Stack

Python MCP HTTPX


Getting Started

Prerequisites

  • Python 3.10+

  • A Beli account with an email and password login

Installation

git clone https://github.com/horse-3903/beli-mcp
cd beli-mcp
pip install .

Run locally

BELI_EMAIL=you@example.com BELI_PASSWORD=your-password beli-mcp

Add to Claude Desktop or Claude Code

{
  "mcpServers": {
    "beli": {
      "command": "beli-mcp",
      "env": { "BELI_EMAIL": "you@example.com", "BELI_PASSWORD": "your-password" }
    }
  }
}

Project Structure

beli-mcp/
├── beli_mcp/
│   ├── __init__.py
│   └── server.py        # MCP tools and Beli API client
├── pyproject.toml
├── AGENTS.md            # instructions for AI coding agents
└── README.md

Environment Variables

Variable

Default

Description

BELI_EMAIL

none

Beli account email

BELI_PASSWORD

none

Beli account password

BELI_REFRESH_TOKEN

none

Optional refresh token, used instead of the password while valid (7 days)


FAQ

Is there an official Beli MCP server? No. This one is unofficial and uses the reverse engineered Beli API.

Does it work with Claude? Yes, with any MCP client such as Claude Desktop, Claude Code or Cursor.


Disclaimer

Unofficial and not affiliated with Beli. Use at your own risk. Calling the API outside the official app may violate Beli's terms and can lead to rate limiting, a suspended or banned account, or loss of data. The authors accept no responsibility for any consequences to your account. Use only your own account, and never share your credentials or tokens.

Available Tools

10 tools
add_bookmarkB

Bookmark a restaurant by its Beli business id. Idempotent. This writes to the user's account.

Inputs: business_id (required).

beli_getA

Read-only escape hatch: GET any /api/ path from the Beli spec (see beli-api-spec). Use {user} in the path for your user id.

Inputs: path (required), params.

bookmark_statusC

Check whether a restaurant is bookmarked.

Inputs: business_id (required).

get_bookmarksC

List the signed-in user's bookmarks. Category RES is restaurants.

Inputs: category.

get_guideB

Read one guide in full by id.

Inputs: guide_id (required).

get_my_guide_itemsA

List the places in all of the signed-in user's guides (each item names its guide id).

Inputs: no named parameters.

list_my_guidesA

List the signed-in user's Beli guides with titles, audience and place counts.

Inputs: no named parameters.

search_restaurantsA

Search Beli for restaurants. Returns candidates with a business id and address. Check the address, since top hits can be in the wrong city.

Inputs: term (required), city.

whoamiA

Return the signed-in Beli user (id, username, name).

Inputs: no named parameters.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools target distinct resources (guides vs restaurants vs bookmarks vs user), and bookmark_status vs get_bookmarks are separated by singular-check vs list-all intent. Minor overlap between list_my_guides/get_my_guide_items/get_guide and the beli_get catch-all creates some selection ambiguity, but descriptions differentiate them adequately.

    Naming Consistency3/5

    A mix of conventions: verb-prefixed actions (list_my_guides, get_guide, search_restaurants, add_bookmark, get_bookmarks) coexist with noun-only tools (bookmark_status, referral_link), the special whoami, and the server-prefixed beli_get. Readable but not a predictable pattern.

    Tool Count5/5

    10 tools is well-scoped for a domain-specific integration covering users, guides, restaurants, bookmarks, and referrals. Each tool has a clear place without obvious padding.

    Completeness3/5

    The surface is read-heavy: it adds bookmarks but offers no remove_bookmark, no guide creation/editing, and no rating/ranking tool despite Beli's core function being restaurant ratings. The beli_get escape hatch mitigates gaps, but common lifecycle operations remain missing.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers