Skip to main content
Glama
010 Editor MCP Bridge

010 Editor MCP Bridge

by AuroraAeon

010 Editor MCP Bridge

English | 简体中文

M8ven Score

A local stdio MCP server for binary-file analysis and an existing 010 Editor session. The portable engine works on disk files; the editor bridge reads in-memory buffers, including unsaved changes.

Requires Python 3.11+. The live backend has been tested on Windows with 010 Editor 16.0.4. Verification results.

Tools

Tools

Behavior

server_status, editor_status

Backend availability, capabilities, limits and session diagnostics

binary_inspect

File metadata, identity and optional streamed hashes

binary_read, binary_search, binary_diff

Bounded byte reads, overlapping pattern matches and precise difference ranges

binary_patch_preview, binary_patch_apply

Check expected bytes, preview a replacement and write a new output copy

editor_context, editor_read

Active named buffer, dirty state, selection and unsaved bytes

editor_select

Select a byte range in the active document

editor_run_template

Run a trusted .bt and return XML plus parsed results

editor_patch_preview

Check live bytes and preview a replacement

editor_patch_apply

Returns CAPABILITY_UNSUPPORTED

Editor patch application is disabled because 010 Scripts allow concurrent user edits and provide no documented atomic expected-byte replacement. Previews return can_apply: false. See the mutation boundary.

Related MCP server: MCP ToolHub

Install and run

Install Python 3.11+, uv, and pnpm, then:

git clone https://github.com/AuroraAeon/010-editor-mcp.git
cd 010-editor-mcp
pnpm setup
pnpm start --allowed-root "C:\BinaryWork"

The server waits for an MCP client and reserves stdout for protocol messages. Use pnpm start --help for configuration options.

For an installed wheel, run uv pip install editor010_mcp-0.1.0-py3-none-any.whl in your Python environment. The wheel includes the bridge script. Node is needed for repository commands through pnpm; the installed Python entry point runs on its own.

MCP client configuration

After pnpm setup, configure your local MCP client with absolute paths:

{
  "mcpServers": {
    "editor010": {
      "command": "C:\\Projects\\010-editor-mcp\\.venv\\Scripts\\editor010-mcp.exe",
      "args": [
        "--allowed-root", "C:\\BinaryWork",
        "--trusted-template-root", "C:\\Projects\\010-editor-mcp\\bridge\\templates",
        "--editor-exe", "C:\\Program Files\\010 Editor\\010Editor.exe"
      ]
    }
  }
}

Replace the sample paths with your installation paths. On Linux/macOS, use .venv/bin/editor010-mcp for standalone tools. Live editor operations currently require Windows. Omit the editor and template options for disk-only use.

Connect 010 Editor

  1. Start 010 Editor, dismiss startup dialogs and keep one GUI instance open.

  2. Enable Tools → Options → General → Allow Only One Instance of 010 Editor.

  3. Open the target file and add its directory as an --allowed-root. Named buffers may contain unsaved changes; untitled buffers need a filename.

  4. Set --editor-exe and optionally --editor-pid. Call editor_status, then editor_context, and pass its buffer_id to subsequent editor tools.

The bridge forwards generated scripts with -script: to the existing session. Operations address the active document. If its index, name or size changes, request a fresh context after STALE_CONTEXT.

See editor setup for configuration, limits and recovery. The APIs require v13+; other editor versions remain unverified.

Examples

Inspect C:\BinaryWork\sample.bin, read 64 bytes at offset 32, search its first MiB for 50 4b 03 04, and compare it with sample.old.bin.

Read the selected bytes from the current 010 Editor buffer. Compare them with disk, then run the trusted ByteHeader template.

Preview replacing 11 22 with aa bb at disk offset 1. Apply that preview to a new file, sample.patched.bin.

A disk patch requires two calls:

{"tool":"binary_patch_preview","arguments":{"path":"C:\\BinaryWork\\sample.bin","offset":1,"expected_hex":"1122","replacement_hex":"aabb"}}
{"tool":"binary_patch_apply","arguments":{"path":"C:\\BinaryWork\\sample.bin","offset":1,"expected_hex":"1122","replacement_hex":"aabb","output_path":"C:\\BinaryWork\\sample.patched.bin","preview_token":"TOKEN_FROM_PREVIEW"}}

The server rechecks the source identity and expected bytes while copying. It rejects existing outputs, in-place writes, changed sources and expired or reused tokens. Replacements must preserve byte length.

Tool offsets are zero-based file-local byte offsets. The editor's display_start_address is separate. Raw template XML uses display addresses; variables[].offset gives normalized local offsets. Results identify their data source as disk or editor.

Access and limits

--allowed-root defaults to the launch working directory and can be repeated. Templates run only from locally configured trusted roots. Review their source and includes before granting access: template execution uses 010 Editor's permissions and may change Template Results or selection.

Reads, scans, copies and returned results have configurable bounds. See configuration defaults and architecture for path rules, concurrency and errors.

The bridge sends no file contents to remote services and does not log raw binary data by default. Editor reads use the live buffer; an unavailable editor returns an error instead of disk bytes.

Development

pnpm lint
pnpm test
pnpm exec uv build --wheel

The ordinary suite covers disk operations, transport contracts and real MCP subprocess clients. Real-GUI tests are opt-in; use the live verifier command.

Documentation index · Verification results

MIT licensed. This independent integration is not affiliated with or endorsed by SweetScape Software. 010 Editor is separately licensed.

Available Tools

14 tools
binary_diffC
Read-only

Compare bounded disk-file intervals and return precise bounded difference ranges.

Inputs: path_a (required), path_b (required), length, offset, +1 more.

binary_inspectB
Read-only

Inspect an allowed ordinary disk file, optionally streaming requested hashes.

Inputs: path (required), hashes.

binary_patch_applyB

Apply a previewed disk replacement to a new output file; preserve the original.

Inputs: path (required), offset (required), output_path (required), expected_hex (required), +2 more.

binary_patch_previewB
Read-only

Verify disk bytes and preview replacement; retain its token for a copy-on-write apply.

Inputs: path (required), offset (required), expected_hex (required), replacement_hex (required).

binary_readA
Read-only

Read bounded bytes from disk by zero-based byte offset; never read an editor buffer.

Inputs: path (required), length (required), offset (required), text_preview.

editor_contextA
Read-only

Read active buffer identity, dirty state and selection without changing selection.

Inputs: no named parameters.

editor_patch_applyC

Report CAPABILITY_UNSUPPORTED: atomic unsaved-buffer writes are disabled this release.

Inputs: offset (required), buffer_id (required), expected_hex (required), preview_token (required), +1 more.

editor_patch_previewC
Read-only

Verify and preview live bytes; can_apply is false and no mutation token is issued.

Inputs: offset (required), buffer_id (required), expected_hex (required), replacement_hex (required).

editor_readB
Read-only

Read the intended live in-memory buffer, including unsaved bytes; no disk fallback.

Inputs: length (required), offset (required), buffer_id (required).

editor_run_templateC

Run a .bt template from a configured trusted root on the intended live buffer.

Inputs: buffer_id (required), template_path (required).

editor_selectB

Select/navigate to a zero-based byte range in the explicitly identified live buffer.

Inputs: length (required), offset (required), buffer_id (required).

editor_statusA
Read-only

Detect an existing editor/bridge and report supported live capabilities.

Inputs: no named parameters.

server_statusA
Read-only

Report backend availability, configured limits and local path boundaries.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 14 tools

    Disambiguation4/5

    Clear split between binary_* disk operations and editor_* live-buffer operations, with each tool targeting a distinct action. Minor potential confusion between binary_read and binary_inspect, and between server_status and editor_status, but descriptions sufficiently distinguish them.

    Naming Consistency5/5

    All tools use snake_case with a consistent domain_verb_noun naming pattern (binary_* / editor_*). The single server_status is a reasonable global exception and does not break readability.

    Tool Count4/5

    14 tools is within a reasonable range for a bridge covering disk and live-editor operations, but including editor_patch_apply as a CAPABILITY_UNSUPPORTED placeholder and the unusable editor_patch_preview/apply pair means a couple of tools do not earn their place.

    Completeness3/5

    Disk-side coverage is decent (read, search, diff, inspect, patch preview/apply), but the live editor surface has a major gap: no atomic unsaved-buffer write is available, and editor_patch_apply is explicitly disabled. This leaves editor mutation workflows incomplete.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to safely explore directories, read files, search content by pattern or filename, and edit files with checksum verification and dry-run preview within sandboxed filesystem access.
      68 npm
      76
      ISC
    • F
      license
      A
      quality
      B
      maintenance
      Enables coding agents to perform workspace-confined file operations, read-only Git inspection, and structured shell commands, while requiring out-of-band human approval for mutations and external executions and maintaining an audit trail.
      14
      3
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables coding agents to safely inspect and modify project files within explicitly allowed workspace roots, with controls for file operations, git status/diff, and optionally allowlisted command execution.
      11
      Apache 2.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables controlled local Windows file inspection, reading, writing, reversible deletion, restoration, and auditing across user-selected folder roots. Commits occur only after separate owner approval in a native desktop dialog, while the tool cannot bypass OS security controls.
      MIT