pik-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pik-mcpsearch for used cars in Sarajevo under 5000 KM"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pik-mcp
An MCP server that exposes the
OLX.ba marketplace API (base URL https://api.olx.ba,
documentation) as tools an LLM client can call:
authenticate, browse and manage listings, read categories/attributes/locations, and
run sponsorship/discount actions.
Setup
npm install
npm run buildCopy .env.example to .env and fill in your OLX credentials:
OLX_USERNAME=your-username-or-email
OLX_PASSWORD=your-password
OLX_DEVICE_NAME=pik-mcp # optional
OLX_BASE_URL=https://api.olx.ba # optionalThe server logs in with these credentials on the first tool call, caches the bearer token in memory, and automatically re-authenticates if the token expires (HTTP 401). Credentials are never written to stdout (the MCP transport); logs go to stderr.
Related MCP server: Zoho CRM MCP Server
Running
pik-mcp speaks MCP over stdio. Point any MCP client at node dist/index.js.
Claude Desktop / Claude Code config
{
"mcpServers": {
"olx": {
"command": "node",
"args": ["C:/Users/dkasi/Documents/Projects/pik-mcp/dist/index.js"],
"env": {
"OLX_USERNAME": "your-username-or-email",
"OLX_PASSWORD": "your-password"
}
}
}
}Inspect / debug
npm run inspect # opens @modelcontextprotocol/inspector against the serverTools
Group | Tools |
Auth |
|
Listings (read) |
|
Categories |
|
Locations |
|
Listings (write) |
|
Images |
|
Sponsored / discount |
|
Destructive tools (delete_listing, finish_listing, image delete) and paid tools
(sponsor_listing, set_listing_discount) are flagged via MCP annotations and their
descriptions. refresh_listing may consume a paid refresh once the free quota is
exhausted — check get_refresh_limits first.
Searching listings
search_listings performs full-text search over OLX (GET /search). It is
public and works without credentials, so you can browse even before setting up
login. It accepts typed filters — q, category_id, brand_id, city_id,
price_from/price_to, state (condition id, e.g. 2 = used), created_gte
(e.g. "-24 hours"), per_page, page, sort_by/sort_order — plus an
extra_params object passed through verbatim for advanced keys such as attribute
filters (attr, attr_encoded).
By default it returns a compact summary per listing (id, title, price,
category/brand/city ids, condition, date, cover image, and a
https://olx.ba/artikal/{id} URL) alongside pagination meta and category
aggregations. Pass raw: true to get the full untrimmed API payload.
Typical create-and-publish flow
suggest_category/find_category→ pick acategory_idget_category_attributes→ see required attributes;get_category_brands/get_category_modelsif applicableget_city(orlist_cities) → pick acity_idcreate_listing→ returns a DRAFT listing idupload_listing_image→ attach photos;set_main_listing_imagefor the coverpublish_listing→ makes it visible in search
Notes / limitations
The documented API exposes no generic "search all listings" endpoint. Browsing is done via categories + a user's listings (
get_user_listings).Some success messages from OLX are in Bosnian (e.g. "Oglas je uspjesno objavljen") and are passed through as-is.
Project layout
src/
index.ts entry point (stdio transport)
server.ts builds McpServer, registers all tool groups
config.ts env-based configuration
olx/
client.ts HTTP client: auth, token cache, 401 retry, error mapping
types.ts response shapes
tools/ one file per resource group
util/ shared zod schemas + result formattingMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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