by shixinnt
A Codex plugin and local MCP runtime for context-bounded image generation and inspection.
# Add to your Claude Code skills
git clone https://github.com/shixinnt/codex-image-context-runtimeGuides for using mcp servers skills like codex-image-context-runtime.
codex-image-context-runtime is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by shixinnt. A Codex plugin and local MCP runtime for context-bounded image generation and inspection. It has 51 GitHub stars.
codex-image-context-runtime's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/shixinnt/codex-image-context-runtime" and add it to your Claude Code skills directory (see the Installation section above).
codex-image-context-runtime is primarily written in JavaScript. It is open-source under shixinnt on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh codex-image-context-runtime against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Keep image-heavy Codex workflows responsive, resumable, and context-bounded.

Fictional concept interface—not an actual Codex UI or a measured context, token, speed, or latency benchmark.
Image Context Runtime for Codex is an experimental open-source Codex plugin backed by a durable local MCP runtime. It runs image generation and inspection as persisted jobs, keeps provider-returned media bytes behind the public MCP boundary, and returns only bounded text results, hashes, relative references, and Job IDs.
Use it when Codex is:
Important: This project reduces one source of context pressure. It does not claim that Codex can never slow down, that images use zero tokens, or that explicitly opening an image adds no visual context.
The plugin does not patch or intercept Codex's built-in image features or other image tools. The bounded boundary applies only when Codex uses this plugin's MCP tools and follows its bundled skill.
User-facing shape: a Codex plugin.
Execution shape: a bundled local MCP server plus a durable image-job runtime.
Codex skill
|
v
bounded MCP tools
|
v
durable local jobs ----> optional OpenAI API
|
+----> configured-workspace image artifacts
|
+----> bounded text handoffs, hashes, refs, and Job IDs
The plugin is the installable workflow. MCP is the tool boundary. The Runtime owns Job state, controls media transfer, and writes generated artifacts only to configured workspace-relative paths.
Video generation is intentionally out of scope for v0.1.
Clone this repository with GitHub's Code menu, then run the following commands from its root. The configuration helper runs outside Codex, so a local clone is required:
codex plugin marketplace add .
codex plugin add codex-image-context-runtime@codex-image-context-runtime
The default provider is offline and deterministic, so installing the plugin cannot accidentally spend API credits.
For a first installation, choose one Provider configuration. For the offline mock:
node plugins/codex-image-context-runtime/scripts/configure.mjs --workspace "C:\path\to\your\project" --provider mock
Or, for the optional OpenAI Provider, make the key available to the Codex process and configure OpenAI from the start:
$env:OPENAI_API_KEY = "set-this-outside-the-repository"
node plugins/codex-image-context-runtime/scripts/configure.mjs --workspace "C:\path\to\your\project" --provider openai
The configuration file stores paths and model choices only. It never stores the API key.
The PowerShell environment assignment applies only to that shell and child processes. Launch Codex CLI from that shell, or use your operating system's environment/credential workflow before starting the desktop app. Restart Codex after configuration or credential changes.
To switch an existing mock setup to OpenAI, first stop the active worker, then replace the config and use a new Runtime directory so in-flight state is not mixed:
node plugins/codex-image-context-runtime/scripts/configure.mjs --workspace "C:\path\to\your\project" --provider openai --runtime-dir "C:\path\to\image-runtime-openai" --force
Use Image Context Runtime to generate one 1024x1024 storyboard frame.
Keep the image bytes outside this task and return the Job ID.
Inspect images/frame-001.png for composition, continuity, and obvious text defects.
Return only the bounded inspection handoff.
The bundled skill instructs Codex to submit the job, poll by Job ID, and retrieve the compact handoff instead of asking the MCP server to return pixels.
This is an independent open-source project. It is not affiliated with or endorsed by OpenAI.
Public MCP results:
The runtime can still send an image to an explicitly enabled remote provider for inspection. Local runtime ownership is not the same as offline processing.
The local job records persist prompts, inspection questions, relative references, and provider state. Protect the configured Runtime directory as project data.
One Runtime directory has exactly one active MCP worker. A second process targeting the same directory fails closed with runtime_already_running instead of reconciling or redispatching another live worker's jobs. A dead owner's stale PID lock is recovered on the next start.
If a process is forcibly killed during the millisecond-scale lock-takeover critical section, an empty runtime.lock.guard directory can remain. Verify that no worker is running before removing that guard manually; the Runtime never guesses that an acquisition guard is stale.
For simultaneous Codex tasks, use distinct configuration and Runtime directories. A shared multi-client broker is a later roadmap item; v0.1 does not pretend that process-local coordination is cross-session coordination.
See Architecture, Tool reference, Claims, Benchmark methodology, v0.1 validation receipt, Roadmap, Security, Third-party services, and Contributing.
The included benchmark compares:
Run it with:
npm run benchmark
This is a deterministic serialized-payload proxy. It is not a measurement of Codex tokens, latency, memory usage, or native image handling.
The checked-in v0.1 scenario models 20 jobs with 1 MiB synthetic images:
| Transport | Serialized MCP result bytes | Largest result |
|---|---|---|
| Naive inline-image baseline | 27,990,140 | 1,398,617 |
| Reference-only candidate | 27,060 | 739 |
That is a 99.903% reduction for this synthetic result-payload comparison only. See the methodology and reproducible JSON report before quoting it.
npm test
npm run benchmark:verify
npm run check:privacy
All default tests are offline and make zero real provider calls.
v0.1 is an experimental public baseline. Review the threat model and data path before enabling a paid provider in a sensitive project.
Apache License 2.0. This independent project is not affiliated with or endorsed by OpenAI.