Agent integration

Job search and fit scoring through MCP

Give an MCP client only the Apify tools needed to inspect, run, and validate one Actor. Generic calls keep exact builds, inputs, item limits, and maximum charges visible to the agent and operator.

Five scoped toolsOAuth preferredBounded examples

Use the least-privilege server

Expose only Actor discovery, run, exact-run status, dataset, and key-value-store access:

https://mcp.apify.com?tools=fetch-actor-details,call-actor,get-actor-run,get-dataset-items,get-key-value-store-record

Prefer OAuth. Environment-token examples read APIFY_TOKEN from the client process and never embed its value in repository configuration.

Maintained repository profiles

LinkedIn selects latest and records each returned immutable build. EURAXESS selects latest and records each returned immutable build ID and number before validating the run.

  • LinkedIn: generic call-actor with build latest and scraper v4/canonical-job validation.
  • EURAXESS: selector latest, with source access checked before the paid call and EURAXESS-specific fields retained.
  • AI Job Search & Fit Scorer: build latest, five-result shortlist descriptor, delivery score 2, $0.10 cap, and the distinct scorer v4 fit contract.

Before paying, call fetch-actor-details and verify current access, input schema, pricing, and availability. Do not assume the three Actors share fields or billing.

Bounded agent request

Search for up to five remote or hybrid TypeScript developer jobs in Spain,
posted within the last seven days. Use LinkedIn build selector latest. Set a conservative
maximum total charge. Do not translate, enrich with AI, include raw descriptions,
enable analytics, or enable cross-run deduplication. Keep canonical records.

A good client should show the exact tool call before execution. For recurring searches, add one stable opaque dedupe scope only after the first stateless run has been inspected.

Exact-run verification sequence

  1. Use call-actor with the complete input and callOptions containing exact build, item cap, and maximum charge; do not wait synchronously.
  2. Poll the returned ID with get-actor-run until terminal. Continue only for SUCCEEDED.
  3. Because an MCP projection can omit build number, re-read the exact run through the Apify REST API when necessary to prove the build.
  4. Read that run’s RUN-SUMMARY, apply only the Actor-specific contract, and honor at most one explicit scraper-v4 retry recommendation.
  5. Fetch and paginate the exact default dataset; reconcile row count and validate each canonical record.

Client and destination proof are separate

The repository’s configs, descriptors, validators, and smoke harness are credential-free. The LinkedIn and EURAXESS harness verifies Actor state and rows through MCP plus an exact-build REST check. The scorer descriptor is validated offline, but hosted MCP exposure has not been claimed as live-tested. An MCP result also does not prove n8n, Make, Sheets, Airtable, or webhook delivery.

Troubleshooting

  • Tool is unavailable: check the hosted MCP URL, workspace connector policy, authentication, and Actor access before changing prompts.
  • Build is absent: use the returned run ID with the exact REST status endpoint; do not infer build from latest.
  • Rows are partial or empty: inspect the summary and source-specific evidence before retrying or widening the query.
  • Too much data reaches the model: lower the item cap, omit raw descriptions, and retain canonical records outside the conversational display.