Jabama

io.github.sepehr071v0.1.0更新於 Oct 5, 2026

Unofficial read-only Jabama: villas and stays with exact prices, group tours, events and theater.

概覽

AI 產生的概覽

非官方唯讀存取 Jabama 的住宿、團體旅遊、活動與劇院,並依指定日期與人數提供精確的每晚價格。

功能
把 Jabama 的公開端點包裝成 21 個唯讀工具。它能將波斯語地名與自由文字需求解析成搜尋篩選條件,依日期、人數與設施搜尋別墅、套房與生態旅宿,並回傳整段住宿的價格。它也能讀取每晚日曆、精確報價、住宿規則、設施、評論與房東房源,並搜尋團體旅遊、活動與劇院剩餘座位。
適用情境
適合在規劃伊朗旅遊時使用,讓助理依具體日期與入住人數比較住宿、團體旅遊或演出,並給出實際應付價格,而不是搜尋卡片上的單一價格。它為唯讀,用於查詢與比較,不能下單預訂。
執行需求
以 stdio 在本機執行,需要 uv(uvx jabama-mcp)或 pip install jabama-mcp。不需要帳號、登入或 API 金鑰。需要能連線 Jabama 的公開端點。可選環境變數 JABAMA_MCP_PROXY 用來設定 HTTP 代理;系統代理設定會被忽略。
安裝前請注意
非官方,與 Jabama 無關聯;依賴可能隨時變動的公開端點。唯讀:不登入、不預訂、不保留座位、不付款,報價不會產生訂單。報價不含 Jabama 下單時加收的 1.5% 稅費。JABAMA_MCP_PROXY 的網址中可能含有代理憑證。請求會送往 Jabama 的伺服器,請維持合理的請求頻率。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Jabama,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[jabama-mcp: let your AI agent price stays, tours and events on Jabama]

🏡 jabama-mcp

Let your AI agent plan the trip on Jabama.
Search villas, suites and eco-lodges with the exact price for your dates and guests, read rules and reviews,
and find group tours, events and theater seats, all from Claude, Cursor or Copilot.

[PyPI] [Python] [CI] [MCP Registry] [License: MIT]

[Install in Cursor] [Install in VS Code]

Quick start · What it can do · Tools · FAQ · فارسی


Why

On Jabama (jabama.com) a search card shows one price, but the real cost of a stay depends on the nights you pick (weekends and holidays are priced differently), how many guests come (every guest above the base count adds a nightly charge) and long-stay discounts. An agent with jabama-mcp reads the search, the nightly calendar and the site's own price quote, so the number it gives you is the number you pay:

You: A cheap eco-lodge near Ramsar for 4 people, 20 to 23 October?

Agent: calls jb_find_destination(query="رامسر") → jb_search_stays(keyword="city-ramsar", check_in="2026-10-20", check_out="2026-10-23", guests=4, types=["ecotourism"], sort="cheapest") → jb_price_quote(code=328353, check_in="2026-10-20", check_out="2026-10-23", guests=4)

NightTypeNight price2 extra guestsTotal
20 Octweekday600,000300,000900,000
21 Octweekend520,000300,000820,000
22 Octweekend520,000300,000820,000

نسا - افرا in Tonekabon: 2,540,000 Toman for 3 nights and 4 guests (or 4 parts of 635,000). The host must accept the booking first; cancelling up to 24 Mehr costs 10% of the first night and 10% of the rest.

Real tool output from 2026-10-04; prices change all the time. Prices are in Toman.

What it can do

  • 📍 Find a place: Persian city, area or landmark names (a beach, a mall, an airport) to search filters
  • 🗣️ Understand a request: free text like «ویلای استخردار در رامسر برای ۶ نفر» becomes filters, with Jabama's own AI parser
  • 🔎 Search stays by dates and guests with type, amenities, region, rooms, price, instant booking and rating filters
  • 🧾 Get the exact price for dates and guests, night by night, with discounts and the cancellation windows
  • 📅 See the calendar: free nights and nightly prices for the next ~76 days, with weekends and holidays
  • ⭐ Check quality: house rules, amenities (and what is missing), reviews, host reputation, similar stays
  • 🚌 Group tours (jabama.tours): search, departures with free seats and per-package prices, day plans
  • 🎭 Events and theater (jabama.events): what is on, sessions, seats left, free seats by row and price
  • 🔒 Read-only by design: no login, no booking, no seat holds, no payment

Quick start

You need uv.

Claude Code
bash
claude mcp add jabama -- uvx jabama-mcp
Claude Desktop

Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "jabama": { "command": "uvx", "args": ["jabama-mcp"] }  }}
Cursor

Click Install in Cursor above, or add the Claude Desktop block to ~/.cursor/mcp.json.

VS Code (Copilot agent mode)

Click Install in VS Code above, or add to .vscode/mcp.json:

json
{  "servers": {    "jabama": { "type": "stdio", "command": "uvx", "args": ["jabama-mcp"] }  }}
Anything else

It's a standard stdio MCP server: run uvx jabama-mcp, or pip install jabama-mcp and run jabama-mcp.

Then just ask:

  • "Cheapest villa with a pool in Ramsar for 6 people next weekend, and the exact total?"
  • "Which nights is this cottage free in November, and which are cheapest?"
  • "A one-day nature tour from Tehran this month, with free seats for 3."
  • "What's on in Tehran on Friday evening under 500,000 Toman? Show the free seats."
  • قوانین کنسلی جاباما چیست و چقدر از پول برمی‌گردد؟

How it works

text
  AI agent  (Claude, Cursor, Copilot, ...)      │      │  MCP over stdio      ▼  jabama-mcp  (runs on your machine)      │      │  HTTPS (JSON)      ├──────▶  gw.jabama.com, www.jabama.com   (stays, help, magazine)      ├──────▶  api.jabama.tours                 (group tours)      └──────▶  api.jabama.events, jabama.events (events, theater)

jabama-mcp runs locally and calls the same public endpoints the Jabama websites use. There's no hosted server in between, no API key, and nothing about you is sent anywhere else.

Tools

Listings are identified by their numeric code (328353, the number in jabama.com/stay/ecotourism-328353); tours by an 8-digit id, events and plays by the id in their page URL.

🔎 Stay search (4)
ToolWhat it does
jb_find_destinationPersian place name → ready search arguments (city, area, landmark, complex)
jb_parse_requestFree-text request → search arguments, using Jabama's AI parser
jb_search_staysSearch stays for dates and guests with filters, whole-stay prices, sorting
jb_categoriesThemed lists (special pool, luxury, cheap, jungle, pet friendly, last-minute, ...)
🏡 One stay (6)
ToolWhat it does
jb_stayCapacity, beds, rules, amenities and missing ones, cancellation policy, host, review scores
jb_stay_calendarFree nights and nightly prices with weekend and holiday flags (~76 days)
jb_price_quoteExact payable amount for dates and guests, night by night; unit options for complexes
jb_similar_staysSimilar stays nearby (priced for your dates) and other units of the same property
jb_reviewsGuest reviews, newest or best/worst first, with host replies
jb_hostA host's listings and reviews across all of them
ℹ️ Help and guides (2)
ToolWhat it does
jb_helpJabama's rules: cancellation, refunds, payment, tax (help center + support answers)
jb_travel_guideJabama magazine travel guides for a destination
🎭 Events and theater (6)
ToolWhat it does
jb_search_eventsEvents and experiences by city, category, date, price and rating
jb_eventOne event: details, address, rules, sessions with seats left, reviews, organizer
jb_event_seatsFree seats of a seated session by section and row, with section prices
jb_theatersTheater plays on sale: venue, from-price, rating, cast
jb_theaterOne play: showtimes with live seats left; free seats of a showtime
jb_event_filtersEvent cities and categories with counts
🚌 Group tours (3)
ToolWhat it does
jb_search_toursTours by place, dates, category, tags, duration, price, difficulty, rating
jb_tourOne tour: departures with free seats and package prices, day plan, inclusions, cancellation, reviews
jb_tour_placesPlace name → place id for the tour search

All 21 tools are annotated readOnlyHint: true and return compact structured JSON, so they don't flood the agent's context.

Good to know

  • Prices are in Toman everywhere (1 Toman = 10 Rial). The stays API answers in Rial; the server divides by 10. Tours are Toman per person, events and theater Toman per ticket (or per unit, e.g. one boat, when pricing is per_unit).
  • Stay prices are for the whole stay for the searched dates and guests (total_price); cheapest_night is the cheapest single night, not the average. Without dates a search prices one default night.
  • Count children as guests. The quote has no child price, so guests is everyone who stays.
  • Dates are Gregorian YYYY-MM-DD (1405-07-28 = 2026-10-20); times are Tehran local. Stays can be quoted for about the next 76 days.
  • jb_price_quote is the number to trust. It is the same read-only quote the listing page shows; it creates no booking. Quotes show no tax line; Jabama's help center says 1.5% tax is added when booking.
  • Instant vs request: instant_booking: false means the host must accept first. instant_only keeps only instant listings.
  • Tour seats: only jb_tour has correct free seats; tour lists count seats once per package.
  • Ratings are 0–5; null means not rated yet. Stay reviews carry only a Jalali month, not a date.

FAQ

Can it book a villa or buy a ticket for me?

No, and that's deliberate. It has no login and never calls booking, order, payment, seat-hold or wallet endpoints. jb_price_quote only asks for a price. The agent finds the best option; you book on the site.

A search with dates returns 0 results

Usually nothing is free for those dates with those filters, or the dates are past the ~76-day calendar. Try other dates or fewer filters. Dates must be Gregorian; the server rejects Jalali-looking dates instead of searching.

Do I need an Iranian IP?

No geo block was seen: direct calls and calls through a proxy in Turkey both worked (2026-10-04). Cloud servers were not tested; if Jabama blocks one, set JABAMA_MCP_PROXY.

I get "blocked the request (HTTP 403)"

Jabama's web firewall rejects requests that don't look like a browser; the server already sends a browser User-Agent. If it still happens, wait a minute, turn off a VPN, or set JABAMA_MCP_PROXY. Normal system proxy variables are ignored on purpose, because direct calls are the fastest.

The theater seat map says "not available right now"

The theater seat map comes live from Jabama's ticketing partner, which sometimes refuses for a while. The showtimes and seats_left still work; try the seat map again later or for another showtime.

Claude Desktop says uvx is not found

Use the full path to uvx (where uvx on Windows, which uvx on macOS/Linux) as command.

How do I debug what the agent sees?
bash
npx @modelcontextprotocol/inspector uvx jabama-mcp

Configuration

VariableDefaultMeaning
JABAMA_MCP_PROXYunsetHTTP proxy for every request, e.g. http://user:pass@host:port

فارسی

jabama-mcp به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه می‌دهد در جاباما ویلا، سوئیت و اقامتگاه بوم‌گردی پیدا کند، قیمت دقیق را برای تاریخ و تعداد نفرات شما بگیرد، قوانین و نظرات را بخواند و تورها، رویدادها و صندلی‌های خالی تئاتر را هم پیدا کند.

  • فقط خواندنی است: وارد حساب نمی‌شود، رزرو ثبت نمی‌کند، صندلی نگه نمی‌دارد و پرداخت نمی‌کند.
  • قیمت هر شب، هزینه نفر اضافه، تخفیف اقامت طولانی و قوانین کنسلی را نشان می‌دهد.
  • همه قیمت‌ها به تومان است.
  • روی سیستم خود شما اجرا می‌شود و به هیچ سرور واسطی داده نمی‌فرستد.

نصب در Claude Code:

bash
claude mcp add jabama -- uvx jabama-mcp

بعد بپرسید: «ارزان‌ترین ویلای استخردار رامسر برای ۶ نفر از ۲۸ مهر تا ۱ آبان، با قیمت نهایی»

Development

bash
git clone https://github.com/sepehr071/jabama-mcp && cd jabama-mcpuv syncuv run pytest            # offline, against recorded responsesuv run pytest -m live    # real APIsuv run ruff check .

Tools live in src/jabama_mcp/search.py, stay.py, info.py, tours.py and events.py; each is a typed async function with a docstring that tells the agent when to use it. Issues and PRs are welcome, especially new tools and fixes for API changes.

Releases: bump the version in pyproject.toml and server.json, then push a v* tag. GitHub Actions tests, publishes to PyPI and the MCP Registry, and creates the GitHub Release.

Disclaimer

Unofficial and not affiliated with or endorsed by Jabama. It uses the public endpoints of the jabama.com, jabama.tours and jabama.events websites, which can change without notice. Please keep request rates reasonable.

License

MIT

來源:README.md,提交 d24044b

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Oct 5, 2026