Skip to main content
Glama

Jagir (جاگیر, "place-finder") is a Model Context Protocol server that lets Claude and other AI assistants search Jabama, Jajiga and Otaghak, Iran's largest vacation-rental platforms, at the same time.

Ask in plain Persian or English. Jagir fans out to all three platforms, normalizes the results (Toman, Gregorian or Jalali dates, one schema), and gives your assistant everything it needs to compare: prices, availability, amenities, cleanliness scores and full guest reviews.

«یه ویلا با ویو جنگل نزدیک رشت برای ۵ نفر، ۱۵ تا ۱۸ مهر، امتیاز بالای ۴.۵ و خیلی تمیز پیدا کن.»

Claude searches all three sites, filters by cleanliness sub-rating, reads the reviews for complaints, quotes the exact total for 5 guests, and hands you a comparison table with booking links.

Why Jagir

  • One search, three platforms. Results are merged and sorted together (by price, rating or relevance). If one platform is down, the others still answer.

  • Built for Iran. Prices in Toman (Jabama's Rial is converted), dates in Jalali (1405-07-15) or Gregorian (2026-10-07), Persian labels kept as-is.

  • Everything a listing has. Amenities and what's missing, house rules, bed layout, area, privacy, view and setting, distance to the sea or city center, check-in times, cancellation policy, discounts and every photo.

  • Cleanliness and sub-ratings. Each platform's rating breakdown (cleanliness, accuracy, host, location, value…) plus the star distribution.

  • Full guest reviews. Complete review text, dates, host replies and, on Otaghak, the positives and negatives each guest listed.

  • Real prices. Per-night calendars and quotes for your exact dates and number of guests, including extra-guest charges and service fees.

  • Read-only and private. No login, no booking, no tracking. It never returns host phone numbers or names, and reviewer names are dropped.

Related MCP server: @openbnb/mcp-server-airbnb

Quick start

  1. Download jagir.mcpb from the latest release.

  2. Double-click it. Claude Desktop opens an install dialog; click Install.

No Node.js needed: Claude Desktop runs the extension with its built-in runtime.

Claude Code

claude mcp add jagir -- npx -y jagir-mcp

Other MCP clients (manual config)

Requires Node.js 20+.

{
  "mcpServers": {
    "jagir": { "command": "npx", "args": ["-y", "jagir-mcp"] }
  }
}

Claude Desktop's config file lives at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart the app after editing it.

Tools

Tool

What it does

search_stays

Search a city or region on all three platforms at once. Filters: dates, guests, price range, sort, platforms. Returns merged, normalized results.

get_stay

Everything about one listing: amenities and missing amenities, rules, rating breakdown (incl. cleanliness), beds, area, privacy, view and setting, distances, discounts, all photos.

get_reviews

Guest reviews with full text, rating, date, host reply and (Otaghak) positive and negative points. Up to 200 per call.

get_stay_calendar

Per-night availability and price for up to 120 days.

get_quote

Exact total for given dates and guests: nightly breakdown, extra-guest cost and fees.

resolve_location

How a place name is known on each platform (useful for villages and regions).

Stay ids look like jabama:800749, jajiga:3237270 or otaghak:2397109, and every result includes a direct link to the listing.

Example prompts

  • «ارزون‌ترین ویلاهای رامسر برای ۴ نفر از ۲۳ تا ۲۵ مهر رو از هر سه سایت مقایسه کن»

  • «برای این اقامتگاه همه نظرات رو بخون و بگو کسی از تمیزی یا سروصدا شکایت کرده یا نه»

  • «تقویم این ویلا رو برای آبان نشون بده؛ کدوم آخر هفته‌ها خالیه و چنده؟»

  • "Find a beachfront stay in Kish for 2 guests next weekend under 3 million Toman a night, sorted by rating."

  • "Compare the top 3 cabins near Masuleh by cleanliness score and total price for 3 nights."

How it works

             ┌──────────── search_stays ────────────┐
Claude  ──►  │  Jagir (stdio, runs on your machine)  │
             └───────┬───────────┬───────────┬──────┘
                     ▼           ▼           ▼
                  Jabama      Jajiga      Otaghak
                (public web APIs the sites themselves use)

Each platform has an adapter that calls the same public JSON endpoints its website uses and maps the response to one shared schema. Requests run in parallel. Failures are isolated per platform and reported in an errors field instead of failing the whole search.

Notes on prices:

  • With dates, price.total is the stay total for the requested guests, as each platform's search reports it.

  • get_quote adds service fees where a platform charges them (Jajiga).

  • Otaghak quotes are computed from its calendar and extra-guest price and are marked estimated: true.

These endpoints are undocumented and can change without notice. If something breaks, please open an issue.

Privacy and scope

  • Read-only: Jagir never logs in, books, messages hosts or calls any write endpoint.

  • No host phone numbers, host names or host ids are ever returned. Reviewer names are dropped.

  • Runs locally over stdio. Nothing is sent anywhere except the three platforms' public APIs.

Development

git clone https://github.com/thejimbow/jagir-mcp.git
cd jagir-mcp
npm install
npm test             # unit tests against recorded fixtures
npm run test:live    # smoke test against the real platforms
npm run build        # compile to dist/
npm run pack:mcpb    # build the Claude Desktop extension (jagir.mcpb)

Project layout: src/platforms/ holds one adapter per platform, src/core/ holds dates, HTTP and the aggregator, and src/server.ts defines the MCP tools.

Contributions are welcome, especially adapters for more platforms (Shab, Homsa…) and fixes when a platform changes its API.

فارسی

جاگیر یه سرور MCP هست که به Claude و بقیه‌ی دستیارهای هوش مصنوعی اجازه می‌ده هم‌زمان توی جاباما، جاجیگا و اتاقک دنبال اقامتگاه بگردن.

به فارسی بپرس. جاگیر هر سه سایت رو با هم می‌گرده، قیمت‌ها رو به تومان یکدست می‌کنه، تاریخ شمسی و میلادی رو می‌فهمه و همه‌ی اطلاعات لازم برای مقایسه رو به دستیار می‌ده: قیمت دقیق، تقویم خالی بودن، امکانات، امتیاز تمیزی و نظرات کامل مهمون‌ها.

چه کارهایی می‌کنه

  • یه جستجو، سه سایت: نتایج با هم ادغام و مرتب می‌شن. اگه یکی از سایت‌ها از دسترس خارج باشه، بقیه جواب می‌دن.

  • همه‌ی اطلاعات آگهی: امکانات (و امکاناتی که نداره)، قوانین، چیدمان تخت‌ها، متراژ، دربست یا اشتراکی، ویو و بافت، فاصله تا دریا و مرکز شهر، تخفیف‌ها و همه‌ی عکس‌ها.

  • ریزامتیازها: امتیاز تمیزی، صحت مطالب، برخورد میزبان، موقعیت و ارزش به قیمت، به‌علاوه‌ی توزیع ستاره‌ها.

  • نظرات کامل: متن کامل، تاریخ، پاسخ میزبان و نکات مثبت و منفی (اتاقک).

  • قیمت واقعی: تقویم شبانه و قیمت نهایی برای تاریخ و تعداد نفرات شما، با هزینه‌ی نفر اضافه و کارمزد.

  • فقط خواندنی: نه لاگین می‌کنه، نه رزرو. شماره و اسم میزبان و اسم نظردهنده‌ها هیچ‌وقت برگردونده نمی‌شه.

نصب

Claude Desktop: فایل jagir.mcpb رو دانلود کن و روش دابل‌کلیک کن. نیازی به نصب Node نیست.

Claude Code:

claude mcp add jagir -- npx -y jagir-mcp

یه نمونه پرامپت

با جاگیر یه اقامتگاه در رشت یا اطراف نزدیکش پیدا کن.
ورود ۱۴۰۵/۰۷/۱۵، خروج ۱۴۰۵/۰۷/۱۸، ۵ نفر.
امتیاز ۴.۵ به بالا با حداقل ۱۰ نظر، امتیاز تمیزی ۴.۷ به بالا، ویو جنگل یا کوه.
نظرات ۵ گزینه‌ی برتر رو بخون و هر شکایتی از تمیزی یا سروصدا رو گزارش کن.
برای ۳ گزینه‌ی نهایی قیمت دقیق ۵ نفر رو بگیر و یه جدول مقایسه با لینک بده.

Disclaimer

Jagir is an independent open-source project and is not affiliated with, endorsed by or sponsored by Jabama, Jajiga or Otaghak. All trademarks belong to their owners. Prices and availability come directly from the platforms and can change at any time; always confirm on the platform before booking.

License

MIT

Available Tools

6 tools
get_quoteGet price quoteA
Read-only

Exact price (Toman) for one stay, dates and guest count, including extra-guest charges and fees where the platform reports them. Read-only: nothing is booked. Otaghak quotes are estimated from its calendar (estimated: true).

Inputs: id (required), guests (required), checkIn (required), checkOut (required).

get_reviewsGet guest reviewsA
Read-only

Guest reviews of one stay, newest first: full text, star rating, date or stay info, host reply, and (Otaghak) the positive/negative points and whether the guest recommends it. Also returns the rating breakdown (cleanliness, accuracy, location, value…) and star distribution. Use it to judge cleanliness, noise, view or host behaviour from real guests.

Inputs: id (required), limit.

get_stayGet stay detailsA
Read-only

Full details of one stay: description, amenities (and missing ones), house rules, check-in/out times, cancellation policy, base prices (Toman), rating breakdown incl. cleanliness, star distribution, area, beds, privacy (entire/shared), successful bookings, discounts, all photos, and extra facts such as view/setting, distances to sea or city centre, child pricing and host response time.

Inputs: id (required).

get_stay_calendarGet stay calendarA
Read-only

Per-night availability and price (Toman) for one stay. Default window: today + 30 days; max 120 days.

Inputs: id (required), to, from.

resolve_locationResolve locationA
Read-only

Look up how a city/region name (Persian or English, e.g. "رامسر" or "ramsar") is known on Jabama, Jajiga and Otaghak. Useful to check a destination exists before searching. search_stays resolves locations itself.

Inputs: query (required).

search_staysSearch staysA
Read-only

Search short-term rentals (villa, suite, apartment, cottage…) in an Iranian city across Jabama, Jajiga and Otaghak at once. All prices are Toman (IRT). With dates, price.total is the full stay price for the guest count; without dates only price.perNight is set. Results from a platform that failed are listed in "errors"; the others are still returned.

Inputs: location (required), sort, limit, guests, +5 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 6 tools

    Disambiguation4/5

    Each tool has a clear primary purpose: location lookup, stay details, search, reviews, calendar, and quote. Minor overlap exists because get_stay and get_reviews both return rating breakdowns, but descriptions clearly distinguish their focus.

    Naming Consistency5/5

    All tool names use snake_case with a consistent verb_noun pattern (resolve_location, get_stay, search_stays, get_reviews, get_stay_calendar, get_quote). The naming is predictable and readable.

    Tool Count5/5

    Six tools are well-scoped for a read-only rental research server. Each tool earns its place without being redundant or excessive.

    Completeness5/5

    The surface covers the full research lifecycle: resolve location, search stays, get details, read reviews, check calendar availability, and get an exact quote. No obvious gaps for the stated purpose.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to search Iranian villas, cottages, and apartments, check nightly availability, calculate exact stay totals for dates and guests, and read reviews and host statistics. It is a read-only stdio MCP server with no login, booking, payment, or SMS endpoints.
      15
      145 PyPI
      2
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to search Jabama stays, group tours, events and theater seats, and to fetch the exact night-by-night price for given dates and guests along with calendars, house rules, amenities, host reputation and reviews. Runs locally as a read-only server with no login, booking or payment.
      145 PyPI
      2
      MIT