io.github.fetchsandbox/mcp
NPM · FETCHSANDBOX-MCP · SCANNED AUG 3
Stateful OpenAPI sandbox for AI agents to validate API integrations end-to-end.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security86
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 7 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1198 tokens (~199/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · fetchsandbox-mcp
claude mcp add fetchsandbox-mcp -- npx -y fetchsandbox-mcp
codex mcp add fetchsandbox-mcp -- npx -y fetchsandbox-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"fetchsandbox-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"fetchsandbox-mcp"
],
"enabled": true
}
}
} openclaw mcp add fetchsandbox-mcp --command npx --arg -y --arg fetchsandbox-mcp
mcp_servers:
fetchsandbox-mcp:
command: "npx"
args: ["-y", "fetchsandbox-mcp"] {
"mcpServers": {
"fetchsandbox-mcp": {
"command": "npx",
"args": [
"-y",
"fetchsandbox-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 −3
No change was recorded against any check on this day. Supply Chain Security went from 97 to 86. Other categories moved too: Stability & Change Management rose 4.
- 2 Aug 26 +65
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Schema quality: unverified → excellent ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Licence: MIT functional
- 1 Aug 26 −14
- Tool coverage: 100 → unverified ▼ functional
- 31 Jul 26 −6
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- Malware scan: pass → unverified ▼ security
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −19
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
import_spec ~319
Ingest an OpenAPI spec and get a working sandbox you can call immediately. REQUIRED: pass EITHER `url` OR `content` — never just `name` alone (name is a display label, not a lookup). If the user mentions a popular API by name (Stripe, GitHub, Twilio, Notion, OpenAI, etc.), FIRST call `list_specs` with a filter to confirm it's in the catalog, then call import_spec with that vendor's public OpenAPI URL (e.g. Stripe: https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json). The backend content-hashes the spec and auto-matches to the bundled sandbox when applicable. Returns sandbox_id, workflows_preview, and a base_url that proxies schema-validated responses. Private URLs (localhost, 10.x, 192.168.x) are rejected by the backend — use `content` to paste those inline.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | — | Pasted OpenAPI spec content (JSON or YAML). Use this when the user pastes the spec inline or has it on disk. Provide the raw text exactly. |
| name | string | — | Optional DISPLAY label only — NOT a lookup key. Defaults to info.title from the spec. To resolve a known API by name ("Stripe", "GitHub"), call list_specs first. |
| url | string | — | Public URL to an OpenAPI 3.x file (JSON or YAML). Use this for any publicly reachable spec — GitHub raw links, docs portals, vendor SDKs. |
No output schema declared.
No examples provided.
list_runs ~149
List recent workflow runs (and ad-hoc traffic) for a sandbox, newest first. Use when the user asks 'what did I run', 'show me recent validation runs', 'did the stripe test pass earlier', or wants to find a previous run to share or re-inspect. Each run includes its shareable timeline URL (fetchsandbox.com/runs/<sandbox_id>) so the user can open the visual trace in a browser or drop it in Slack / a PR comment. Requires sandbox_id (from import_spec).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max number of runs to return (default 20, server may cap). |
| sandbox_id | string | yes | The sandbox_id returned by import_spec. |
No output schema declared.
No examples provided.
list_specs ~175
Browse the FetchSandbox spec catalog — every API (Stripe, GitHub, Twilio, Notion, OpenAI, Polar, GitLab, and 40+ more) that has a ready-to-use sandbox with curated workflows. Use when the user asks 'what APIs do you support?', 'what specs are available?', 'show me the catalog', 'do you have <X>?', or wants to explore before committing to one. Returns each spec's slug (use as `name` arg to import_spec), description, endpoint count, and tags. Pass `filter` to narrow by substring (e.g., filter='pay' returns Stripe, Paddle, Polar).
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | — | Optional case-insensitive substring filter. Matches against spec name, slug, description, and tags. Omit to return the full catalog. |
No output schema declared.
No examples provided.
list_workflows ~138
List the named, runnable workflows for a previously-imported spec. Workflows are realistic multi-step API journeys (e.g. 'create customer → attach payment method → create subscription'). Use this after import_spec for exploration ("what can I do?", "show me the flows") OR before run_all_workflows when the user wants a SCOPED validation: list, filter by user intent ("checkout", "webhooks"), then pass the matching ids as `workflow_names` to run_all_workflows. Returns: id, name, description, and step count per workflow.
| Name | Type | Req | Description |
|---|---|---|---|
| spec_id | string | yes | The spec_id returned by import_spec. |
No output schema declared.
No examples provided.
run_all_workflows ~247
Execute EVERY workflow (or a scoped subset) for a sandbox in ONE call. Use this — NOT a loop of run_workflow — for any validation-style request: "validate this integration", "run all workflows", "check coverage", "test stripe checkout", "fs validate". IDEs (Cursor, Claude Code) approve each MCP call individually, so 18 workflows via run_workflow = 18 clicks. This tool = 1 click, total. Scope via `workflow_names`: pass an array of workflow ids to run a subset (e.g., user says "validate stripe CHECKOUT" → pass ["create_checkout_session", "checkout_complete"]). Names are case-insensitive; dashes and underscores interchangeable. Returns: summary (pass/fail counts, totals) + full step trace per workflow. After running, the user can visit fetchsandbox.com/runs/<sandbox_id> for a shareable visual timeline.
| Name | Type | Req | Description |
|---|---|---|---|
| sandbox_id | string | yes | The sandbox_id returned by import_spec. |
| workflow_names | array | — | Optional list of workflow ids/names to run. Case-insensitive; dashes and underscores are interchangeable. Omit to run every workflow for the spec. |
No output schema declared.
No examples provided.
run_workflow ~170
Execute ONE specific workflow by name and return its step-by-step trace. Use ONLY when the user explicitly names a single workflow to run (e.g., "run accept_payment", "just check the refund workflow"). For ANY validation-style request — "validate stripe", "check coverage", "run all workflows", "test this integration", or even "validate stripe checkout" (multiple workflows match "checkout") — use `run_all_workflows` instead. The batch tool collapses N approvals to 1 and supports a workflow_names filter for scope. Calling this in a loop is an anti-pattern.
| Name | Type | Req | Description |
|---|---|---|---|
| sandbox_id | string | yes | The sandbox_id returned by import_spec. |
| workflow_name | string | yes | Workflow id or name from list_workflows. Case-insensitive; dashes and underscores are interchangeable. |
No output schema declared.
No examples provided.