re-binary-diff
Click on "Install 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., "@re-binary-diffdiff original.bin and patched.bin"
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.
re-binary-diff
MCP server for read-only binary comparison: a unified diff between two files, and a per-section fingerprint of one file. Dry-run only — the server never writes a byte to disk.
Why
The 2026-06-05 stress test surfaced a need to compare an
original binary against a patched copy (the Output/.../patches/
workflow) without re-introducing the on-disk patch primitive.
re-binary-diff is the read-only cousin: it reports the diff,
it never applies it.
Related MCP server: BinaryAnalysis-MCP
Tools
Tool | What it does |
| Health check — |
| Run |
| Return per-chunk SHA-256 + offset + size for a single file (a structural fingerprint, like |
Install
Part of the RE-AI plugin; ./install.sh installs the package. To
install standalone:
pip install -e ./servers/re-binary-diffRun
re-binary-diff # stdio transport (default for MCP)
python -m re_binary_diff # equivalentAvailable Tools
3 toolscheck_binary_diffA
Return server status + version. Always status: OK —
re-binary-diff has no external system dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool always returns 'status: OK' and has no external dependencies, which is useful behavioral context beyond a typical read operation. However, it does not specify the format or content of the version string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two sentences that front-load the key purpose and a notable characteristic (no dependencies). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description is fairly complete but lacks explicit details about the return structure (e.g., is version a string? object?). Minimal viable score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description cannot add meaning beyond the schema. Baseline of 4 applies as there are no gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns server status and version, with a specific verb 'Return' and resource. However, it does not differentiate from sibling tools like fingerprint_sections or unified_diff, which are likely diffing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies it's a health check, but lacks context such as prerequisites or typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fingerprint_sectionsA
Return a per-chunk SHA-256 + offset + size fingerprint of path.
Useful for finding the structural delta between two
versions of a binary without loading either into
memory. Pair with unified_diff (chunk mode) for
large files.
Args: path: file to fingerprint chunk_size: bytes per chunk (default 1 MiB) max_chunks: 0 = no cap; > 0 = return at most N chunks
Returns::
{
"path": "...",
"size": N,
"chunk_size": N,
"truncated": bool,
"chunks": [
{"index": 0, "offset": 0, "size": 1048576, "sha256": "..."},
...
],
}
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| chunk_size | No | ||
| max_chunks | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It describes the output format and parameter behavior, but does not explicitly disclose safety traits (e.g., read-only, no side effects). Some behavioral context is implied but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary line, a usage note, an Args section, and a Returns section. It is clear and front-loaded, though could be slightly more concise without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no output schema, and no annotations, the description is fairly complete: it explains all parameters, the return format, and usage context. It lacks error handling details but is sufficient for an agent to understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well. It explains each parameter in the Args block: path is the file, chunk_size is bytes per chunk with default, max_chunks explains 0 meaning no cap. This adds meaning beyond the schema's titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a per-chunk SHA-256+offset+size fingerprint of a path, with a specific verb and resource. It distinguishes from siblings by mentioning pairing with unified_diff for large files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: for finding structural delta between binary versions without loading into memory, and suggests pairing with unified_diff. It does not explicitly state when not to use, but the context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unified_diffA
Compute a unified-style diff between path_a and path_b.
For small files (<= 8 MiB per side) the function runs
difflib.unified_diff over the byte streams (decoded
as latin-1). For large files it falls back to a
per-chunk SHA-256 diff.
Args: path_a: first file (the "before" or "original") path_b: second file (the "after" or "patched")
Returns::
{
"path_a": "...",
"path_b": "...",
"size_a": N,
"size_b": N,
"mode": "sha256_equal" | "inline_unified_diff" | "chunk_sha256_diff",
"equal": bool,
"diff_lines": ["...", ...], (inline mode)
"chunk_diff": [{...}, ...], (chunk mode)
}The function is read-only. The "patched" copy at path_b is not modified.
| Name | Required | Description | Default |
|---|---|---|---|
| path_a | Yes | ||
| path_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly states the tool is read-only, describes the mode of operation (difflib vs chunk SHA-256), and outlines the return format. It could mention error handling but is sufficient for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but every sentence adds value: main verb, algorithm, parameters, return format, read-only note. It could be slightly more concise, but it is well-structured and front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers purpose, algorithm, threshold, return format, and read-only nature. It is complete enough for an agent to select and invoke, though lacking examples or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by providing clear parameter semantics: path_a is 'before/original' and path_b is 'after/patched'. This adds meaning beyond the raw schema, though no additional constraints or formats are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a unified-style diff between two files, specifies the algorithm (difflib for small, SHA-256 for large), and the return structure. It distinguishes itself from sibling tools by its specific focus on unified diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context (small vs large files) but does not explicitly compare to sibling tools or state when to use this vs alternatives. Usage is implied by the description of what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
check_binary_diff - First observed
fingerprint_sections - First observed
unified_diff
TDQS
Each tool has a clearly distinct purpose: a health check, a single-file fingerprint, and a two-file diff. There is no ambiguity about which tool to use for a given task.
Tool names use different patterns: 'check_binary_diff' (verb_noun), 'fingerprint_sections' (verb_noun), and 'unified_diff' (adjective_noun). The mixing of conventions reduces consistency.
With 3 tools, the server is well-scoped for binary diffing tasks. It covers the essential operations without excess, though some might argue a tool to list chunks could be merged.
The tool set covers the core workflow: fingerprint a file, compare two files, and check server status. There are minor gaps (e.g., no explicit tool to fetch specific chunks), but the provided tools are sufficient for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only verifier for 25 ProofRelay MCP tools and non-confidential evidence bundles.
Verify PyPI and npm packages, symbols, and version diffs against real artifacts. Free, no account.
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables intelligent file and folder comparison with advanced text normalization, duplicate detection, and line-level diff analysis. Provides secure workspace-constrained file operations with CRC32-based exact matching and smart text comparison capabilities.-
- AlicenseNot gradedqualityDmaintenanceEnables analysis of binary files (PE, ELF, Mach-O, COFF) by providing tools to retrieve info, headers, sections, imports, exports, libraries, security hardening, signatures, and COFF object file details.25GPL 3.0
- FlicenseNot gradedqualityDmaintenanceEnables bounded local filesystem inspection, comparison, and mutation with search and resume capabilities.-
- AlicenseBqualityCmaintenanceEnables read-only analysis of local disk usage to identify cleanup targets by size, type, recency, and duplicates.6171MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Heretek-RE/re-binary-diff'
If you have feedback or need assistance with the MCP directory API, please join our Discord server