apify-mcp-server@0.21.4
CAUTION· install onlyPublisher claims: "Apify is the world's largest marketplace of tools for web scraping, data extraction, and web automation. You can extract structured data from social media, e-commerce, search engines, maps, travel sites, or any other website." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
Code inventory arrives with this version's next honeypot run.- It will ask for
- unknown until the next run
- Where it talks to
- unknown until the next run
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Not enough was observed to say yet. Nothing executable in the bundle ran; the trace covers the install step only. This version's code has not been inventoried for credentials and hosts either; both arrive with its next honeypot run (popular servers first). `vet-skills try apify-mcp-server` runs it now and prints the full answer.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-07 and scored it 76/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Credential pass-through configuration. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
| **Internal repo** | `../apify-mcp-server-internal` (if available) | Hosted server — assess impact of changes |Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.* stateful handling. Mirrors `apify-mcp-server-internal`'s `isSessionlessEraRequest`.Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.<summary><b>Cursor</b></summary> Use the one-click install link from the [configurator](https://mcp.apify.com), or let the [Apify CLI](https://docs.apify.com/clFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.telemetryEnv = getTelemetryEnv(this.options.telemetry?.env ?? process.env.TELEMETRY_ENV);Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.to `LegacyMcpServer`; `createStatelessServer` builds the stateless adapter per request from theFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.- `index.ts` — the library export (`ActorsMcpServer` plus `createStatelessServer`, theFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.'To connect, set your MCP client server command to `npx @apify/actors-mcp-server`' +Fix: Pin versions and sources; vendor anything fetched at install time.- `searchActorsBaseArgsSchema` has an optional `useCase` (Store search context). `withoutUseCaseField` in `utils/tools_loader.ts` removes it from the served schema; `ActorsMcpServer.composeToolsForCliFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.* a remote MCP-server Actor wraps it as an HTTP 500 whose body carries that same type string.Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.<summary><b>Local stdio (npx)</b></summary> Requires Node.js 22 or later. ```json { "mcpServers": { "actors-mcp-server": { "command": "npx", "args": ["-y", "@apFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.`package.json`, Tailwind/PostCSS config, and build** — the root `tsconfig.json`Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why..env()Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.4. **npx cache corruption**: Stale cache prevents stdio server from starting. Fix: `rm -rf ~/.npm/_npx` (macOS/Linux) or `rmdir /s /q %LOCALAPPDATA%\npm-cache\_npx` (Windows).Fix: Pin versions and sources; vendor anything fetched at install time.<summary><b>ChatGPT</b></summary> 1. Open [ChatGPT Plugins](https://chatgpt.com/plugins), select **+**, then **Add custom MCP server**. 2. Name it `Apify`, enteFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.export { ActorsMcpServer, createStatelessServer };Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.Keep this surface minimal: the `ActorsMcpServer` facade, plus `createStatelessServer` — theFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.<summary><b>VS Code and GitHub Copilot</b></summary> Use the one-click install link from the [configurator](https://mcp.apify.com), run `apify mcp install vscodFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.3. **Two datasets, one per CI gate.** `mcp-server-evals-pr` (the `--dataset` default) holds the `kind: "tool-call"` items and gates PRs (PR open/reopen, or the `validated` label); `mcp-server-evals-meFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.// Only bypass token if all requested tools are public AND no specific actors requested.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary><b>How the server adapts Actor input schemas</b></summary> The server adapts Actor input schemas so that more clients and models can use them: - DescriFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.// `origin` excludes userinfo, so `https://user:pass@<standby host>/mcp` passes the origin check; drop it here.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.3. **"Unable to connect to extension server"**: Claude Desktop extension install issues. Usually caused by corrupted npx cache, Claude silently downgrading the extension, or Node.js not on the GUI appFix: Pin versions and sources; vendor anything fetched at install time.<summary><b>Claude Code</b></summary> ```bash claude mcp add apify "https://mcp.apify.com" -t http ``` Claude Code opens the Apify sign-in page the first time iFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
4 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim apify: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- URL with embedded credentials≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- MCP server using network transport (SSE/HTTP)≈ +2 on the totalNamespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.