pik-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Return the currently authenticated OLX user (GET /me). Also confirms that login and token caching are working. |
| login_statusA | Force a fresh login with the configured credentials and report success. Useful for diagnosing authentication problems. |
| get_listingA | Retrieve a single listing by its id (GET /listings/:id). Returns the full listing object: title, price, location, status, images and owner details. |
| get_user_listingsA | List a user's listings, filtered by state (GET /users/:user/listings and its finished/inactive/expired/hidden variants). Paginated. Use |
| search_listingsA | Full-text search across OLX listings (GET /search). Public — works without credentials. Combine a text query with filters (category, brand, city, price range, condition, recency). Returns a compact summary per listing plus pagination meta and category aggregations. Set |
| list_categoriesA | Return all top-level categories (GET /categories). |
| get_category_childrenA | Return the child categories of a category (GET /categories/:id). Use this to walk the category tree down to a leaf before creating a listing. |
| get_categoryA | Return a single category with detailed properties such as base_listing_price and top_category status (GET /category/:id). |
| get_category_attributesA | Return the attributes for a category (GET /categories/:id/attributes), including input_type, options and whether each is required. These define the |
| get_category_brandsB | Return the brands available for a category (GET /categories/:id/brands). |
| get_category_modelsA | Return the models for a brand within a category (GET /categories/:id/brands/:brand_id/models). |
| suggest_categoryB | Suggest categories for a listing title/keyword (GET /categories/suggest?keyword=). Handy for auto-selecting a category when creating a listing. |
| find_categoryA | Find categories matching a name, with their hierarchical path (GET /categories/find?name=). |
| list_countriesA | Return all countries with id, name and code (GET /countries). |
| list_citiesA | Return all cities with their cantons (GET /cities). |
| get_cityA | Return a single city with coordinates, zip_code, country_id and canton_id (GET /cities/:id). Use the id as city_id when creating a listing. |
| list_country_statesB | Return country states with their cantons (GET /country-states). |
| get_canton_citiesA | Return the cities within a canton (GET /cantons/:id/cities). |
| create_listingA | Create a new listing in DRAFT status (POST /listings). Only |
| update_listingA | Update fields on an existing listing (PUT /listings/:id). Provide only the fields you want to change alongside the listing id. |
| publish_listingA | Activate a DRAFT listing so it becomes visible in search (POST /listings/:id/publish). |
| refresh_listingA | Bump a listing's rank by refreshing its timestamp (PUT /listings/:id/refresh). Subject to quota — check get_refresh_limits. May consume a paid refresh once the free quota is exhausted. |
| get_refresh_limitsA | Return refresh quota: free_limit, free_count, paid_count, listing_count (GET /listing/refresh/limits). |
| get_listing_limitsA | Return per-category listing limits (cars, real-estate, other) with current counts (GET /listing-limits). |
| finish_listingA | Mark a listing as completed/sold (POST /listings/:id/finish). This ends the active listing; it moves to the user's finished listings. |
| hide_listingA | Hide a listing from search; it stays visible on the user profile (POST /listings/:id/hide). |
| unhide_listingA | Restore a hidden listing's visibility (POST /listings/:id/unhide). |
| delete_listingA | PERMANENTLY delete a listing (DELETE /listings/:id). This is irreversible — confirm with the user before calling. |
| upload_listing_imageA | Attach image(s) to a listing (POST /listings/:id/image-upload). Provide either |
| delete_listing_imageA | Remove one image from a listing (POST /listings/:id/image-delete). |
| set_main_listing_imageA | Set a listing's primary/cover image (POST /listings/:id/image-main). |
| get_sponsor_priceA | Get a price quote for sponsoring a listing (GET /listings/:id/sponsore/price). Read-only — ALWAYS call this and show the quote to the user before sponsor_listing. |
| sponsor_listingA | Purchase sponsorship/promotion for a listing (POST /listings/:id/sponsore). THIS SPENDS OLX CREDITS. Call get_sponsor_price first, present the total to the user, and only proceed after explicit confirmation. |
| set_listing_discountA | Set a temporary discounted price on a listing (POST /listings/:id/discount). This changes the live price shown to buyers for the given period. Confirm with the user first. |
| finish_listing_discountA | End an active discount early and restore the original price (POST /listings/:id/discount/finish). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dkasipovic/pik-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server