Skip to content

Codex File Inspector 0.3.0

Latest

Choose a tag to compare

@Bathur Bathur released this 06 Oct 02:30

Adds optional local Streamable HTTP alongside the existing STDIO transport. The same executable and four read-only tools support both modes; STDIO remains the default.

What's new

  • Optional HTTP startup. Use --transport http to listen at http://127.0.0.1:43127/mcp. --port <1-65535> selects another port. The listener binds only IPv4 loopback, has no authentication, and permits other local MCP clients. Host and supplied Origin values are validated against the configured loopback endpoint.
  • Manual double-click launcher. The complete binary directory includes Start-Http.bat beside the executable. Double-click it to start HTTP with the default port and diagnostics disabled. It locates the neighboring executable, accepts extra startup arguments, and pauses after the executable exits so messages remain visible. It does not install a service or autostart entry.
  • Both protocol eras. The official MCP SDK 2.2.0 supports initialize-era clients and MCP 2026-07-28 clients. Legacy HTTP sessions retain their cancellation notifications; current HTTP requests cancel when their response stream closes. Service shutdown cancels active work in either era.
  • Shared startup and tooling. Both transports use the same tool registration, schemas, result budgets, bundled ripgrep, and process cleanup. HTTP host configuration does not come from the caller's working-directory appsettings or environment settings. Normal HTTP request access logs are suppressed.

The read_file, grep, glob, and list_directory APIs and inspected-target read-only behavior are unchanged. Optional failure diagnostics still use --diagnostics, remain disabled by default, and record only final standard tool error or partial results. HTTP startup/protocol failures are outside that JSONL capture boundary; successful calls are not recorded.

Start HTTP

Extract the complete binary archive and double-click Start-Http.bat, or run:

.\CodexFileInspector.exe --transport http

Keep the service running and configure the MCP client's URL as http://127.0.0.1:43127/mcp. Use Ctrl+C to stop the foreground service. The client connects to the running service rather than starting it.

For a different port and optional failure diagnostics:

.\Start-Http.bat --port 43128 --diagnostics

Set the client's URL to the same port. Existing STDIO command configuration can continue to use the executable without a transport argument. See the included README for complete configuration and upgrade steps.

Distribution and upgrade

The Windows x64 build is framework-dependent and now requires both the .NET 10 x64 runtime and the ASP.NET Core 10 x64 runtime, including in STDIO mode. This is an additional runtime requirement for existing STDIO installations. No runtime installer or automatic global configuration change is included.

The binary archive includes ripgrep 15.2.0. Keep the complete extracted directory together, including the launcher, assemblies, bundled ripgrep, runtime assets, and license files. Binaries are unsigned.

  • CodexFileInspector-0.3.0-win-x64.zip
  • CodexFileInspector-0.3.0-source.zip
  • SHA256SUMS for the release archives

The matching source archive includes the source and build inputs. The four existing tools' known limitations remain, including parent ignore-rule isolation, bare-CR grep line semantics, and long search working directories; HTTP does not change these search behaviors. See the included DESIGN for details.

Validation

The exported public source built with zero warnings or errors and passed 423/423 Release tests. Both the published executable and the executable extracted into a separate directory passed 32/32 tests—19 STDIO and 13 HTTP—with no skipped tests. These builds and checks used the exported public source, separately from the earlier development build.

All 136 archive entries—111 source and 25 binary entries—were rehashed against the packaging inputs. Extracted files matched their verification records. The reviewed license inventory for four distributed runtime NuGet packages, all 11 relative documentation links, and release-hygiene checks passed.

Both protocol eras were checked for tool metadata and calls. Six lifecycle cases used real bundled ripgrep and Windows Jobs to verify explicit cancellation, shutdown, and the protocol-specific disconnect rules. The legacy cancellation test explicitly sends the standard cancellation notification.

Native cmd launcher checks covered a relocated package directory with spaces and !, an unrelated working directory, extra startup arguments, missing-executable handling, pause behavior, and preserved error exit codes. Those launcher checks were separate from the public-source full test run and did not add an HTTP JSONL disk-write test.

A user-installed HTTP configuration also passed a smoke check in the current Codex session: all four tools were directly visible and callable, read continuation worked, and a confirmed missing path returned the expected non-retryable error. The public package's core Server DLL matches the previously checked local build. The Host smoke itself did not independently establish the external installation's file hashes, negotiated protocol version, running-call cancellation, disconnect/shutdown behavior, or diagnostic file writes; it was not repeated as part of archive verification.

These are local verification results, not broad cross-machine certification or an independent security audit.