Skip to main content
Glama

bitslicer-mcp

A safety-bounded, macOS ARM64 bridge that lets Codex use Bit Slicer's real memory-inspection engine through the Model Context Protocol (MCP). It does not automate the GUI: a TypeScript stdio server talks over a user-only Unix socket to a separately built Bit Slicer MCP application.

Authorization requirement: Use this project only with software and processes you own or are explicitly authorized to assess. The bridge is read-only by default. Memory writes require explicit opt-in at both server layers, approval of the target, and a short-lived edit session. This project does not provide injection, target code execution, stealth, anti-cheat bypass, arbitrary shell access, unrestricted process control, or automatic page-protection changes.

Status

The read-only native integration is implemented against pinned upstream Bit Slicer commit 035ca123781152a97245d2f8b9d1a8149202386d. Process listing, explicit attachment, VM regions, bounded reads/dumps, typed exact scans, exact and relative refinement, pointer-chain resolution, loaded Mach-O images, and bounded ARM64 disassembly call verified Bit Slicer source APIs. All real-target writes remain disabled.

The build is named Bit Slicer MCP, uses bundle ID com.krisgnyc.BitSlicerMCP, and is emitted under this repository. It neither changes nor replaces /Applications/Bit Slicer.app.

flowchart LR
    C["Codex / ChatGPT desktop"] -->|"MCP over stdio"| M["TypeScript MCP server"]
    M -->|"newline JSON + launch token"| U["0600 Unix socket"]
    U --> N["Native companion in Bit Slicer fork"]
    N --> B["Pinned, inspected Bit Slicer internal abstractions"]
    N --> P["Native target approval"]
    M -. local tests .-> K["In-memory mock bridge"]

Related MCP server: hopper-mcp

What is included

  • 16 MCP tools covering connection health, processes, explicit attachment, regions, bounded reads, value scans and filtering, pointer chains, loaded Mach-O images, bounded dumps, ARM64 disassembly, and controlled edit sessions.

  • A newline-delimited JSON protocol with a per-launch token and checked request/response IDs.

  • A Swift socket-listener skeleton for protocol development plus a real Objective-C overlay linked into a pinned Bit Slicer source checkout.

  • A complete mock target and integration tests for attach/read/scan/patch/apply/undo behavior.

  • Protocol notes, threat model, tool reference, integration plan, and roadmap in docs/.

New to MCP? Follow the Mac-specific TUTORIAL.md, an absolute beginner's guide with copy-and-paste Codex prompts for attaching, scanning, refining, reading, and disassembling.

Requirements

  • Apple Silicon Mac, macOS 13 or later

  • Node.js 20 or later and npm

  • Xcode 16 or newer for the integrated application build

Build and test

cd /absolute/path/to/bitslicer-mcp
npm install
npm run check
./scripts/build-bit-slicer-mcp.sh

npm run check runs the TypeScript/mock and Swift-package tests. The build script obtains the pinned upstream checkout under ignored upstream/, applies the reviewed overlay, builds arm64, ad-hoc signs a distinct product, and emits build/Bit Slicer MCP/Bit Slicer MCP.app.

Try it locally with the mock bridge

Generate a fresh token for this launch and keep the same shell environment for both processes:

cd /absolute/path/to/bitslicer-mcp
export BITSLICER_SESSION_TOKEN="$(openssl rand -hex 32)"
export BITSLICER_SOCKET_PATH="/tmp/bitslicer-mcp-$UID.sock"
export BITSLICER_ENABLE_WRITES=false
npm run build
npm run mock

The mock process is PID 4242; attachment still requires a meaningful authorizationReason. Set BITSLICER_ENABLE_WRITES=true in both bridge and MCP-server environments only for an authorized patching exercise.

Connect Codex exactly

Codex supports local stdio MCP servers and stores shared configuration in ~/.codex/config.toml or a trusted project's .codex/config.toml. See the official MCP configuration documentation.

  1. Build the project once:

    cd /absolute/path/to/bitslicer-mcp
    npm install && npm run build
  2. Start the integrated app with the automated launcher. On this Mac:

    cd /Volumes/Ex-SSD/REV-ENG/bitslicer-mcp
    npm run launch

    Alternatively, double-click Launch Bit Slicer MCP.command in Finder. The app generates a fresh token, writes a mode-0600 session descriptor under the current user's Application Support directory, and removes it when the app exits. The MCP server rereads it for every request, so relaunching the bridge does not require restarting Codex. The MCP ● menu-bar item shows listener/target status.

  3. Add this exact table to ~/.codex/config.toml, replacing both absolute paths:

    [mcp_servers.bitslicer]
    command = "/absolute/path/to/node"
    args = ["/absolute/path/to/bitslicer-mcp/dist/src/server.js"]
    default_tools_approval_mode = "writes"
    startup_timeout_sec = 10
    tool_timeout_sec = 75
    enabled = true

    Find the Node path with command -v node. No secret is stored in Codex configuration.

  4. Restart the Codex app/CLI host once after installing or changing this entry. Future Bit Slicer MCP launches do not require a Codex restart. Run codex mcp list or type /mcp in the Codex TUI to confirm the server, then call ping before listing processes.

  5. Call attach with a PID and an explicit authorization reason. Bit Slicer MCP shows a local approval prompt before acquiring the task. Real-target writes are not available in this build even if the environment flag is changed.

See docs/codex-usage.md for safe prompting and troubleshooting.

Repository layout

src/       TypeScript MCP server, client, validation, and mock bridge
test/      Node unit and Unix-socket integration tests
native/    Swift package and Bit Slicer integration seam
integration/ Reviewed Objective-C overlay using verified upstream APIs
scripts/    Reproducible pinned-source preparation and app build
protocol/  Machine-readable JSON Schema
docs/      Architecture, protocol, threat model, tool reference, and roadmap

Design boundaries

  • Socket access is local and file mode 0600; every request also carries a high-entropy token generated automatically by the native app for that launch. Its session descriptor is stored in a mode-0700 directory with mode-0600 permissions.

  • A target must be explicitly attached and approved before target operations.

  • Reads, dumps, pointer depth, scan results, disassembly, and patch sizes are bounded.

  • Dumps are returned as data; neither MCP nor bridge exposes arbitrary filesystem paths.

  • The integrated app exposes no write primitive and never changes page protections.

  • Patch preview compares expected bytes; apply compares them again and consumes a one-time confirmation. Undo also compares the post-patch bytes before restoring.

License

MIT. This repository is independent and does not include Bit Slicer source code.

Available Tools

16 tools
apply_memory_patchA
Destructive

Apply only a previously previewed patch using its one-time confirmation ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
editSessionIdYes
confirmationIdYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive and non-idempotent behavior. The description adds context by requiring a previously previewed patch and a one-time confirmation ID, which explains the non-idempotence and workflow. This goes beyond simply repeating annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that contains all essential information without filler. It is appropriately concise for the tool's narrow purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the key workflow constraint (previewed patch) and the one-time ID, which is sufficient given the sibling tools and simple parameter set. However, it does not describe success/error behavior or clarify editSessionId, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero descriptions for both parameters. The description explains 'confirmationId' as a one-time confirmation ID but gives no information about 'editSessionId', its origin, or its relation to the session. With 0% schema coverage, the description only partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('apply') and the resource ('previously previewed patch'), and specifies the one-time confirmation ID. This distinguishes it from sibling tools like preview_memory_patch and undo_last_patch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly limits usage to 'only a previously previewed patch' and emphasizes the one-time nature of the confirmation ID, implying a prerequisite of prior preview. However, it does not explicitly state when not to use the tool or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attachB
Read-only

Request explicit attachment. The native bridge must independently approve the target before access.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes
authorizationReasonYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond annotations by disclosing that the native bridge must independently approve the target before access, which conveys the tool's non-guaranteed, approval-dependent nature. This is useful context not captured by the readOnlyHint or destructiveHint flags. It does not contradict the annotations, and adds meaningful behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, front-loaded sentences with no filler. Every word adds value, and the key information (request, approval) is immediately present. It is an excellent example of conciseness without under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (two params, simple action) and no output schema, the description covers the core purpose and approval requirement. However, it lacks context on what happens after successful approval, how to interpret results, and when exactly to issue this request in a broader workflow. These gaps are notable but not severe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter names 'pid' and 'authorizationReason' are self-explanatory, but the description provides no additional meaning for these fields. Schema coverage is 0%, so the description should compensate by clarifying the parameters' roles, which it fails to do. An agent must infer the semantics solely from the names and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Request' and the resource 'attachment', making it clear the tool initiates an attach operation. The scope is slightly vague (what target?) but the schema's 'pid' property clarifies that it attaches to a process. It is distinct from sibling tools, which focus on memory operations or edits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. The phrase 'before access' implies it is a prerequisite for other operations, but it does not name specific sibling tools or describe the workflow. There are no exclusions or comparison with other attach-like tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

begin_edit_sessionA
Destructive

Begin a short-lived write session. Requires server write opt-in and native target authorization.

ParametersJSON Schema
NameRequiredDescriptionDefault
justificationYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true; description adds 'short-lived' and authorization requirements as useful context. However, it does not explain session expiration behavior or the need to end the session, and it doesn't mention potential side effects of opening a write session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the primary action and followed by prerequisites. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, yet the description does not mention what the session returns (e.g., session ID) or how the session is used with sibling tools. It also lacks parameter semantics, making the description incomplete for effective invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description makes no mention of the required 'justification' parameter. With 0% schema description coverage, the description fails to explain the purpose or content of the justification, leaving the agent to infer from the name alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Begin' with resource 'short-lived write session' clearly states the tool's function. It also distinguishes from siblings like end_edit_session and apply_memory_patch by establishing this as the session initiation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear prerequisite context ('requires server write opt-in and native target authorization') but does not explicitly state when to use vs alternatives. The sibling end_edit_session implies the pairing, but no explicit 'use before write operations' guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

disassembleC
Read-only

Decode a bounded instruction range through the bridge disassembly abstraction.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes64-bit address as a 0x-prefixed hex string
architectureNo
instructionCountYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint and destructiveHint annotations already indicate a safe, non-destructive operation. The description adds the 'bounded instruction range' detail, which is useful context, but it does not describe output format, error behavior, or limitations beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, which is appropriately short and front-loaded. However, the term 'bridge disassembly abstraction' is jargon and does not add meaningful clarity, so it is not perfect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, the description should explain what the disassembly result looks like, but it does not. It also omits important context such as the fixed architecture (arm64) and the maximum instruction count, which are only present in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only 'address' has a description), and the tool description does not compensate. The phrase 'bounded instruction range' hints at instructionCount, but it does not explain how parameters interact or what 'address' and 'instructionCount' mean in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Decode') and a resource ('a bounded instruction range'), which clearly distinguishes it from sibling tools like read_memory and dump_memory. The phrase 'through the bridge disassembly abstraction' is somewhat vague, but the overall purpose is still clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like read_memory or dump_memory. It does not mention prerequisites, such as attaching to a process, or scenarios where disassembly is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dump_memoryA
Read-only

Return a base64 memory dump of at most 1048576 bytes; this tool does not write files.

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYes
addressYes64-bit address as a 0x-prefixed hex string

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'does not write files'. The added value is the base64 return format and the byte cap, which helps the agent anticipate output size and encoding. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with two clauses, front-loaded with the primary action. Every word earns its place; the redundant 'does not write files' is brief and reinforces the safety profile without bloating the description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description specifies the return format as base64 and includes the byte cap, covering the essential behavior. It does not mention error handling or interaction with mapped memory regions, but that can be inferred from sibling tools like list_memory_regions. Overall reasonably complete for a simple dump operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers address with a clear description, but length lacks any schema-level explanation. The description's 'at most 1048576 bytes' implies length corresponds to the number of bytes and enforces the cap, adding meaningful semantics beyond the schema's min/max. However, it does not explicitly state 'length is the number of bytes to dump', leaving a small interpretive gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (return), the resource (memory dump), and key constraints (base64, max 1048576 bytes). It distinguishes itself from file-writing and patch tools, and the specific output format and size limit set it apart from a generic read_memory operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not reference sibling tools like read_memory, nor does it state ideal scenarios, exclusions, or selection criteria beyond the byte limit and read-only behavior. The usage context is largely implied by the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

end_edit_sessionA
Destructive

Invalidate previews and close the active edit session.

ParametersJSON Schema
NameRequiredDescriptionDefault
editSessionIdYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint=true already signals mutation, and the description adds specific behavioral details: it invalidates previews and closes the active session. This provides useful context beyond the annotation and does not contradict it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with two clear actions. No filler or redundant phrasing. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, one required parameter, and existing annotations, the description provides sufficient information. It does not specify return values, but no output schema exists, and the tool's effect is clear. However, it could have mentioned that unapplied patches are discarded, which is a slight gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter with no description (0% coverage). The description mentions 'the active edit session' but does not explicitly explain that editSessionId is the identifier for that session. It provides minimal added meaning, so a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs 'Invalidate' and 'close' targeting 'previews' and 'active edit session', clearly distinguishing it from siblings like begin_edit_session and apply_memory_patch. It leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool or provide alternatives. The context implies it is used to end an edit session, but no direct guidance is given. This is acceptable but minimal, warranting a 3.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

filter_scanA
Read-only

Filter a prior scan using an exact, changed, unchanged, increased, or decreased predicate.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
scanIdYes
predicateYes
maxResultsNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false, which already inform the agent this is a safe read operation. The description adds no additional behavioral context beyond what the annotations provide, such as return format or how predicates are applied. It does not contradict the annotations, but it also does not enhance transparency meaningfully.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and resource, then lists the predicate types concisely. It is free of filler, redundant phrasing, or unnecessary detail. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only filter tool with annotations, the description is minimally viable. However, it lacks context about the expected pairing of 'value' with the 'exact' predicate, what the output shape is (no output schema), and the relation to scan_value. The description is thin but conveys the core function without major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate by explaining the parameters. It only repeats the predicate enum values from the schema, offering no new meaning. The parameters scanId, value, and maxResults are not described at all. The description adds marginal value for predicates but leaves most parameters unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (filter) and the target (a prior scan), and enumerates the supported predicate types (exact, changed, unchanged, increased, decreased). This distinguishes it from sibling tools like scan_value, which creates scans, and read_memory, which reads memory. The verb and resource are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'prior scan' implies that the tool should be used after a scan is created, and the sibling tool scan_value is the likely precursor. However, the description does not explicitly say when to use this tool versus alternatives, nor does it state exclusions or when not to use it. The usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_loaded_imagesA
Read-onlyIdempotent

List Mach-O images loaded in the approved target.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds the 'approved target' scope but does not disclose behavior like the output format or that it returns base addresses, paths, or other details. This is moderate additional context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the action and scope. Every word adds value, with no filler or repetition. It is appropriately front-loaded for quick agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only listing tool, the description captures the essential purpose and scope. However, it does not mention what the returned list contains (e.g., paths, addresses, UUIDs), which could matter for an agent deciding whether this tool solves a task. Given the lack of an output schema, a bit more return detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so there are no parameter semantics to explain. The baseline of 4 for zero-param tools applies, and the description does not need to compensate for any parameter documentation gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List) and the resource (Mach-O images loaded in the approved target). This distinguishes it from sibling tools like list_memory_regions, which target a different subject. The phrasing is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It does not mention cases where list_memory_regions or other enumeration tools would be more appropriate, nor any exclusions or prerequisites. The agent is left without contextual selection help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_memory_regionsA
Read-onlyIdempotent

List mapped regions for the currently approved target.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description's main contribution is the 'currently approved target' statefulness, which is important behavioral context. It doesn't detail error cases or return format, but with strong annotations this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the action and resource. Every word earns its place, and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters, no output schema, and clear annotations, the description is fully sufficient. It states the action, the resource, and the required state (approved target), making it complete for an agent to select and invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema coverage (trivially), so the description has no parameter burden. The baseline for 0-parameter tools is 4, and the description effectively communicates what the tool operates on.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('List') and resource ('mapped regions'), and adds the scope 'for the currently approved target,' distinguishing it from siblings like list_loaded_images. It is unambiguous and concise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'currently approved target' provides clear context about the tool's dependency on a selected target, implying it should be used after target approval. However, it does not explicitly compare with alternatives or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_processesA
Read-onlyIdempotent

List attachable processes. Listing does not authorize attachment.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds a behavioral context beyond the annotations: it explicitly states that listing does not grant authorization to attach, which is an auth-related nuance not covered by the readOnly/idempotent hints. This is valuable for the agent to understand the tool's limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the core purpose and containing a single additional clarifying sentence. Every word earns its place, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with minimal schema and helpful annotations, but the lack of parameter explanation and any description of return format leaves gaps. The core purpose is clear, but the agent is left to infer how to use the query parameter and what the output looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes a single optional 'query' parameter but provides no description, and the tool description does not explain how 'query' affects the results. With 0% schema description coverage, the description fails to compensate, leaving the parameter's meaning ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'List attachable processes.' It also distinguishes itself from the sibling tool 'attach' by clarifying that listing does not authorize attachment, eliminating ambiguity about its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to discover attachable processes before a separate attachment action, and the note 'Listing does not authorize attachment' signals that this tool is not a substitute for 'attach'. While it does not explicitly name an alternative, the context is clear enough for the agent to infer when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingA
Read-onlyIdempotent

Check the local Bit Slicer bridge and report capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the tool reports capabilities, disclosing expected output. No further behavioral traits are provided, which is acceptable given the simplicity of a ping endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only ping tool with annotations covering safety, the description is complete: it states what the tool checks and what it reports. No output schema is needed, and the sibling tools context reinforces the tool's unique role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4 as per rubric. The description does not need to explain parameters, and the schema confirms an empty object. No additional parameter semantics are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check') and resource ('local Bit Slicer bridge') with a clear outcome ('report capabilities'). It is immediately distinct from sibling tools like read_memory, scan_value, or attach, which perform other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for verifying bridge connectivity and capabilities before other operations, which is clear context. However, it does not explicitly state when not to use it or mention alternatives, though no sibling tool serves the same health-check role, so the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_memory_patchC
Destructive

Compare expected bytes and preview a patch of at most 64 bytes without writing.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes64-bit address as a 0x-prefixed hex string
expectedHexYes
editSessionIdYes
replacementHexYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'without writing', but the annotation declares destructiveHint=true, which is a direct contradiction. Additionally, it doesn't disclose what happens on a mismatch (e.g., whether it returns an error) or what the preview output contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. There is no wasted wording, and the key constraint 'at most 64 bytes' is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 required parameters, no output schema, and low parameter documentation. The description does not explain how to obtain an edit session, what the preview returns, or how the tool fits into the broader workflow. It is insufficient for safe or correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is only 25% (only 'address' is described), and the description adds little meaning. It mentions 'expected bytes' but doesn't explicitly link to expectedHex, and it doesn't explain editSessionId or replacementHex. With such low coverage, the description should compensate but doesn't.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares expected bytes and previews a patch without writing, using specific verbs ('compare', 'preview') and a resource ('patch'). The phrase 'without writing' implicitly distinguishes it from apply_memory_patch, though it doesn't explicitly name that alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus siblings, no mention of prerequisites such as an active edit session, and no explanation of how it relates to apply_memory_patch or undo_last_patch. The description only states what it does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_memoryB
Read-onlyIdempotent

Read at most 65536 bytes from an approved target.

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYes
addressYes64-bit address as a 0x-prefixed hex string

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description carries a low burden for safety disclosure. It adds the context of 'approved target' and the 65536-byte limit, but does not explain what happens if the target is not approved or whether there are prerequisites (e.g., attach). This is some extra context but not rich behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence of nine words, with no wasted or redundant content. It is appropriately front-loaded and easily parsed, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool, the description leaves out critical context: what qualifies as an 'approved target', whether prior steps like attach or list_memory_regions are required, and what the return value looks like (since no output schema exists). Given the sibling tools, it is unclear how this differs from dump_memory, so the description is not complete enough for an agent to select and invoke confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with only the address parameter described in the schema. The description mentions the 65536-byte limit, which duplicates the length parameter's maximum constraint, but does not add meaningful detail about the address or length semantics beyond what the schema provides. It does not compensate for the missing length description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (read) and the resource (target, implying memory given the tool name), along with the size limit of 65536 bytes. However, it does not distinguish this tool from sibling tools like dump_memory or disassemble, so it lacks differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'approved target' but does not explain when approval is needed or when dump_memory or other read-related tools would be more appropriate. No exclusions or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_pointer_chainA
Read-only

Resolve a base address plus a bounded sequence of pointer offsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetsYes
baseAddressYes64-bit address as a 0x-prefixed hex string

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the 'bounded' constraint (matching maxItems) and implies sequential pointer dereferencing, but it does not disclose potential failure modes (e.g., invalid addresses), whether memory is actually read at each step, or the exact return value. This is partial disclosure beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's purpose without extraneous words. Every word contributes value, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity (two params, no output schema) the description is minimal but not entirely inadequate. It lacks critical context such as the expected return value (resolved address), when to use the tool vs alternatives, and possible failure conditions. It is complete for a very narrow definition but leaves gaps for an agent invoking it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema coverage is only 50% (baseAddress has a description but offsets does not), the description compensates by clarifying that offsets are 'pointer offsets' and forming a 'bounded sequence'. This adds meaningful semantics beyond the raw schema for the offsets parameter, which otherwise lacks any description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Resolve') and resource ('base address plus a bounded sequence of pointer offsets'), which is a distinct operation from sibling tools like read_memory or dump_memory. It unambiguously identifies the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor are any exclusions or prerequisites mentioned. The description simply defines the operation without contextualizing its use relative to memory reading or scanning tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_valueA
Read-only

Start a bounded integer or UTF-8 string scan in readable regions.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
valueTypeYes
maxResultsNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the scan targets 'readable regions' and is 'bounded', providing useful behavioral context beyond the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence that gets straight to the point without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is too brief for a tool with no output schema. It doesn't explain what the scan returns, how to use the results with filter_scan, or the implications of 'bounded' (e.g., result count limit).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero parameter descriptions, so the description must compensate. It clarifies that 'value' can be an integer or UTF-8 string and that the scan is 'bounded', which relates to maxResults, but it doesn't elaborate on valueType semantics or maxResults defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Start a scan'), the object (integer/UTF-8 string), and scope (readable regions), distinguishing it from sibling tools like filter_scan or read_memory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for beginning a scan workflow but does not explicitly name alternatives or exclusion criteria. It relies on sibling tool names (e.g., filter_scan) to infer the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

undo_last_patchA
Destructive

Undo the latest patch in the edit session using recorded compare-before-write metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
editSessionIdYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the description carries less burden. It adds the mechanism of using recorded compare-before-write metadata, but does not disclose potential failure modes (e.g., no patches to undo) or require an active edit session. This is a minimal value-add beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the verb 'Undo' and provides the essential action and context. There is no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with one parameter, the description is minimal but not complete. It lacks an explanation of the parameter, does not mention prerequisites like an active edit session, and does not describe return values or errors. The sibling context helps, but the description alone is barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (editSessionId) with no description (0% coverage). The description mentions 'edit session' but does not explicitly explain that editSessionId is the identifier for the session or how to obtain it. This leaves the parameter semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Undo), the target (latest patch), and the context (edit session). It also mentions the mechanism (compare-before-write metadata), which distinguishes it from the sibling tool apply_memory_patch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage in the context of an edit session but does not explicitly state when to use it versus alternatives. There is no mention of conditions like 'after an unintended patch application' or exclusions.

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.

  1. 16 tool updatesv0.1.0
    • First observedapply_memory_patch
    • First observedattach
    • First observedbegin_edit_session
    • First observeddisassemble
    • First observeddump_memory
    • First observedend_edit_session
    • First observedfilter_scan
    • First observedlist_loaded_images
    • First observedlist_memory_regions
    • First observedlist_processes
    • First observedping
    • First observedpreview_memory_patch
    • First observedread_memory
    • First observedresolve_pointer_chain
    • First observedscan_value
    • First observedundo_last_patch

TDQS

A3.6/5.0

Scored across 16 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: attach/list processes, read/dump memory, scan/filter, edit session phases, and utility functions. The only close pair is read_memory vs dump_memory, but descriptions clearly distinguish by size and encoding.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (e.g., list_memory_regions, apply_memory_patch, resolve_pointer_chain). Standalone verbs like ping, attach, and disassemble are also in snake_case and fit the convention.

Tool Count4/5

16 tools is slightly above the typical 3-15 range for a well-scoped server, but every tool serves a distinct function in the memory editing workflow. The count feels justified by the domain's complexity.

Completeness4/5

Covers process attachment, memory enumeration/reading, scanning/filtering, pointer resolution, disassembly, and a safe patch workflow with preview/apply/undo. Missing an explicit detach tool, and writes are restricted to previewed patches, but the core lifecycle is well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A Linux-native MCP server that gives AI assistants direct access to DMA-based memory operations for memory inspection, process analysis, reverse engineering, and game engine SDK extraction via natural language.
    13
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server providing LLM clients with structured, transaction-safe access to Hopper-derived reverse-engineering snapshots, enabling binary analysis without the disassembler in the model's context window.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A local, privacy-first MCP server that orchestrates Ghidra, Binary Ninja, x64dbg, and system tools to provide AI assistants with powerful binary analysis capabilities.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A macOS-native MCP server that provides AI hosts with fresh workspace state, bounded context, and retained execution evidence, avoiding collapsing operations into shell strings.
    322 npm
    1
    Apache 2.0