Skip to main content
Glama

tinyrex-mcp

Run TinyRex Apify Store actors from any MCP-capable AI agent (Claude Desktop, Cursor, and others) using your own APIFY_TOKEN.

This is a thin stdio Model Context Protocol server: it lists the public TinyRex actors and starts a run, then returns dataset items (capped for MCP hosts).

Actors 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.

Install

Python 3.11+:

pip install git+https://github.com/emirmrkaljevic/tinyrex-mcp.git
# or clone and:
# pip install -e .

Requires an Apify API token in the environment as APIFY_TOKEN.

Related MCP server: web-data-mcp

Claude Desktop / Cursor (mcpServers)

{
  "mcpServers": {
    "tinyrex": {
      "command": "tinyrex-mcp",
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

If the script is not on PATH, use the module form:

{
  "mcpServers": {
    "tinyrex": {
      "command": "python",
      "args": ["-m", "tinyrex_mcp"],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

Tools

Tool

What it does

list_actors

Lists all 17 public TinyRex actors (name, title, description, Store URL, example input).

run_actor

Runs tinyrex/<name> with an input object, waits for the run, returns dataset items (default max 50) plus itemCount, runId, and status.

Example: LEI lookup

  1. list_actors → find gleif-lei-lookup

  2. run_actor with:

{
  "actor": "gleif-lei-lookup",
  "input": { "companyNames": ["Siemens AG"], "maxResultsPerName": 1 },
  "max_items": 5
}

Public actors wrapped

Private / ToS-blocked actors are not exposed.

Docker (stdio)

docker build -t tinyrex-mcp .
docker run --rm -i -e APIFY_TOKEN=YOUR_APIFY_TOKEN tinyrex-mcp

Development

python -m venv .venv && source .venv/bin/activate
pip install -e .
APIFY_TOKEN=... tinyrex-mcp   # stdio MCP

Smoke-test helpers (list tools + one cheap run) live in scripts/smoke_test.py.

License

MIT. Brand: TinyRex. Store username: tinyrex.

Available Tools

2 tools
list_actorsA

List all public TinyRex Apify Store actors this MCP can run.

Returns name, title, short description, Store URL, and an example input for each actor. Private / ToS-blocked actors are not included.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. The 'List' verb signals a read-only, side-effect-free operation, and it proactively discloses filtering behavior by naming what is excluded (private and ToS-blocked actors) -- a genuinely useful behavioral trait. It does not address auth requirements, result size, or pagination, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, followed by the return shape and then the exclusion caveat. No sentence is wasted and the most important information comes first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter discovery tool, the description covers what is returned and what is deliberately omitted, and an output schema exists to carry the exact return structure. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline-4 case. There is nothing for the description to clarify beyond confirming the call is argument-free, and the schema reflects that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all public TinyRex Apify Store actors') with scope qualifiers that tie it to run_actor's capability set ('this MCP can run'). An agent immediately understands this is the enumeration/discovery tool, clearly distinct from run_actor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: it enumerates exactly the actors run_actor can execute, but the description never says 'call this first to discover valid inputs for run_actor' or notes any preconditions. The exclusion clause ('Private / ToS-blocked actors are not included') is helpful context but is not routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_actorA

Run a TinyRex Apify actor and return dataset items.

Args: actor: Actor name (e.g. "gleif-lei-lookup") or "tinyrex/". input: Actor input object (same fields as on the Apify Store). Use list_actors exampleInput as a starting point. max_items: Max dataset items to return (default 50). Total count is always included. timeout_secs: How long to wait for the run to finish (default 180). memory_mbytes: Optional memory override for the run (Apify default if omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
inputNo
max_itemsNo
timeout_secsNo
memory_mbytesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose useful traits: the run can be waited on ('How long to wait for the run to finish', default 180s), memory can be overridden, and total count is always returned. However it omits what happens on timeout, whether the run is billed/quota-limited, and any auth requirement, which matters for an externally-executed job.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line purpose leads, followed by a compact per-argument block. Every entry is substantive and front-loaded; only the restatement of defaults that also live in the schema is slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation is rightly omitted, and all parameters are covered. For a networked, long-running execution tool the description stops short of error/timeout behavior and any auth or rate/quota caveats, leaving that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it largely does: it documents all five parameters with meaning, example format for actor ('gleif-lei-lookup' or 'tinyrex/<name>'), the input-object convention ('same fields as on the Apify Store'), and the semantics of max_items (50 default, total count always included). Minor gap: memory_mbytes lacks units/guidance beyond 'Apify default if omitted'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run a TinyRex Apify actor') plus the return ('return dataset items'), which distinguishes it from the sibling list_actors. It references list_actors explicitly as a source for input examples, giving partial sibling differentiation, but never says plainly 'use list_actors to discover actors, use this to execute one'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one concrete routing hint ('Use list_actors exampleInput as a starting point'), which implies a read-then-run workflow, but there is no explicit when-to-use/when-not guidance, no mention of prerequisites (Apify token/auth) or cost implications of launching a run.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedlist_actors
    • First observedrun_actor

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: list_actors for discovery and run_actor for execution. There is no overlap, and the descriptions explain their relationship through the exampleInput field.

Naming Consistency5/5

Both names follow a consistent snake_case verb_noun pattern: list_actors and run_actor. The verbs are distinct and the noun is consistent.

Tool Count3/5

Only two tools are provided, which is below the typical 3-15 range and may feel thin for a server that might need run management. However, for the narrow scope of discovering and running actors, it could be sufficient.

Completeness4/5

The surface covers actor discovery and execution, including example inputs and result retrieval. However, it lacks operations for managing runs (e.g., status, cancellation, or retrieving past runs), which agents might need for long-running or async actors.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A lightweight stdio-only MCP server that allows AI agents to run multiple tasks (e.g., Python code, HTTP requests, shell commands) in parallel or with dependencies, returning structured results in a single call.
    2
    40 PyPI
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Exposes a verified tool registry (calculator, sandboxed file read, web fetch) over MCP stdio, enabling any MCP-capable client to reuse the same tools from the inspectable ReAct loop.
    3
    MIT