Skip to content

Tu Lugar

by tulugar.com · remote · no sign-in to list tools · v1.0.1 · published by com.tulugar

Search and manage Paraguay & LatAm real estate from any AI assistant.

Deletes · 5Final · 2Changes · 141 high finding

39 tools: 5 can delete or cancel things, 2 do something that can't be undone, 14 change things and 18 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http tulugar https://tulugar.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 high1 warn
  • The description contains "Never tell the user", an instruction to keep something from the user.

    Matched text

    description: "...purely want to know the current state. Never tell the user to merely visit the login page to autho..."

    What this check looks for
  • The server marks "share_listing_whatsapp" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

39 tools

Deletes or cancels 5Claude Code: deny
  • close_listingClose (retire) one of the authenticated agent's OWN listings — use when a property is sold, rented, or withdrawn from the market.No findings

    Why it is in this group

    • The name "close_listing" says "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Close (retire) one of the authenticated agent's OWN listings — use when a property is sold, rented, or withdrawn from the market. It disappears from public results. This is NOT reversible (a closed listing cannot be reopened), so confirm with the user before calling. Pass the id from my_listings. Also works on SYNCED listings (synced:true): closing one stops the portal sync from reopening it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • title: close_listing
  • create_leadSend an inquiry on behalf of the user to the advertiser of a listing, a development project, or a real-estate company.No findings

    Why it is in this group

    • The name "create_lead" says "create": a word for a change.
    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Send an inquiry on behalf of the user to the advertiser of a listing, a development project, or a real-estate company. Notifies them (email + WhatsApp) and starts a conversation. Works without an account. This sends a real message to real people — confirm the details with the user before calling.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • title: Contact Agent
  • promote_listingPromote (feature) one of the authenticated agent's OWN listings by spending ONE promotional credit.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Promote (feature) one of the authenticated agent's OWN listings by spending ONE promotional credit. A featured listing is highlighted and ranked ahead of regular results for ~14 days (extends the window if already featured). This SPENDS a paid credit, so confirm with the user before calling. If the account has no credits, this returns a message telling the user to buy some — use buy_promotional_credits for that. Pass listing_id from my_listings. Synced listings (synced:true) are promotable too.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • title: Promote Listing
  • publish_listingSubmit a draft listing for moderation review, making it eligible to go public once approved.No findings

    Why it is in this group

    • The name "publish_listing" says "publish": a word for a change that another call does not undo.
    • The description says "irreversible".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Submit a draft listing for moderation review, making it eligible to go public once approved. This is an irreversible submission — confirm with the user before calling.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • title: Publish Listing
Can't be undone 2Claude Code: ask
  • reply_to_inquiryReply to a buyer inquiry (lead) on one of the agent's listings.No findings

    Why it is in this group

    • The name "reply_to_inquiry" says "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Reply to a buyer inquiry (lead) on one of the agent's listings. Compose a helpful, professional reply as `message`, and this returns a one-tap WhatsApp link (wa.me) to the buyer with your message pre-filled — share that link with the agent to tap and send. Pass inquiry_id from my_inquiries. If the buyer left only an email, it returns the email to reply to instead.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • title: reply_to_inquiry
  • send_whatsapp_verificationSend a WhatsApp verification code to the agent's mobile number.No findings

    Why it is in this group

    • The name "send_whatsapp_verification" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send a WhatsApp verification code to the agent's mobile number. Publishing listings requires a verified WhatsApp number — if account_status shows can_publish=false, use this to start verification. A 6-digit code is delivered to the number over WhatsApp; then call verify_whatsapp_code with it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: send_whatsapp_verification
Changes things 14Claude Code: ask
  • buy_promotional_creditsStart a purchase of a promotional-credit pack for the connected account.No findings

    Why it is in this group

    • The description's first verb is "start": a word for a change.
    Description, as the server wrote it
    Start a purchase of a promotional-credit pack for the connected account. Returns a secure Stripe checkout link that the USER opens to pay — you never handle card details, and payment happens on Stripe's page, not here. After they pay, the credits are added to their account and can be spent with promote_listing. One pack = 5 credits (each promotes one property for ~14 days).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Buy Promotional Credits
  • closing_costsOfficial TuLugar closing-costs breakdown for buying property in PARAGUAY: transfer tax, municipal fees, notary/registry, optional mortgage fixed costs, seller broker fee.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Official TuLugar closing-costs breakdown for buying property in PARAGUAY: transfer tax, municipal fees, notary/registry, optional mortgage fixed costs, seller broker fee. Use when the user asks what buying costs beyond the price, or to budget cash-at-closing for a concrete price.

    Annotations the server declares

    • readOnlyHint: true
    • title: Closing Costs (Paraguay)
  • connect_accountTHE tool to connect/authorize the user's Tu Lugar account.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    THE tool to connect/authorize the user's Tu Lugar account. Call this IMMEDIATELY (without first calling account_status) whenever the user asks to "connect", "authorize", "link", "log in to", or "sign in to" Tu Lugar, or wants to create/manage a listing while not connected — do NOT wait for them to create a listing first. When not connected, it returns a clickable "Connect your Tu Lugar account" link — show that link to the user verbatim and tell them to open it (one click if they are already signed in at tulugar.com; no separate Approve step). After they open it they are connected — they can then ask you again. If already connected, it confirms who they are connected as. account_status only REPORTS status and can never start this.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • title: Connect Tu Lugar Account
  • create_listingCreate a real estate listing for the authenticated agent.No findings

    Why it is in this group

    • The name "create_listing" says "create": a word for a change.
    Description, as the server wrote it
    Create a real estate listing for the authenticated agent. Always creates a private DRAFT — it is NOT visible publicly. A city or neighborhood is enough to start; NEVER invent coordinates (fabricated pins are discarded). The response returns an edit-page link with a map: ask the user to open it and drop the pin on the exact property location, and wait for their confirmation before publish_listing — publishing is blocked until a human sets the pin and at least one photo. Requires a CONNECTED account with a verified WhatsApp number — if unsure, call account_status FIRST and, if not connected, share the connect steps it returns instead of attempting to create.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Create Listing
  • edit_listingUpdate one of the authenticated agent's listings.No findings

    Why it is in this group

    • The name "edit_listing" says "edit": a word for a change.
    Description, as the server wrote it
    Update one of the authenticated agent's listings. Pass only the fields to change. Editing images/title/description counts against the edit quota and re-triggers review. Also works on SYNCED listings (auto-imported from the agent's portal, marked synced:true in my_listings): everything is editable, and changing the price makes it stop auto-syncing — the agent's price then always wins over the portal's. Publish state of synced listings cannot be changed here (use close_listing).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Edit Listing
  • mortgage_calculatorEstimate a monthly mortgage payment and total interest for a buyer.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate a monthly mortgage payment and total interest for a buyer. Currency-agnostic. Optionally pass monthly_income for a debt-to-income ratio. This is an informational arithmetic estimate only — not financial advice, a loan offer, or a rate quote.

    Annotations the server declares

    • readOnlyHint: true
    • title: Mortgage Calculator
  • neighborhood_guideWhat a neighborhood/zone is actually like, grounded in live data: sale + rent prices, listing counts, Airbnb occupancy when available, plus curated local context.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What a neighborhood/zone is actually like, grounded in live data: sale + rent prices, listing counts, Airbnb occupancy when available, plus curated local context. ALWAYS use this for "¿cómo es <barrio>?" / "is X a good area?" questions instead of answering from memory.

    Annotations the server declares

    • readOnlyHint: true
    • title: Neighborhood Guide
  • open_web_sessionGive the signed-in user a ONE-TAP link that opens tulugar.com already logged in to their account — no code, no password.No findings

    Why it is in this group

    • The name "open_web_session" says "open": a word for a change.
    Description, as the server wrote it
    Give the signed-in user a ONE-TAP link that opens tulugar.com already logged in to their account — no code, no password. Use when a WhatsApp user needs the website: upload photos, finish a listing in the wizard, manage their account. The link is single-use and expires in 10 minutes; share it verbatim. Only works for accounts with a verified WhatsApp number.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • title: Open Signed-in Web Session
  • rental_yieldGross rental yield for a zone, computed from live medians (sale vs long-term rent, plus Airbnb when available).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Gross rental yield for a zone, computed from live medians (sale vs long-term rent, plus Airbnb when available). Zone-level market reference ONLY — never a valuation of a specific property. Use for "¿conviene invertir?" / rentabilidad / yield questions.

    Annotations the server declares

    • readOnlyHint: true
    • title: Rental Yield
  • share_listing_whatsappGenerate a ready-to-send WhatsApp message for one of the authenticated agent's OWN listings: a polished, WhatsApp-tuned caption + a one-tap wa.me link (optionally pre-addressed to …1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "share_listing_whatsapp" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate a ready-to-send WhatsApp message for one of the authenticated agent's OWN listings: a polished, WhatsApp-tuned caption + a one-tap wa.me link (optionally pre-addressed to a client phone) + the property's main photo to attach. Use whenever the agent wants to send, share, or forward a listing to a client (or to their WhatsApp status). Pass listing_id (from my_listings); optionally client_phone to pre-address the chat. After calling, you can personalize the message for a specific client and rebuild the wa.me link yourself (URL-encode the new text into https://wa.me/<number>?text=...).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • title: Share Listing on WhatsApp
  • upload_listing_imageUpload a listing image by URL.No findings

    Why it is in this group

    • The name "upload_listing_image" says "upload": a word for a change.
    Description, as the server wrote it
    Upload a listing image by URL. Fetches the image, optimizes it, and returns hosted Tu Lugar image URLs to pass into create_listing.images[] or edit_listing.images[]. Rejected if the image fails property-photo moderation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Upload Listing Image
  • verify_whatsapp_codeComplete WhatsApp verification by submitting the 6-digit code the agent received on WhatsApp (after send_whatsapp_verification).No findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Complete WhatsApp verification by submitting the 6-digit code the agent received on WhatsApp (after send_whatsapp_verification). On success the account can publish listings.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: verify_whatsapp_code
Only reads 18Claude Code: allow
  • account_statusREPORT-ONLY status check: returns whether the user's Tu Lugar account is connected and whether they can publish (needs a verified WhatsApp number).1 finding

    Why it is in this group

    • The name "account_status" says "status": a word for reading.

    Findings

    • High

      The description contains "Never tell the user", an instruction to keep something from the user.

      Matched text

      description: "...purely want to know the current state. Never tell the user to merely visit the login page to autho..."

      What this check looks for
    Description, as the server wrote it
    REPORT-ONLY status check: returns whether the user's Tu Lugar account is connected and whether they can publish (needs a verified WhatsApp number). It does NOT and CANNOT start a connection. If the user asks to connect / authorize / log in / sign in, or wants to create a listing while not connected, call `connect_account` instead — that is the tool that opens the Approve prompt. Use account_status only when you purely want to know the current state. Never tell the user to merely visit the login page to authorize Claude — connecting is a one-time Approve, not a website login.

    Annotations the server declares

    • readOnlyHint: true
    • title: Account Status
  • fetchRetrieve the full content of a single Tu Lugar listing by its id (from a `search` result).No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Retrieve the full content of a single Tu Lugar listing by its id (from a `search` result). Returns title, full text description, specs, and the canonical URL.

    Annotations the server declares

    • readOnlyHint: true
    • title: Fetch
  • get_agentGet details about one real estate agent by id or slug: profile, rating, reviews, specialties, and contact info.No findings

    Why it is in this group

    • The name "get_agent" says "get": a word for reading.
    Description, as the server wrote it
    Get details about one real estate agent by id or slug: profile, rating, reviews, specialties, and contact info.

    Annotations the server declares

    • readOnlyHint: true
    • title: get_agent
  • get_companyGet details about one agency or developer by id or slug (from search_companies): profile, rating, specialties, languages, service areas, and contact info.No findings

    Why it is in this group

    • The name "get_company" says "get": a word for reading.
    Description, as the server wrote it
    Get details about one agency or developer by id or slug (from search_companies): profile, rating, specialties, languages, service areas, and contact info.

    Annotations the server declares

    • readOnlyHint: true
    • title: get_company
  • get_guideCurated TuLugar guides (general education, kept current): buying-process (step-by-step + documents), foreigners (rights + restrictions for non-Paraguayans), closing-costs (what fee…No findings

    Why it is in this group

    • The name "get_guide" says "get": a word for reading.
    Description, as the server wrote it
    Curated TuLugar guides (general education, kept current): buying-process (step-by-step + documents), foreigners (rights + restrictions for non-Paraguayans), closing-costs (what fees exist), renting (contracts, deposits, garante), publishing (listing tips), airbnb (short-term rental basics). ALWAYS use this for "how does buying/renting work" / process / documents questions — the content IS in scope to share; only personalized legal advice is not.

    Annotations the server declares

    • readOnlyHint: true
    • title: TuLugar Guides
  • get_listingGet full listing detail by ID or slug.No findings

    Why it is in this group

    • The name "get_listing" says "get": a word for reading.
    Description, as the server wrote it
    Get full listing detail by ID or slug.

    Annotations the server declares

    • readOnlyHint: true
    • title: Get Listing
  • get_market_summaryMarket stats: avg price, median, price/m².No findings

    Why it is in this group

    • The name "get_market_summary" says "get": a word for reading.
    Description, as the server wrote it
    Market stats: avg price, median, price/m². Scope with neighborhood for zone-level numbers.

    Annotations the server declares

    • readOnlyHint: true
    • title: Market Summary
  • get_projectGet project detail with units and prices.No findings

    Why it is in this group

    • The name "get_project" says "get": a word for reading.
    Description, as the server wrote it
    Get project detail with units and prices.

    Annotations the server declares

    • readOnlyHint: true
    • title: Get Project
  • get_str_dataAirbnb/STR city-level data: nightly rates, occupancy.No findings

    Why it is in this group

    • The name "get_str_data" says "get": a word for reading.
    Description, as the server wrote it
    Airbnb/STR city-level data: nightly rates, occupancy.

    Annotations the server declares

    • readOnlyHint: true
    • title: Short-Term Rental Data
  • list_locationsList countries, cities, or neighborhoods with listing counts.No findings

    Why it is in this group

    • The name "list_locations" says "list": a word for reading.
    Description, as the server wrote it
    List countries, cities, or neighborhoods with listing counts.

    Annotations the server declares

    • readOnlyHint: true
    • title: List Locations
  • my_inquiriesList buyer inquiries (leads) received on the authenticated agent's listings, newest first.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List buyer inquiries (leads) received on the authenticated agent's listings, newest first.

    Annotations the server declares

    • readOnlyHint: true
    • title: My Inquiries
  • my_listingsList the authenticated agent's own listings across all statuses (draft, pending review, active, closed), so they can see what is live and what is awaiting moderation.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List the authenticated agent's own listings across all statuses (draft, pending review, active, closed), so they can see what is live and what is awaiting moderation. Includes SYNCED listings (auto-imported from the agent's portal and kept up to date automatically) — those carry synced:true plus a sync block with the source platform, source URL and last check time. Synced listings can be edited, promoted and closed like any other.

    Annotations the server declares

    • readOnlyHint: true
    • title: My Listings
  • my_saved_searchesList the connected user's saved searches and their alert settings.No findings

    Why it is in this group

    • The name "my_saved_searches" says "search": a word for reading.
    Description, as the server wrote it
    List the connected user's saved searches and their alert settings.

    Annotations the server declares

    • readOnlyHint: true
    • title: my_saved_searches
  • search_agentsSearch REGISTERED real-estate agents and professionals on Tu Lugar by name, city, or company.No findings

    Why it is in this group

    • The name "search_agents" says "search": a word for reading.
    Description, as the server wrote it
    Search REGISTERED real-estate agents and professionals on Tu Lugar by name, city, or company. Only covers people who created a public profile on the platform — there is no data about anyone else.

    Annotations the server declares

    • readOnlyHint: true
    • title: search_agents
  • search_companiesSearch agencies and developers BY NAME (or city/type).No findings

    Why it is in this group

    • The name "search_companies" says "search": a word for reading.
    Description, as the server wrote it
    Search agencies and developers BY NAME (or city/type). Use `q` with the company/agency name — e.g. q="RE/MAX Urbana" — punctuation and accents are ignored. This is how you answer "properties by <agency>" (find the company here, then search_listings with company set to its name; for a DEVELOPER also check search_projects with company set — developer inventory is usually projects/units, not listings).

    Annotations the server declares

    • readOnlyHint: true
    • title: Search Agencies & Developers
  • search_listingsSearch real estate listings.No findings

    Why it is in this group

    • The name "search_listings" says "search": a word for reading.
    Description, as the server wrote it
    Search real estate listings. Filter by city, price, bedrooms, property type, or a specific agency/company. Returns TuLugar listings first, then "En otros sitios": homes on agency websites (RE/MAX, Century 21, Rent-A-House) in the same place, shown on the same map.

    Annotations the server declares

    • readOnlyHint: true
    • title: Search Listings
  • search_projectsSearch development projects/buildings BY NAME (or city, or DEVELOPER).No findings

    Why it is in this group

    • The name "search_projects" says "search": a word for reading.
    Description, as the server wrote it
    Search development projects/buildings BY NAME (or city, or DEVELOPER). Use `q` with the project or building name — e.g. q="Petra Tower" — punctuation/accents ignored, and a name lookup also finds completed/sold-out buildings. This is how you answer "apartments in <building/tower name>" and "is there a project called X". For "projects by <developer>" use `company` with the developer's name (NOT `q` — project names rarely contain the developer). For "projects / new buildings / en pozo in <city>" use `city` (add `status` when they say pre-sale or under construction).

    Annotations the server declares

    • readOnlyHint: true
    • title: Search Projects

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http tulugar https://tulugar.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tulugar__search_listings",
      "mcp__tulugar__get_listing",
      "mcp__tulugar__search",
      "mcp__tulugar__fetch",
      "mcp__tulugar__search_projects",
      "mcp__tulugar__get_project",
      "mcp__tulugar__search_companies",
      "mcp__tulugar__get_company",
      "mcp__tulugar__get_agent",
      "mcp__tulugar__search_agents",
      "mcp__tulugar__list_locations",
      "mcp__tulugar__get_market_summary",
      "mcp__tulugar__get_guide",
      "mcp__tulugar__get_str_data",
      "mcp__tulugar__account_status",
      "mcp__tulugar__my_listings",
      "mcp__tulugar__my_inquiries",
      "mcp__tulugar__my_saved_searches"
    ],
    "ask": [
      "mcp__tulugar__neighborhood_guide",
      "mcp__tulugar__rental_yield",
      "mcp__tulugar__closing_costs",
      "mcp__tulugar__mortgage_calculator",
      "mcp__tulugar__open_web_session",
      "mcp__tulugar__link_email",
      "mcp__tulugar__connect_account",
      "mcp__tulugar__create_listing",
      "mcp__tulugar__edit_listing",
      "mcp__tulugar__upload_listing_image",
      "mcp__tulugar__send_whatsapp_verification",
      "mcp__tulugar__verify_whatsapp_code",
      "mcp__tulugar__reply_to_inquiry",
      "mcp__tulugar__save_search",
      "mcp__tulugar__buy_promotional_credits",
      "mcp__tulugar__share_listing_whatsapp"
    ],
    "deny": [
      "mcp__tulugar__create_lead",
      "mcp__tulugar__publish_listing",
      "mcp__tulugar__close_listing",
      "mcp__tulugar__delete_saved_search",
      "mcp__tulugar__promote_listing"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tulugar. Review it before you use it.