Effort MCP Server
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., "@Effort MCP ServerRecommend an effort level for debugging this intermittent race condition."
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.
The Effort Project
Spend reasoning where it helps. Effort picks a reasoning effort (low, medium or high) for each prompt you give a coding agent, checks the result with your own tests, and tells you why it chose that level. It runs entirely on your machine, has no runtime dependencies, and works with Claude Code, Codex, OpenCode and any app that supports local MCP servers.
Status: experimental (0.1). Effort's decisions come from transparent rules, not a trained model, and it has not yet shown lower cost at equal quality. See Limits.
Why
Coding agents let you choose how hard the model thinks, but almost nobody changes that setting from one prompt to the next. High effort on a typo wastes time and tokens. Low effort on a race condition wastes an afternoon. Effort makes the call before each prompt, using rules you can read in one file (src/policy.mjs), and raises effort only when your tests keep failing the same way.
It only uses each agent's real effort setting. It never edits your agent's settings files, never fakes effort by adding "think harder" to a prompt, and never interrupts a request that is already running.
Related MCP server: CaseMargin MCP Server
Set it up once
Effort plugs into the tool you already use. After a one-time setup, your agent starts Effort by itself in every session, so there is no terminal or web page to keep open.
You use | One-time setup | What you get in every session |
Claude Code | In Claude Code, run | A one-line suggestion before a prompt when a rule fires, such as Effort suggests high for this prompt. You apply it with |
OpenCode | Run | Effort switches the model's effort automatically before each prompt. Details |
Codex CLI | Run | Effort's MCP tools: ask Codex which effort a task needs, then set it with Codex's own selector. Details |
Claude desktop, or any app with local MCP | Run | The same MCP tools in that app. Details |
Claude Code and Codex don't let a plugin change effort on its own, so in those tools Effort suggests and you decide. For automatic switching there, see Automatic sessions.
Install
You need Node.js 22 or later. Effort has no npm dependencies and no install scripts.
npm install --global github:AntyLab/effort-project
effort doctoreffort doctor shows which agent CLIs Effort can start. The Claude Code plugin doesn't need this step, because Claude Code downloads it from GitHub, but it still needs Node.js 22 or later. To work on Effort itself, clone the repository and run node bin/effort.mjs wherever this page says effort.
To uninstall, run npm uninstall --global effort-project. Effort keeps run records in ~/.effort-project (or in EFFORT_DATA_DIR); delete that folder to remove your history.
Try it
$ effort recommend "Fix the typo in the README"
LOW · heuristic recommendation
The request appears short and mechanical; verify the result before accepting it.
A transparent heuristic, not a trained difficulty model or a measured quality guarantee.
$ effort recommend "Investigate an intermittent race condition in the job queue"
HIGH · heuristic recommendation
The request touches behavior where an incorrect change can be costly.
The request suggests investigation or changes with interacting parts.
A transparent heuristic, not a trained difficulty model or a measured quality guarantee.How Effort decides
Every recommendation lists its reasons. The full rules are in src/policy.mjs.
What the request says | Starting effort |
Risky or investigative work, for example security, authentication, payments, migrations, data loss or a race condition, or words like investigate, debug, refactor, intermittent or root cause | high |
A short mechanical edit: a typo, spelling, rename, format, translation or summary | low |
Anything else | medium, the uncertain default |
The request names five or more files in the workspace | one level higher, at most high |
Limits you set with --effort, --min-effort and --max-effort always win. How many languages a repository uses doesn't change the effort, because it describes the repository, not the request.
When Effort runs the agent itself and your tests fail:
The first failure gets one retry at the same effort, with the test output attached.
If the same tests fail again, the next attempt uses one level more, up to your ceiling.
Anything that more reasoning can't fix stops the run: a missing dependency, an unreachable service, a permission or login problem, a timeout, or output Effort doesn't recognize.
Run a task with verification
effort run starts your installed, signed-in Codex or Claude Code CLI, runs your test command after each attempt, and retries as described above. Start with a disposable project or a clean working tree.
effort run "Fix the failing sum test" --provider codex --cwd /path/to/project --allow-write -- node --testEverything after
--is the test command. In Windows PowerShell, write the separator as'--', or give each part with--verify-arg node --verify-arg=--test.Without a test command, the result is marked unverified and is never retried.
By default a run gets 3 attempts and 10 minutes in total, and effort never goes above high. Add
--dry-runto see the plan without starting anything.Your test command runs with your normal permissions, outside the agent's sandbox. Only use commands you trust.
All options, Windows notes and exit codes are in managed runs.
Automatic sessions
To have effort change on its own before every prompt:
OpenCode: the plugin above already does this.
Claude Code:
effort auto claude --cwd .runs Effort's own text session. It resumes your Claude Code conversation with the chosen effort for each prompt, but you give up Claude Code's own interface while you use it.Codex:
effort auto codexroutes the normal Codex terminal through a local router. It's an experimental prototype that needs thewspackage, which isn't included yet.
See automatic routing.
Dashboard (optional)
effort dashboard serves a local, read-only page with your run history and a box for trying recommendations; open the URL it prints. Nothing else depends on the dashboard and it can't start runs, so leave it closed unless you want to browse past runs. effort history shows the same list in the terminal.
The page is served on 127.0.0.1, and the printed URL contains a one-time access token, so keep that URL private.
Privacy and safety
No cloud service, telemetry, update checks or outside classifier. Recommendations run on your machine.
Effort doesn't store prompts, code, responses or test output. Run records hold only Effort's decisions, coarse repository facts, timings and outcomes.
Your agent CLI still sends prompts to its provider and keeps its own transcripts, under that provider's policies.
See SECURITY.md for the remaining boundaries.
Limits
Rules, not a trained model. They are English-oriented keyword and length rules with low confidence, and they don't measure how hard a task really is.
Savings aren't proven yet. Effort hasn't shown lower cost at equal quality. See what has been tested.
Suggestions only in Claude Code, Codex and desktop apps. Their plugins and MCP tools can't change effort. Only OpenCode and the
effort autosessions switch it automatically.No spending cap. Time, attempt and effort limits bound a run, but don't guarantee your final bill.
Contributing
npm test
npm run check
npm run smoke:packageThe tests use fake agent processes and never spend model credits. Start with CONTRIBUTING.md, the architecture notes, the adapter contract and the handoff notes. Checks against real agents and evaluation work are especially welcome. Please don't add adapters that only print an effort label without setting a real provider parameter.
MIT licensed. An independent project, not affiliated with OpenAI or Anthropic.
This server cannot be deployed
Maintenance
Related MCP Connectors
Sounding checks proposed decisions and returns structured proceed, revise, or pause assessments.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Assess AI-discovery readiness, plan visibility fixes, and summarize scan evidence. Read-only.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides AI-driven, partner-aware travel recommendations with auditability, integrating member context and read-only partner policy rules.-

CaseMargin MCP Serverofficial
AlicenseAqualityAmaintenanceExposes support case reasoning tools — generate structured case briefs and check escalation readiness from any MCP-compatible AI client.231 npm1MIT- AlicenseNot gradedqualityCmaintenanceEnables agents to delegate decisions to a configurable model, returning recommended choices with percentage scores and profile-based routing.10 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables an agent to submit a task and two options and receive a recommendation of the better option with a calibrated confidence percentage and a reason, to support decision-making.MIT