010 Editor MCP Bridge
A local stdio MCP server for bounded binary analysis on disk and controlled interaction with a live 010 Editor session.
Inspect disk files, stream hashes, read bounded bytes, search overlapping hex patterns, and diff precise ranges.
Preview disk patches with expected-byte checks, then apply them copy-on-write to a new output file using a preview token.
Report server/editor status and read editor buffer identity, dirty state, selection, and unsaved bytes without disk fallback.
Select byte ranges and run trusted
.bttemplates from configured trusted roots in the live editor.Preview editor patches only; atomic unsaved-buffer patch application is unsupported and returns
CAPABILITY_UNSUPPORTED.Enforce allowed roots, bounds, zero-based file-local offsets, and avoid sending file contents to remote services.
Live editor operations require Windows and an existing 010 Editor instance; disk-only tools do not.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@010 Editor MCP Bridge Inspect sample.bin, hash it, and search for 50 4b 03 04."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
010 Editor MCP Bridge
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 |
| Backend availability, capabilities, limits and session diagnostics |
| File metadata, identity and optional streamed hashes |
| Bounded byte reads, overlapping pattern matches and precise difference ranges |
| Check expected bytes, preview a replacement and write a new output copy |
| Active named buffer, dirty state, selection and unsaved bytes |
| Select a byte range in the active document |
| Run a trusted |
| Check live bytes and preview a replacement |
| Returns |
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
Start 010 Editor, dismiss startup dialogs and keep one GUI instance open.
Enable Tools → Options → General → Allow Only One Instance of 010 Editor.
Open the target file and add its directory as an
--allowed-root. Named buffers may contain unsaved changes; untitled buffers need a filename.Set
--editor-exeand optionally--editor-pid. Calleditor_status, theneditor_context, and pass itsbuffer_idto 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 for50 4b 03 04, and compare it withsample.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 22withaa bbat 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 --wheelThe 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 toolsbinary_diffCRead-only
Compare bounded disk-file intervals and return precise bounded difference ranges.
Inputs: path_a (required), path_b (required), length, offset, +1 more.
binary_inspectBRead-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_previewBRead-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_readARead-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.
binary_searchCRead-only
Search a bounded disk interval for hex bytes, including overlapping matches.
Inputs: path (required), pattern_hex (required), length, offset, +1 more.
editor_contextARead-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_previewCRead-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_readBRead-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_statusARead-only
Detect an existing editor/bridge and report supported live capabilities.
Inputs: no named parameters.
server_statusARead-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
Scored across 14 tools
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.
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.
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.
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
Related MCP Connectors
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Run verified read-only code tools: quant diagnostics + agent-ops preflight, no source exposure.
A read-only verified record of agent-operable GTM tools: search, fetch, compare, track changes.
Securely search and manage workspace context files for AI agents and teams.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 npm76ISC
- FlicenseAqualityBmaintenanceEnables 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.143-
- AlicenseAqualityBmaintenanceEnables 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.11Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables 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