1. Conduid
  2. Developer Tools
  3. Calva Backseat Driver
MCP server · Developer Tools

Calva Backseat Driver

VS Code AI Agent Interactive Programming. Tools for CoPIlot and other assistants. Can also be used as an MCP server.

61Good

Scored 2 hours ago · breakdown

About Calva Backseat Driver

Calva Backseat Driver is an MCP server published by BetterThanTomorrow in the Developer Tools category: vS Code AI Agent Interactive Programming. Tools for CoPIlot and other assistants. Can also be used as an MCP server.

The repository has 64 stars and 5 forks, with the last commit 19 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/BetterThanTomorrow/calva-backseat-driver

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Calva Backseat Driver

Powered by Claude · Grounded in docs

I know everything about Calva Backseat Driver. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 2 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.0.44v0.0.44 · 19 Sep 2026Fix: [Generated ECA config has hardcoded absolute path to MCP port file](https://github.com/BetterThanTomorrow/calva-backseat-driver/issues/70) (depends on vscode-mcp #3)
v0.0.43v0.0.43 · 19 Sep 2026[Stop writing MCP port under .calva](https://github.com/BetterThanTomorrow/calva-backseat-driver/issues/68)
v0.0.42v0.0.42 · 10 Sep 2026[Prettify Backseat Driver “owned” ECA config](https://github.com/BetterThanTomorrow/calva-backseat-driver/issues/67)
v0.0.41v0.0.41 · 9 Sep 2026[Create MCP wrapper port files in a stable directory](https://github.com/BetterThanTomorrow/calva-backseat-driver/issues/66)
v0.0.40v0.0.40 · 28 Aug 2026[Add an MCP server registry so external agents can discover running Backseat Driver windows](https://github.com/BetterThanTomorrow/calva-backseat-driver/issues/63). The registry has an AI agent interface, mainly through: bb list**:…

README

Enabling Native AI Interactive Programming in VS Code

Clojure Tools for VS Code Agent harnesses. (Such as Copilot and Cursor.)

VS Code Extension Issues License

Backseat Driver gives VS Code AI harnesses access to Calva's Clojure tools these ways:

  1. Copilot: Zero config. (Using VS Code LM Tools.).
  2. Cursor, Zero config. (Using Cursor add-MCP-server API).
  3. Other AI harnesses: MCP (Requiring some configuration per project).

Features

  • Tool: Evaluate Code Access to the Clojure REPL to evaluate code at will. All active REPL sessions in Calva are available for targeting (and with shadow-cljs, also builds and runtime).
  • Tool: Edit Clojure Files Structural create and edit files, supporting batches. Includes:
    • Create Clojure File Creates Clojure files with automatic bracket balancing
    • Append Code Appends code to Clojure files with automatic bracket balancing
    • Replace Top Level Form Structural editing, including formatting, bracket balancing and linting
    • Insert Top Level Form Structural editing, including formatting, bracket balancing and linting
  • Tool: Bracket Balancer Helps the model get the bracket balance right (powered by Parinfer)
  • Tool: Load File Load/evaluate an entire Clojure file through Calva's connected REPL
  • Tool: Symbol info lookup, the AI can look up symbols it is interested in, and will get doc strings, argument info etcetera
  • Tool: clojuredocs.org lookup, docs, examples, and see also information on Clojure core-ish symbols
  • Resource: Symbol info lookup, (a bit experimental) same as the tool
  • Resource: clojuredocs.org lookup, (a bit experimental) same as the tool
  • Resource: Skills, specialized instructions discoverable via resources/list and readable via resources/read

Please note that for the editing tools there is no UI for reviewing the edits. I suggest using the source control tools, and VS Codes's Timeline view, for this.

Agent Instructions: Leveraging Backseat Driver

Backseat Driver gives the AI agent the tools for Clojure Interactive Programming and the skills for using the tools. To allow you to keep the control of how your agents hold Clojure and the REPL, the extension does not provide much in the way of Clojure knowledge, philosophy, nor for REPL methodology.

For truly effective agent Clojure work to happen, it needs to know how you prefer Clojure to be written and how to use the REPL effectively.

To avoid starting with a blank slate, where bad training data and hallucinations about Clojure ruin the day, consider installing the clojure, and other plugins from the Awesome Backseat Driver repository.

[!NOTE] Awesome Backseat Driver has plugins for Copilot and Cursor (so far). But if you are using some other haress, you can still copy the skills, custom agents, etc from there. (Or ask your agent to do it for you.)

Configuring Backseat Driver

Evaluation result size limiting

To prevent large REPL evaluation results from overwhelming the agent's context window, Backseat Driver automatically limits the size of returned results:

  • calva-backseat-driver.evaluation.maxLength (default 25) — maximum number of items to display in collections. Use 0 to disable length limiting.
  • calva-backseat-driver.evaluation.maxDepth (default 7) — maximum nesting depth; deeper structures are replaced with ##. Use 0 to disable depth limiting.

Skills

Backseat Driver provides two skills to AI agents:

  • calva-backseat-driver.provideBdSkill (default true) — provide the Backseat Driver skill to agents
  • calva-backseat-driver.provideEditSkill (default true) — provide the Clojure structural editing skill to agents

Editor configuration

The structural editing tools for inserting and replacing top level forms respect two Backseat Driver editor settings:

  • calva-backseat-driver.editor.fuzzyLineTargetingPadding (default 2) — number of lines on each side of the requested line that the AI is allowed to scan when matching target text. Increase this if forms move around during larger refactorings; set to 0 for exact line targeting. Trade-off: higher values tolerate line shifts but raise the risk of matching a nearby, similar form when the agent's copy of the buffer is stale.
  • calva-backseat-driver.editor.lineContextResponsePadding (default 10) — number of lines on each side of the requested line included in the troubleshooting snippet returned when targeting fails. Reduce this to keep responses shorter, or increase it for more surrounding context. Trade-off: larger values give the agent more cues for a retry, but can cost extra tokens (or time) compared with sending a focused snippet.

MCP

See: Configure Backseat Driver as an MCP server

Getting Started

Prerequisites

Using

  1. Teach the AI Clojure and REPL discipline, e.g. See: Agent Instructions
  2. Connect Calva to your Clojure/ClojureScript project
  3. Ask Copilot to help you with things. It will know what you mean when you say: "Please use the REPL to investigate ...".
  • It will know how to find the right REPL session and how to use it.
  • Configure Calva to use the terminal for REPL output and monitor the output terminal to see what it tries at the REPL

It works very well will subagents, also parallel subagents. Try something like:

  1. "Please task three parallel subagents to use the REPL to investigate how to implement ...”
  • The REPL output will show you, and the agents, who is trying what at the REPL.
  • You can participate in the REPL party.

WIP

As we all are, I am learning to use AI and figuring out one thing at a time. All while the whole space is moving faster than I can learn. Backseat Driver is my very best effort to provide Clojure developers with powerful AI tools that can be used with zero configuration.

The basic design of Backseat Driver has proven to work and be useful over time. But I have also been improving it incrementally as I have learnt new things. A lot of these things I have learnt from users.

Please, please let me know how you fare with Backseat Driver, and what features you would like to see. 🙏

Contributing

Contributions are welcome! Issues, PRs, whatever. Before a PR, I appreciate an issue stating the problem being solved. You may also want to reach out discussing the issue before starting to work on it.

License 🍻🗽

MIT

Please sponsor my open source work ♥️

You are welcome to encourage my work, using this link:

README fetched from the repository 2 hours ago. The original is authoritative.

Questions

About Calva Backseat Driver

How do I install Calva Backseat Driver?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Calva Backseat Driver safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Calva Backseat Driver still maintained?

Yes — the latest release is v0.0.44 (19 Sep 2026), and the last commit was 19 days ago. The repository has 64 stars and 4 open issues.