ByteScope

ByteScope MCP

完全オフライン。npx 一行で、コーディングエージェントに本物のハッシュ、ファイル形式、証明書と pcap の解析、テストファイル、ID 検索を渡せます。

ローカル版はあなたのマシンで動き、ネットワークには一切触れません。ホスト版はリクエストを処理するだけで、何も保存しません。

ローカル版

完全オフライン。Node.js 20 以上の npx で動きます。キーもアカウントも不要です。

Claude Code
claude mcp add bytescope -- npx -y @bytescope/mcp
.mcp.json
{
  "mcpServers": {
    "bytescope": {
      "command": "npx",
      "args": [
        "-y",
        "@bytescope/mcp"
      ]
    }
  }
}

ホスト版

npx を動かせないクライアント向けのベストエフォート版です。1 回のペイロードは 4 MB まで。超えるとローカル版を使うよう案内が返ります。

Claude Code
claude mcp add --transport http bytescope https://bytescope.dev/api/mcp
.mcp.json
{
  "mcpServers": {
    "bytescope": {
      "type": "http",
      "url": "https://bytescope.dev/api/mcp"
    }
  }
}

ツール

全 23 ツール。このページのビルド時にサーバーのレジストリから読み出しています。説明文はエージェントが実際に受け取る英語のままです。

ツール内容
detect_file_typeIdentify a file's real type from its leading bytes (magic numbers), with a confidence level, MIME type and usual extensions.
hash_bytesHash bytes with MD5, SHA-1, SHA-256, SHA-512 and/or CRC-32 (the zip/PNG/Ethernet CRC-32/ISO-HDLC).
crc_calculateCompute a CRC over bytes, either with a named model from the reveng catalogue (113 models, e.g. "CRC-32/ISO-HDLC", "CRC-16/MODBUS", "CRC-8/SMBUS"; aliases such as "CRC-32" or "MODBUS" work) or with custom Rocksoft parameters.
crc_reverseRecover the CRC model from known message/checksum pairs: first tries every model in the reveng catalogue, then brute-forces 8- and 16-bit polynomials within a time budget.
decode_certificateDecode X.509 certificates and CSRs: subject, issuer, SANs, validity window and status, signature algorithm, public key, key usage, fingerprints.
subnet_calcIPv4/IPv6 subnet calculator: CIDR → network, broadcast (IPv4 only), usable host range, netmask, wildcard, address count and address class/special-range classification.
parse_pcapParse a pcap or pcapng capture: file summary (format, link types, packet count, time span), a Wireshark-style packet list (protocol, source, destination, info), TCP/UDP stream summaries and protocol hierarchy / conversation statistics.
inspect_elfInspect an ELF binary (executable, shared object, object file, core): header (class, endianness, machine, type, entry point), program headers, section headers, symbol tables, dynamic section (NEEDED libraries, SONAME), notes (build id) and parse warnings.
parse_intel_hexMap a firmware image: Intel HEX, Motorola S-record or UF2 → contiguous address segments, gaps, start address, record errors (bad checksums, overlaps) and, for UF2, the family ids.
decode_hid_descriptorDecode a USB HID report descriptor: annotated item listing (like the HID Descriptor Tool), collections, and every input/output/feature report with bit offsets, sizes, usages and logical ranges.
parse_exifRead image metadata from a JPEG, PNG or raw TIFF/EXIF block: camera make/model, lens, exposure, ISO, focal length, orientation, capture time, ICC profile presence, plus the list of metadata carriers (EXIF, XMP, ICC, comments, text chunks, trailers) with byte offsets.
sqlite_schemaRead a SQLite database file's structure: every table with its CREATE statement, columns (declared type, primary-key position, NOT NULL, default, foreign-key target) and row count, plus indexes (unique, origin, columns), views, triggers, page size, page count, text encoding, user_version, journal mode and the SQLite version that last wrote the file.
convert_subtitleConvert subtitles between SRT, WebVTT and ASS/SSA.
generate_fixtureGenerate a real, standards-conformant test file for unit tests instead of hand-assembling bytes: images, archives (including encrypted, split or deliberately corrupted ZIPs), packet captures, self-signed certificates (valid, expiring in N days, expired or not yet valid), audio/video, SQLite, firmware images and PDFs.
lookup_usb_vendorLook up a USB vendor id (VID) in the linux-usb.org usb.ids database — the same data lsusb uses.
lookup_usb_productLook up a USB product by vendor id and product id (VID:PID) in the linux-usb.org usb.ids database.
lookup_ble_uuidLook up a Bluetooth LE GATT UUID in the Bluetooth SIG assigned-numbers tables (services, characteristics, descriptors) and a list of well-known vendor UUIDs.
lookup_hid_usageLook up a USB HID usage in the HID Usage Tables: usage page + usage id → names.
lookup_midi_ccLook up a MIDI 1.0 Control Change number (0-127) in the MMA controller assignment table, e.g. 7 → Channel Volume, 64 → Damper Pedal.
lookup_midi_manufacturerLook up a MIDI System Exclusive manufacturer id (the byte(s) after F0): one byte 01-7F (e.g. 41 → Roland, 43 → Yamaha) or an extended three-byte id 00 xx xx (e.g. 00 20 29 → Focusrite/Novation).
lookup_portLook up a TCP/UDP port number in ByteScope's port reference (the well-known service ports developers actually hit: 22, 443, 3306, 5432, 6379, 27017 …): service, transport, whether IANA assigned it, what it is for and its security exposure.
lookup_http_statusLook up an HTTP status code in ByteScope's status reference: name, class, defining standard, what it means and how it is confused with its neighbours.
lookup_file_signatureLook up which file formats' magic-number signatures match the given leading bytes, using ByteScope's format catalogue.

このツールについて

ByteScope MCP は完全オフラインで動く MCP サーバーです。npx -y @bytescope/mcp で手元のマシン上に stdio で起動し、ネットワークには一切触れません。テレメトリも API 呼び出しもなく、キーもアカウントも不要です。中身はこのサイトの各ツールを支える core-* パッケージそのもので、コーディングエージェント向けに 1 ファイルにまとめてあります。

ファイル解析のための MCP サーバー

エージェントはバイト列について考えるのは得意でも、記憶だけでバイト列を正しく組み立てるのは苦手です。このサーバーは本物を返します。マジックバイトからのファイル形式判定と確信度、CRC の計算と既知のペアからの CRC パラメータ逆算、X.509 証明書と CSR、サブネット、pcap/pcapng のパケット、ELF のヘッダーとシンボル、Intel HEX と UF2 のアドレスマップ、HID レポートディスクリプタ、そして指定しない限り GPS を伏せる EXIF。generate_fixture は構造の正しい PNG、ZIP、pcap、PDF、MP4、X.509 のテストファイルを作ります。テストファイル生成ページと同じ生成器です。

ハッシュ MCP サーバーと、found: false を返す検索

hash_bytes は渡されたバイト列の MD5、SHA-1、SHA-256、SHA-512、CRC-32 を返します。lookup_* 系のツールは実在の表から答えます。USB のベンダー ID と製品 ID、BLE UUID、HID usage、MIDI のコントロールチェンジとメーカー ID、ポート番号、HTTP ステータスコード、ファイルシグネチャです。表にない ID には、もっともらしい推測ではなく found: false を返します。

受け取るのはバイト列だけ、パスは受け取らない

バイナリ入力は base64 か hex の文字列です。ファイルパスは受け取らないので、共有するつもりのないディスク上のファイルをエージェントが渡してしまうことはなく、ローカル版とホスト版で同じスキーマがそのまま通ります。ローカル版は 1 回の呼び出しで 8 MB まで。https://bytescope.dev/api/mcp のホスト版はベストエフォートで、何も保存せず、上限は 4 MB です。超えるとローカル版を使うよう案内が返ります。このページの一覧表は、ビルド時にサーバー自身のレジストリから読み出しています。

よくある質問

ByteScope MCP はファイルをどこかに送りますか?

ローカル版は送りません。手元の Node で動いて stdio でやり取りし、ネットワークに出る処理がそもそもありません。ホスト版は仕組み上違っていて、渡したバイト列は Cloudflare Worker に届き、そのリクエストの中で処理され、保存はされません。Web フォームに貼りたくないものはローカル版で扱ってください。

Claude Code や Cursor にはどう追加しますか?

Claude Code なら claude mcp add bytescope -- npx -y @bytescope/mcp の一行です。.mcp.json を読むクライアントにはこのページのスニペットがそのまま使え、Cursor なら同じ mcpServers を .cursor/mcp.json(全プロジェクト共通なら ~/.cursor/mcp.json)に書きます。command が npx、args が -y @bytescope/mcp です。Node.js 20 以上が必要です。

なぜファイルパスを受け取らないのですか?

エージェントにローカルのパスを渡させると、読ませるつもりのなかったファイルまで読める道ができてしまいます。バイト列だけを受け取れば、処理されるのは渡したものだけです。同じスキーマがホスト版でもそのまま動くという利点もあります。ホスト版から見れば、手元のディスクのパスには意味がありません。

ホスト版で 4 MB を超えるとどうなりますか?

呼び出しはエラーになり、ローカル版の npx @bytescope/mcp を使うよう案内するメッセージが返ります。ローカル版は 8 MB まで受け付けます。黙って切り詰めることはしません。

料金や API キーは必要ですか?

いりません。キーもアカウントも利用枠もありません。ローカル版はあなたのマシンで動きます。ホスト版は Cloudflare Workers 上で動き、乱用はプラットフォームのレート制限で防いでいます。