I scrape product cards from online stores for a content bank with an Actor of my own. The Actor finishes, the dataset fills up, and then a person exports it, checks it, and pastes it into the tool where the work actually happens. That last step has no technology in it. It is somebody's Tuesday.
When Apify shipped MCP connectors, I wanted to delete that step. A connector lets an Actor call a third-party service over the Model Context Protocol using credentials the user authorized once, on the platform. The Actor never holds the token. It talks to an Apify proxy with its own run token, and the platform injects the real credentials server-side.
I built a small Actor to try it: take product cards, write them into whatever service the user connected. The full code is at github.com/isolovyev77/apify-card-sink. It works now. Getting there took six failed runs, and every one of them failed differently.
Versions matter in this article more than usual, because one of the failures is purely a version mismatch. Mine: apify==3.4.1, mcp>=1.2.0, httpx==0.28.1, on the apify/actor-python:3.12 base image. The platform reported the run as SDK 3.4.1, client 2.5.1, Crawlee 1.9.0.
What the Actor does






