I strongly believe that REPL-driven development is the best thing you can do in Julia, so AI Agents should learn it too!
MCPRepl.jl is a Julia package which exposes your REPL as an MCP server -- so that the agent can connect to it and execute code in your environment. The code the Agent sends will show up in the REPL as well as your own commands. You're both working in the same state.
Ideally, this enables the Agent to, for example, execute and fix testsets interactively one by one, circumventing any time-to-first-plot issues.
Tip
I am not sure how much work I'll put in this package in the future, check out @kahliburke's much more active fork.
output_proper.mp4
This package is not registered in the official Julia General registry due to the security implications of its use. To install it, you must do so directly from the source repository.
You can add the package using the Julia package manager:
pkg> add https://github.com/hexaeder/MCPRepl.jlor
pkg> dev https://github.com/hexaeder/MCPRepl.jlWithin Julia, call
julia> using MCPRepl; MCPRepl.start!()to open the HTTP endpoints.
For Claude Code, you can run the following command to make it aware of the MCP server
claude mcp add julia-repl http://localhost:3000 --transport httpThe core functionality of MCPRepl.jl involves opening a network port and executing any code that is sent to it. This is inherently dangerous and borderline stupid, but that's how it is in the great new world of coding agents.
By using this software, you acknowledge and accept the following:
- Risk of Arbitrary Code Execution: Anyone who can connect to the open port will be able to execute arbitrary code on the host machine with the same privileges as the Julia process.
- No Warranties: This software is provided "as is" without any warranties of any kind. The developers are not responsible for any damage, data loss, or other security breaches that may result from its use.
It is strongly recommended that you only use this package on isolated systems or networks where you have complete control over who can access the port. Use at your own risk.
-
ModelContexProtocol.jl offers a way of defining your own servers. Since MCPRepl is using a HTTP server I decieded to not go with this package.
-
REPLicant.jl is very similar, but the focus of MCPRepl.jl is to integrate with the user repl so you can see what your agent is doing.