olx-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLX_LANG | No | Response language ('ru' or 'uz') | ru |
| OLX_BASE_URL | No | Base URL for OLX site | https://www.olx.uz |
| OLX_HEADLESS | No | Set to 'false' to show the browser window (debug) | true |
| OLX_SITE_CODE | No | Site code for OLX | olxuz |
| OLX_BROWSER_PATH | No | Full path to the browser executable | |
| OLX_SESSION_FILE | No | Path to the session (cookie) file | ~/.olx-mcp/session.json |
| OLX_BROWSER_CHANNEL | No | Which browser to use (chrome, then msedge) | chrome |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| olx_loginA | Open a visible Chrome window on the user's computer so THEY can log into their OLX account (phone/email + password or SMS code). The tool never types credentials; it only waits until login is detected (up to wait_minutes) and saves the session cookies locally. Call this when any account tool returns a session error. Tell the user a Chrome window has opened and they should log in there. |
| olx_session_statusA | Check whether an OLX account session is saved and valid, which account it is, and whether the phone is SMS-verified (OLX requires a verified phone before posting adverts). Competitor/market tools do not need a session. |
| olx_get_my_profileA | Get the logged-in OLX account profile: name, id, registration date, last login, business flag, phone verification, contact details used in adverts, advert counters by status (active / waiting / moderated / archive / unpaid / outdated), saved (observed) ads and searches, and OLX wallet balance. For the advert list with views/phone stats use olx_list_my_adverts. |
| olx_list_my_advertsA | List the logged-in account's adverts by status with performance stats (views, phone views, saves, messages). Args:
Returns per advert: id, title, status, price, currency, category path, location, dates, days to expire, photos count, stats {views, phones, observed}, message counters, paid features. Sorted newest first; markdown adds totals and conversion. |
| olx_get_my_advertA | Get one of the account's adverts with totals (views, phone views, saves, messages) and the DAILY statistics history (page views and messages per day) plus paid promotions history. Use to see how an advert's traffic changes over time. |
| olx_advert_actionA | Change the state of one of the account's adverts (same actions as the "My ads" page on olx.uz):
|
| olx_suggest_categoryA | Suggest OLX categories for an advert title (the same suggestion the olx.uz posting form shows). Needs a logged-in session. Returns category ids with full path. Then call olx_get_category(id) to see required parameters. |
| olx_list_categoriesA | Browse or search the OLX category tree (no auth). Without arguments returns top-level categories; parent_id lists subcategories; search finds categories by name (Russian/Uzbek as shown on the site) and shows full paths. Use the ids as category_id in market tools and olx_get_category. |
| olx_get_categoryA | Get an OLX category: name, path, whether adverts can be posted in it (is_addable / leaf), max photos, validity days, subcategories, and the advert PARAMETERS — code, label, type (enum/price/input...), required flag, units (e.g. currency UZS/UYE) and allowed values (key=label). Use the parameter codes and value keys when posting an advert. No auth needed. Find category ids with olx_list_categories. |
| olx_find_locationA | Find OLX city_id / district_id / region_id by place name (e.g. "Samarqand", "Chilonzor", "Ташкент"). No auth needed. Use the IDs for market search filters (city_id, region_id, district_id) and for advert location. |
| olx_search_offersA | Search live OLX listings (public site data, no auth needed) with filters and sorting. Use to look at competitor listings for a product, check current prices, or browse a category/region. Args: query, category_id, region_id, city_id, district_id, price_from, price_to (UZS), owner_type (private|business), condition (new|used), sort (relevance|newest|price_asc|price_desc), offset, limit (1–50), response_format. Returns: total matching listings and offers with id, title, price, currency, condition, seller (id, name, business), city/region, created date, promotion flags, photo count, URL; plus has_more/next_offset for pagination (max offset 1000). For aggregated stats use olx_analyze_market instead of paging manually. |
| olx_get_offerA | Get full public details of any OLX listing by its numeric id (from search results): description, all parameters, price, seller, location, promotion flags, dates, contact name and phone numbers written in the description. Set include_phones=true to also reveal the seller's contact phone (same as the "Show phone" button). Useful to study how a competitor writes and positions their listing. |
| olx_get_offer_phonesA | Reveal the contact phone numbers of one or more OLX listings (the same as pressing "Показать телефон" on the site). No login needed. For each offer returns: title, url, seller, contact name, phones from the "show phone" button, and phone numbers the seller wrote in the title/description. If the seller hid the phone, phones is [] and phone_available=false. Notes: each reveal is counted in the seller's statistics and OLX applies a daily limit (429) — request only the offers the user actually needs. Offer ids come from olx_search_offers / olx_get_seller. |
| olx_get_sellerA | Analyze any OLX seller by user id (seller_id from search results): public profile (name, business flag, registration date, last activity, response time), total active listings, their categories and price levels, share of promoted listings, and a sample of their latest listings. |
| olx_analyze_marketA | Analyze the OLX market for a product/segment. Collects up to sample_size live listings plus site-wide facet counts and returns:
Use for "how much should I sell X for", "how competitive is this niche", "who dominates this market". No auth needed. Tip: narrow with category_id to exclude accessories (e.g. 'iphone 13' also matches cases). |
| olx_find_competitorsA | Identify the main competitors (sellers) for a product/segment on OLX. Groups sampled listings by seller and ranks them by number of listings, then enriches the top sellers with their public profile and total active listing count. Returns per competitor: seller_id, name, business flag, listings in this segment, promoted listings, median price, cities, account age, last activity, total active listings on OLX, sample URLs. Follow up with olx_get_seller(seller_id) for a deep dive on one competitor. No auth needed. |
| olx_compare_my_advertA | Compare one of the logged-in account's adverts against similar live listings on OLX. Loads the advert and its stats (needs a session), searches similar offers (by title keywords within the same category), and reports: price percentile and rank vs competitors, market price stats, photo count vs competitors, promoted share, phone-view conversion, and concrete recommendations (price change, photos, promotion, title). Args:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
The tools are largely separated into clear groups: session/account, category/location lookup, public search/detail, and market analysis. Minor overlap exists between olx_get_offer and olx_get_offer_phones, and between olx_analyze_market and olx_find_competitors, but descriptions clarify their different outputs.
Most tools follow a consistent olx_ + verb + noun pattern such as list/get/search/find/analyze/compare/suggest. A few exceptions like olx_session_status, olx_advert_action, and olx_login break the verb_noun pattern, so it is mostly consistent but not perfect.
17 tools is slightly above the typical sweet spot, but it is reasonable given the server's dual scope of managing a user's OLX account and performing public market/competitor analysis. No tools are truly redundant, though a couple could be merged without much loss.
The most obvious gap is the absence of any tool to create or edit an advert, despite olx_get_category and olx_suggest_category providing parameters clearly meant for posting. The lifecycle only covers state changes like activate/deactivate/refresh, and there are no messaging or conversation tools.