calva

pez 2025-12-15T15:04:22.572149Z

The State of Clojure 2025 survey is still open and ready for all Calva users to report: https://www.surveymonkey.com/r/clojure2025

Giu 2025-12-15T20:29:51.353119Z

Hi. I guess the answer is no because I saw nothing in docs but, can calva backseat driver connect to shadow-cljs nrepl?

pez 2025-12-16T08:55:26.480629Z

When using via MCP you need to opt in to enable the evaluation tool. Have you?

✅ 1
Giu 2025-12-16T09:01:03.994949Z

very good question, will see

pez 2025-12-16T09:02:01.349369Z

Windsurf may have some UI to list the tools for an MCP server.

Giu 2025-12-16T09:38:56.592699Z

Interestingly this option is not in the backseat-driver as tool. Can you show me you mcp.json once enabled?

Giu 2025-12-16T09:41:07.098819Z

nevermind

Giu 2025-12-16T09:41:17.427709Z

it is a setting of the extesion

Giu 2025-12-16T10:00:01.654859Z

well, got it working. Once activated this option in the extnsion now clojure_evaluate_code appears as tool

pez 2025-12-16T10:34:41.996659Z

We probably should surface this setting better… Maybe when the server is started?

pez 2025-12-15T20:58:36.021679Z

Backseat Driver can use any repl that Calva is connected to. So, yes it can definitely “connect” to shadow-cljs repls.

Giu 2025-12-15T21:02:17.545609Z

But as far as I understood, it uses another por in the config. Will try

pez 2025-12-15T21:15:21.129119Z

With Copilot it is as easy as so.

pez 2025-12-15T21:16:21.495669Z

Zero config. 😃

Giu 2025-12-16T07:21:21.449689Z

Interesting, I configured the MCP into windsurf succesfully, but don't know how to evaluate. This is what answered me when asked to check how to evaluate code.

List me the tools of backseat-driver mcp and investigate how to evaluate code into REPL. Answer me in english
---
I'll investigate the backseat-driver MCP tools and how to evaluate code in the REPL.

Let me check the available MCP tools more directly by examining the function definitions I have access to:

Searched
mcp0_ in ~/dev/juego-batidora
Based on the available tools, here are the backseat-driver MCP tools and how to evaluate code in the REPL:

Available backseat-driver MCP Tools
REPL & Code Evaluation
mcp0_clojure_repl_output_log - Gets REPL output messages from Calva output window
mcp0_clojure_symbol_info - Gets detailed information about a Clojure symbol from the connected REPL
Code Editing (Structural)
mcp0_clojure_create_file - Creates new Clojure files with proper bracket balancing
mcp0_clojure_append_code - Appends top-level forms at the end of a Clojure file
mcp0_insert_top_level_form - Inserts new forms before existing top-level forms
mcp0_replace_top_level_form - Modifies/replaces existing top-level forms
mcp0_clojure_balance_brackets - Authoritatively balances brackets in Clojure code
Documentation
mcp0_clojuredocs_info - Looks up information, examples, and see-alsos from clojuredocs.org
How to Evaluate Code in REPL
1. Check REPL Output
clojure
;; Use the output log tool to see REPL messages
(mcp0_clojure_repl_output_log {:sinceLine 0})
2. Get Symbol Information
clojure
;; Get info about a specific symbol
(mcp0_clojure_symbol_info {:clojureSymbol "map" 
                           :namespace "your-namespace.core"
                           :replSessionKey "session-key"})
3. Workflow for Code Evaluation
First, check if REPL is connected by looking at the output log
Use symbol info to verify functions are available
Edit code using structural editing tools
Check output log again to see evaluation results
4. Important Notes
The tools work with Calva REPL integration
Bracket balancing is automatic when using structural editing tools
Proper indentation is required for tools to work correctly
Tools return post-edit diagnostics/linting info
The backseat-driver MCP appears to be focused on Clojure/ClojureScript development with tight integration to Calva (VS Code Clojure extension) and provides structural editing capabilities rather than direct code evaluation like a traditional REPL.
Loogs agents don't see how to evaluate code. And this is what claude answered me:
> tell me wich tools you have to evaluate code using backseat-driver mcp

● With backseat-driver MCP, I have these tools to evaluate and inspect code:

  1. clojure_symbol_info - Get detailed information about a Clojure symbol from the connected REPL
    - Shows docstring, arglists, type info
    - Requires: symbol name, namespace, REPL session key
  2. clojuredocs_info - Lookup Clojure Core symbols on clojuredocs.org
    - Shows documentation, examples, "see alsos"
    - Works offline (from clojuredocs data)
  3. clojure_repl_output_log - Read REPL output from Calva
    - Captures output since a given line number
    - Use sinceLine: 0 to get all available output

  From the mcp-clojure MCP (complementary):

  4. clojure_eval - Execute Clojure expressions directly in the REPL
    - Returns evaluation results
    - Can inspect live state (@re-frame.db/app-db, etc.)

  For structural editing:
  - replace_top_level_form - Replace defn/def/ns/etc
  - insert_top_level_form - Insert new forms

  So the primary evaluation tools are:
  - clojure_eval → Run code and get results
  - clojure_repl_output_log → See REPL output history
  - clojure_symbol_info → Inspect existing symbols

  What do you need to evaluate?

pez 2025-12-15T23:04:23.175459Z

It makes me unbelievably happy when Calva gets 5-star reviews! ❤️ ❤️ ❤️

👏 2