clojure_evaluate_codeLABSCO SUMMARY
The REPL is the point - the agent can check its answer instead of asserting it.
Clojure is the language where an agent can verify a claim in one evaluation, and this hands it that ability plus structural editing that will not produce unbalanced parens. The author is clear about the gap: the extension supplies tools, not Clojure taste, so pair it with instructions about how you want the REPL used.
What it is
A VS Code extension that hands Calva's Clojure tooling to an AI agent. Copilot and Cursor get it with no configuration at all; other assistants connect over MCP with a small amount of per-project setup.
What you get
- Evaluation against any REPL session Calva has connected, including shadow-cljs builds and runtimes
- Structural editing that keeps brackets balanced, formats and lints: replace or insert a top-level form, append code, or create a Clojure file
- A bracket balancer, so the model gets the parens right instead of guessing
- Loading a whole file through the connected REPL
- Symbol lookup returning real docstrings and argument lists, and clojuredocs.org lookups for core symbols - both as tools and as resources
- Skills discoverable as resources, teaching the agent how to use the tools
Requirements
VS Code with the Calva extension and this one installed, plus a Clojure or ClojureScript project Calva is connected to. Copilot and Cursor need no configuration; other MCP clients follow the project's MCP configuration document. Evaluation results are trimmed before they reach the model - a collection item limit defaulting to 25 and a nesting depth defaulting to 7, both settable to zero to disable. Note that the editing tools have no review UI: use source control and the editor's timeline to see what changed.
Setup effort
Follow the published steps
USE CASES
Making the agent verify before it claims
Ask it to use the REPL to investigate; it evaluates against your live session rather than reasoning about what the code probably does.
Editing a function without breaking the file
Have it replace the top-level form through the structural editor, which balances brackets, formats and lints the result.
Getting a real answer about an unfamiliar function
Let it look the symbol up for the docstring and argument list, with clojuredocs examples for core symbols.
Keeping a long evaluation from swamping the context
Tune the collection length and nesting depth limits so large results come back trimmed rather than whole.
8 tools
Listed in project docs. Your client may show a different list.
clojure_list_sessionsclojure_symbol_infoclojuredocs_infoclojure_repl_output_logclojure_balance_bracketsclojure_edit_filesclojure_load_fileBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
Install VS Code (or a fork of it), then the Calva extension (betterthantomorrow.calva) and the Calva Backseat Driver extension (betterthantomorrow.calva-backseat-driver) from the VS Code Marketplace
Open your Clojure or ClojureScript project and connect Calva to it
With GitHub Copilot there is nothing more to configure — the tools come through VS Code LM Tools
With Cursor there is nothing more to configure either — the MCP server is registered for you as extension-backseat-driver
For any other MCP client, run Calva Backseat Driver: Start the MCP socket server, then click Copy command + port-file in the dialog that appears and use what it copies in that client's config
MCP Clients
Claude Desktop
Claude Desktop doesn't run in VS Code and has no project/workspace concept, so use its global MCP config. Prefer Copy command + port-file or bb list for the args.
{
"mcpServers": {
"backseat-driver": {
"command": "node",
"args": [
"<YOUR_ABSOLUTE_PATH_TO_CALVA_MCP>",
"<YOUR_PORT_FILE_PATH_COPY_COMMAND>"
]
}
}
}