Skip to content
NewTwo Macs, one Claude Code setup: skills as plugins, not symlinks
Logbook
May 28, 2026·6 MIN READ
I taught Claude to sell my old diving gear on OLX

I taught Claude to sell my old diving gear on OLX

My 11-year-old son and I had 50 used items to sell on OLX and a spreadsheet that tracked who owns what, who gets paid what, and at what price. So I built an MCP server and let Claude do the listings.

TL;DR Instead of doing 50 manual listings, I built an open-source MCP server that lets Claude read the spreadsheet and create the listings itself. The grunt work disappeared. Janek still gets his 5%.

A few weeks ago, I sat down with my eleven-year-old son, Janek, and we did the thing every family eventually does: we opened the closets. Diving fins he's outgrown. A snorkel I haven't used since the last trip. Basketball jerseys two sizes too small. Swim paddles, masks, a Scubapro backpack, a small archive of gear that still has years of life left in it, but not in our house.

We agreed on a deal. He helps me take the photos and clean everything up. I handle the listings. And because fair is fair, I wrote the rule down:

  • If I sell his stuff, I take 5% for the listing work.
  • If I sell my stuff, he takes 5% for the photos and the cleaning.

Then I put it all in a Google Sheet. Item, owner, condition, model, original price, market price on OLX, our price, 5% commission, link.

And that's where I hit the wall every side project hits eventually: there are fifty items in the pile. Fifty manual OLX listings. Fifty times clicking through category trees, attribute pickers, image uploads, description fields, price boxes. Hours of grunt work stand between the spreadsheet and the marketplace.

Zysk Janek
=SUMIF(B:B,"Janek",G:G)-SUMIF(B:B,"Janek",H:H)+SUMIF(B:B,"Mariusz",H:H)
Zysk Mariusz
=SUMIF(B:B,"Mariusz",G:G)-SUMIF(B:B,"Mariusz",H:H)+SUMIF(B:B,"Janek",H:H)

Here's an example spreadsheet you can copy.

The shortcut nobody mentions

OLX has a public API. They don't advertise it loudly, but it's there. You register an app, wait for the developer team to approve it (about a week in my case), and then you can do programmatically what humans do by clicking.

So I built a small thing: an MCP server for OLX. MCP is the protocol that lets AI assistants like Claude call external tools, in this case the OLX API. Once it's wired up, the assistant becomes the operator.

Now my workflow looks like this:

Claude, take row 4 from the spreadsheet, draft an OLX listing, use the photos from this folder, set the price to our column G value, and publish it.

That's the whole sentence. Behind it, the MCP authenticates with OLX, maps the row to the right category, fills in attributes, attaches images, creates the draft, and (if I confirm) activates it. I can also ask for stats: views, contacts, and watchlist adds, the same way.

What was a weekend of clicking became a chat.

The bottleneck is friction, and AI agents are a serious lever, because they don't get bored on item 37.

What an MCP actually is, in 60 seconds

If you've heard of MCP and squinted, here's the short version: it's a protocol that lets an AI assistant call external tools (APIs, databases, scripts) in a consistent way. The assistant doesn't know OLX exists; it knows that a tool called olx_create_advert is available, what arguments it takes, and what it returns. The rest is conversation.

The OLX MCP I built exposes a small, focused set of tools:

  • olx_list_adverts: see what's already published
  • olx_get_advert: pull a single listing
  • olx_create_advert / olx_draft_advert: publish or stage a new one
  • olx_update_advert: edit price, title, description
  • olx_advert_stats: views, contacts, watchlist adds
  • olx_activate_advert / olx_deactivate_advert / olx_delete_advert
  • olx_list_categories / olx_get_category_attributes: discover what OLX expects per category
  • olx_drafts_from_tsv: bulk-create drafts from a tab-separated export of the spreadsheet

That last one is the secret sauce. I can copy a block from Google Sheets, paste it into the chat, and end up with 10 OLX drafts in a queue waiting for me to review and click publish.

The protocol doesn't care that I built it for myself. Anyone else with the MCP installed gets the same toolset in their assistant.

The spreadsheet is the contract

I want to come back to the spreadsheet, because it's quietly the most important piece.

Janek and I didn't sign anything. We have a Google Sheet. Column B says who owns the item. Column G says what we'll list it for. Column H computes the 5%. At the bottom, two cells tally what each of us walks away with. He can open it on my laptop anytime and check the math (and he does: when one of the totals showed 0, he was the first to point it out).

That sheet does three jobs at once:

  1. It's our agreement. The rules are written down. No ambiguity, no "I think we said...".
  2. It's the source of truth for the agent. The MCP doesn't invent prices; it reads them from a column. If I want to change the price, I change the spreadsheet, not the prompt.
  3. It's a teaching tool. Janek is eleven. He's learning that work has a unit price, that fairness is something you can put a number on, and that you should always, always check the totals at the bottom of the page.

It turns out the most powerful "UI" for an AI agent in a household project isn't a chat window. It's a shared spreadsheet that everyone involved can read and edit.

Why this matters beyond my closet

I'm a fan of the circular economy, the idea that an item's second owner is just as valuable as its first. The problem isn't supply. Every household has a pile. The problem is friction: the activation energy required to actually list things outweighs the perceived payoff, so the gear sits in a box for another two years.

Anything that lowers that activation energy moves more goods into reuse and keeps them out of landfill. AI agents are a serious lever here, not because they're clever, but because they're patient. They don't get bored with item 37.

What's next

This project is small on purpose, but a few obvious extensions are already on the list:

  • Smart pricing that watches what comparable items sell for and nudges our price down if a listing sits for two weeks without contacts.

If you want to take a swing at any of them, the repo is open: github.com/msmenzyk/mcp-olx.

The MCP is open source

I packaged the OLX MCP and put it on GitHub under MIT: github.com/msmenzyk/mcp-olx. If you have a pile of your own and an OLX account, you can plug it into Claude (or any MCP-compatible client) and skip the grunt work, too. Pull requests welcome, there are plenty of categories and edge cases left to handle.

Janek, by the way, has already started checking the spreadsheet for his share. He's going to be a tough business partner.


This post first appeared on my Substack on 28 May 2026.