# file_type_detect

Identify what a file really is from its bytes (not its name): 80+ signatures (images, audio, video, archives, PDF / Office / OpenDocument / EPUB, executables ELF / PE / Mach-O / WASM, fonts, SQLite / Parquet / pcap, ML model files GGUF / safetensors / PyTorch / pickle), container sniffing (DOCX vs XLSX vs JAR vs APK, tar.gz, MP4 vs HEIC vs AVIF, WebP / WAV / AVI), text sniffing (JSON, XML, SVG, HTML, CSV, PEM, scripts) and image dimensions. Flags risky content (executables, macros, pickles, shortcuts) and mismatches with the declared file name or MIME type. Base64 input (up to ~140 KB) or a URL (first 64 KB, SSRF-safe). Price: $0.002 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/file-type-detect

Agent View of the PolicyLayer registry record for `file_type_detect`. HTML page: https://policylayer.com/tools/com-it-scorptech-x402/file-type-detect

## Facts

- Tool: `file_type_detect`
- Server: ScorpTech x402 API (`https://scorptech.it.com/api/x402/mcp`) — https://policylayer.com/tools/com-it-scorptech-x402.md
- Homepage: https://github.com/https://scorptech.it.com/api/x402/mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 4
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | string | no | Public URL (only the first 64 KB is read) |
| `data` | string | no | File content, base64 (standard or URL-safe; data: URI accepted) |
| `filename` | string | no | Declared file name, checked against the content |
| `mimeType` | string | no | Declared MIME type, checked against the content |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "file_type_detect",
    "arguments": {}
  }
}
```

## Why file_type_detect is rated Medium

An AI agent can call file_type_detect faster than any human can review: one bad instruction and it creates or modifies resources in ScorpTech x402 API by the hundred, each call as confident as the last.

Risk signals: Accepts file system path (filename) · Accepts URL/endpoint input (url)

## Use case

AI agents use file_type_detect to create or update resources in ScorpTech x402 API, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your ScorpTech x402 API environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ScorpTech x402 API:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "file_type_detect": {
      "limits": [
        {
          "counter": "file_type_detect_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on ScorpTech x402 API (1011)

- `collatz_drop` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/collatz-drop.md
- `dedupe_records` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/dedupe-records.md
- `evm_selector_decode` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/evm-selector-decode.md
- `frames_timecode` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/frames-timecode.md
- `ip_reputation` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/ip-reputation.md
- `led_resistor` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/led-resistor.md
- `ruler_odd` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/ruler-odd.md
- `sql_format` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/sql-format.md
- `timecode_diff` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-diff.md
- `timecode_duration` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-duration.md
- `timecode_frames` — Destructive — https://policylayer.com/tools/com-it-scorptech-x402/timecode-frames.md
- `abi_encode` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/abi-encode.md
- `apery_term` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/apery-term.md
- `ballot` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/ballot.md
- `baum_sweet` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/baum-sweet.md
- `binom` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/binom.md
- `bit_subset` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/bit-subset.md
- `biunitary_sigma` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/biunitary-sigma.md
- `champernowne_start` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/champernowne-start.md
- `clinical_trials` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/clinical-trials.md
- `coin_min` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/coin-min.md
- `coin_ways` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/coin-ways.md
- `color_palette` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/color-palette.md
- `compound_interest` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/compound-interest.md
- `cron_explain` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/cron-explain.md
- `curl_to_code` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/curl-to-code.md
- `date_calc` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/date-calc.md
- `delannoy` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/delannoy.md
- `delannoy_sum` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/delannoy-sum.md
- `dmarc_report_parse` — Execute — https://policylayer.com/tools/com-it-scorptech-x402/dmarc-report-parse.md
- …and 981 more: https://policylayer.com/tools/com-it-scorptech-x402.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-it-scorptech-x402 · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-it-scorptech-x402
