A side-by-side look at the Graft and Codex MCP Tool MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Graft for coding agents work as a local process; choose Codex MCP Tool for coding agents as a local process. You can also run both side by side in one mcpServers block.
GRAFT_ROOT_PATH.safe_read, graft_edit, file_outline.CODEX_CLI_PATH, CODEX_SESSION_TTL_MS, CODEX_MAX_SESSIONS.ask-codex, batch-codex, review-changes.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Coding Agents | Coding Agents |
| Quality signal | 65/100 · Great | 68/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | other |
| Pricing | Free | BYOK (pay the provider) |
| Required env vars | GRAFT_ROOT_PATH | CODEX_CLI_PATHCODEX_SESSION_TTL_MSCODEX_MAX_SESSIONS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 17 | 24 |
| Directory activity | 1 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 34 | 13 |
| Full listing | View Graft | View Codex MCP Tool |
safe_readPolicy-enforced file read. Returns full content for small files, structural outline with jump table for large files, or refusal with reason code for banned files. Detects re-reads and returns cached outlines or structural diffs.graft_editPerform one governed exact string replacement in a repo file. Requires path, old_string, and new_string. Refuses missing or ambiguous old_string matches and policy-denied paths.file_outlineStructural skeleton of a file — function signatures, class shapes, exports. Includes a jump table mapping each symbol to its line range for targeted read_range follow-ups.read_rangeRead a bounded range of lines from a file. Maximum 250 lines. Use jump table entries from file_outline or safe_read to target specific symbols.changed_sinceCheck if a file changed since it was last read. Returns structural diff (added/removed/changed symbols) or 'unchanged'. Peek mode by default; pass consume: true to update the observation cache.graft_diffStructural diff between two git refs. Shows added, removed, and changed symbols per file — not line hunks. Defaults to working tree vs HEAD.run_captureExecute a shell command and return the last N lines of output (default 60). Responses include an explicit policy boundary. Persisted logs can be disabled and obvious secrets are redacted before writing to .graft/logs/capture.log.state_saveSave session working state (max 8 KB). Use for session bookmarks: current task, files modified, next planned actions.state_loadLoad previously saved session state. Returns null if no state has been saved.doctorRuntime health check. Shows project root, parser status, active thresholds, session depth, message count, and burden summary.activity_viewInspect recent bounded local artifact history for the active workspace, anchored to the current commit when possible.causal_statusInspect the active causal workspace and persisted local-history posture.ask-codexExecute Codex CLI with file analysis (@syntax), skills ($syntax), model selection, and safety controls. Supports changeMode.batch-codexDelegate multiple atomic tasks to Codex for batch processing. Ideal for repetitive operations, mass refactoring, and automated code transformationsreview-changesRun a code review against the current repository using Codex CLI native review subcommandpingEchohelpreceive help informationversionDisplay version and system informationbrainstormGenerate creative ideas using structured frameworks with domain context and feasibility analysis.fetch-chunkRetrieves cached chunks from a changeMode response. Use this to get subsequent chunks after receiving a partial changeMode response.timeout-testTest timeout prevention by running for a specified durationlist-sessionsList all active conversation sessions with metadata, or manage sessionshealthCheck Codex CLI and session health statuslist-skillsDiscover available Codex skills from .agents/skills/ directoryPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"flyingrobots-graft": {
"command": "npx",
"args": [
"-y",
"@flyingrobots/graft"
],
"env": {
"GRAFT_ROOT_PATH": "YOUR_GRAFT_ROOT_PATH_HERE"
}
}
}
}
{
"mcpServers": {
"x51xxx-codex-mcp-tool": {
"command": "npx",
"args": [
"-y",
"@trishchuk/codex-mcp-tool"
],
"env": {
"CODEX_CLI_PATH": "YOUR_CODEX_CLI_PATH_HERE",
"CODEX_SESSION_TTL_MS": "YOUR_CODEX_SESSION_TTL_MS_HERE",
"CODEX_MAX_SESSIONS": "YOUR_CODEX_MAX_SESSIONS_HERE"
}
}
}
}