{"slug": "show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers", "title": "Show HN: An MCP server that runs 27 small web and open-data scrapers", "summary": "A developer released TinyRex MCP, an MIT-licensed stdio Model Context Protocol server that exposes 27 public TinyRex Apify Store scrapers to MCP-capable AI agents such as Claude Desktop and Cursor using the user's own APIFY_TOKEN. The server provides two tools: list_actors, which returns each actor's name, title, description, Store URL and example input, and run_actor, which runs tinyrex/<name> with an input object, waits for completion and returns dataset items capped at 50 by default plus itemCount, runId and status. The actors are pay-per-event on Apify, with failed or empty runs often free under TinyRex pricing, and the package installs via pip from GitHub on Python 3.11+ or runs as a Docker image.", "body_md": "**Run [TinyRex](https://apify.com/tinyrex) Apify Store actors from any MCP-capable AI agent** (Claude Desktop, Cursor, and others) using **your own** `APIFY_TOKEN`.\n\nThis is a thin stdio [Model Context Protocol](https://modelcontextprotocol.io/) server: it lists the public TinyRex actors and starts a run, then returns dataset items (capped for MCP hosts).\n\nActors are **pay-per-event (PPE)** on Apify. Failed or empty runs are often free under TinyRex pricing: check each actor’s Store page. You pay Apify with your own account; this MCP does not bill separately.\n\nPython 3.11+:\n\n```\npip install git+https://github.com/emirmrkaljevic/tinyrex-mcp.git\n# or clone and:\n# pip install -e .\n```\n\nRequires an [Apify API token](https://console.apify.com/settings/integrations) in the environment as `APIFY_TOKEN`.\n\n```\n{\n  \"mcpServers\": {\n    \"tinyrex\": {\n      \"command\": \"tinyrex-mcp\",\n      \"env\": {\n        \"APIFY_TOKEN\": \"YOUR_APIFY_TOKEN\"\n      }\n    }\n  }\n}\n```\n\nIf the script is not on `PATH`, use the module form:\n\n```\n{\n  \"mcpServers\": {\n    \"tinyrex\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"tinyrex_mcp\"],\n      \"env\": {\n        \"APIFY_TOKEN\": \"YOUR_APIFY_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n| Tool | What it does | \n|---|---|\n| `list_actors` | Lists all **27 public** TinyRex actors (name, title, description, Store URL, example input). | \n| `run_actor` | Runs `tinyrex/<name>` with an`input` object, waits for the run, returns dataset items (default max 50) plus`itemCount` ,`runId` , and status. | \n\n1. `list_actors` → find`gleif-lei-lookup`\n2. `run_actor` with:\n\n```\n{\n  \"actor\": \"gleif-lei-lookup\",\n  \"input\": { \"companyNames\": [\"Siemens AG\"], \"maxResultsPerName\": 1 },\n  \"max_items\": 5\n}\n```\n\nPrivate / ToS-blocked actors are **not** exposed.\n\n```\ndocker build -t tinyrex-mcp .\ndocker run --rm -i -e APIFY_TOKEN=YOUR_APIFY_TOKEN tinyrex-mcp\npython -m venv .venv && source .venv/bin/activate\npip install -e .\nAPIFY_TOKEN=... tinyrex-mcp   # stdio MCP\n```\n\nSmoke-test helpers (list tools + one cheap run) live in `scripts/smoke_test.py`.\n\nMIT. Brand: **TinyRex**. Store username: [tinyrex](https://apify.com/tinyrex).", "url": "https://wpnews.pro/news/show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers", "canonical_source": "https://github.com/emirmrkaljevic/tinyrex-mcp", "published_at": "2026-11-02 12:04:55+00:00", "updated_at": "2026-11-02 12:21:52.930184+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["TinyRex", "Model Context Protocol", "Apify", "Claude Desktop", "Cursor", "APIFY_TOKEN", "gleif-lei-lookup", "Siemens AG"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers", "markdown": "https://wpnews.pro/news/show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers.md", "text": "https://wpnews.pro/news/show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers.txt", "jsonld": "https://wpnews.pro/news/show-hn-an-mcp-server-that-runs-27-small-web-and-open-data-scrapers.jsonld"}}