codex-goal-viewer
Provides a compact side panel for Codex Desktop Goal tasks, showing structured goal progress, token consumption, and remaining-time estimates through Codex lifecycle hooks and an OpenAI thread entrypoint.
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., "@codex-goal-viewershow the goal progress, token usage, and ETA for my current task"
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.
Codex Goal Viewer
Codex Goal Viewer is a compact Codex Desktop plugin for long-running Goal tasks. It adds a conversation side-panel entrypoint that shows only:
Goal progress
Token consumption
A rough remaining-time estimate
Use the icon button at the bottom of the panel to collapse or expand it.
How it works
The plugin uses supported Codex and MCP interfaces instead of reading the desktop DOM or parsing free-form model text:
Trusted Codex lifecycle hooks record the current conversation session ID.
The hook asks the Goal agent to report
completedandtotalfrom its structured plan throughgoal_progress.report.The MCP server reads
tokensUsedandtimeUsedSecondsfrom Codexthread/goal/get.An MCP App with an OpenAI
threadentrypoint renders the compact side panel and refreshes every 2.5 seconds.
Progress is completed / total. ETA uses the elapsed Goal time and current percentage:
remaining = elapsed x (1 - completion) / completionThe panel displays a deliberately broad 75%-125% range. It is directional, not a deadline. Tokens are displayed but do not affect percentage or ETA.
Related MCP server: toshi-mcp
Install in Codex Desktop
Requirements:
Codex Desktop with plugin, hook, and MCP Apps support
Node.js 22 or newer available as
node
Install from the GitHub marketplace repository:
codex plugin marketplace add GuMu599/-codex-goal-viewer
codex plugin add codex-goal-viewer@gumu-codex-pluginsReview and trust the two plugin hooks when Codex asks. Start a new Goal conversation, or send the next message in an existing Goal conversation, so the hook can bind that conversation to the viewer.
Open the panel from the conversation header:
Select the
+button at the upper right to open a conversation side tab.Select 更多工具....
Under 插件和 MCP, select Goal Progress.
The 来源 card only confirms that codex-goal-viewer is connected; selecting that source does not open the panel. The first load can briefly show 暂无数据 while Codex returns the current Goal snapshot. Keep the Goal Progress tab open for live updates. Use the arrow at the bottom of the panel to collapse it to one line or expand it again.
Update or remove
codex plugin marketplace upgrade gumu-codex-plugins
codex plugin remove codex-goal-viewer@gumu-codex-pluginsLocal runtime state is stored under %USERPROFILE%\.codex-goal-viewer\plugin by default. Override it with GOAL_VIEWER_DATA_DIR when needed.
Development
npm ci
npm run build:plugin
npm test
npm run check
npm run verify:plugin
git diff --checknpm run verify:plugin checks the publishable files, launches the bundled MCP server, and verifies all three tools plus the text/html;profile=mcp-app thread resource.
For local marketplace development:
codex plugin marketplace add .
codex plugin add codex-goal-viewer@gumu-codex-pluginsAfter changing hook commands, Codex intentionally marks their new hashes as modified. Review and trust the updated hooks again.
Architecture
.agents/plugins/marketplace.json GitHub marketplace catalog
.codex-plugin/plugin.json Codex compatibility manifest
.mcp.json MCP server declaration
hooks/ Session binding and agent context
src/plugin/ MCP server, state, and panel source
src/codex/ Codex App Server client
dist/ Self-contained publishable bundlesThe repository still contains the original localhost viewer under src/server and src/public for development and regression coverage. The installed Codex plugin uses the bundled files in dist/.
Current limitations
Progress requires a structured plan with at least one step. The plugin never guesses a percentage from prose.
Existing conversations need one new user submission after installation so the hook can bind the session.
The active-session binding is local to the current Windows user. Rapidly alternating between multiple Goal conversations may briefly show the most recently active one until the current conversation reports again.
Lifecycle hooks make this a desktop/local-executor plugin. It is distributed through this GitHub marketplace repository rather than the universal public plugin directory.
Security
Hook commands are explicit and hash-trusted by Codex.
The plugin stores only the session ID, workspace/transcript paths supplied by Codex, and structured step counts.
It does not inspect model reasoning, scrape the UI, inject CDP, or send telemetry.
MCP App HTML is bundled locally; no remote scripts are loaded.
License
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Goal and task planning MCP for Codex and AI agents, with evidence-backed completion.
Persistent work tracking for AI agents: tasks, status and history that follow you across machines
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
See whether the work is moving the goal. Veloci turns a business goal into weekly commitments, and your AI assistant brings the evidence back from the tools you already use, like your CRM, support desk and docs. Every week you see progress against the commitments, with the records behind each update, and nobody writes a status update. From your agent you can set and review goals, plan the week, reconcile meeting notes against open commitments, and track work as tasks bound to goals. Early access for founder-led teams; sign in with an existing Veloci account. Request access at useveloci.com.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceProvides comprehensive telemetry and usage analytics for Claude Code sessions, including token usage tracking, cost monitoring, and tool usage patterns. Enables users to monitor their Claude usage with detailed metrics, warnings, and trend analysis.12-
- AlicenseNot gradedqualityBmaintenanceEnables a side-panel companion that watches your coding session and provides context-aware answers about your codebase and session state through a small, token-cheap MCP interface.1GPL 3.0
- FlicenseAqualityBmaintenanceEnables monitoring and analysis of agent goal achievement and failures across sessions, repos, and tools, with detailed views and tracing.3-
- AlicenseAqualityBmaintenanceEnables agents to monitor token/usage limits and persist work checkpoints, allowing them to pause, resume, and track progress across sessions.5MIT