julia-mcp
julia-mcp keeps Julia sessions alive between calls so an agent runs code without recompiling and keeps its variables.
- 96 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent runs arbitrary Julia code and the server does not restrict its permissions.
Install
- Works in
Manual install
git clone https://github.com/aplavin/julia-mcp.gitClone into any folder. `uv` and `julia` in `PATH` are required.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs arbitrary Julia code and the server does not restrict its permissions.
This is third-party code. Review the repository files before installing.
What it does
The MCP server runs Julia code in a persistent session: variables, functions and loaded packages survive between calls, and startup and compilation cost is paid once. Each project directory gets its own isolated Julia process. There are three tools: `julia_eval(code, env_path?, timeout?)` runs code, `julia_restart(env_path?)` restarts a session and clears state, and `julia_list_sessions` lists active sessions. The default timeout is 60 seconds and is disabled for `Pkg` operations. The server uses stdio only, with no open ports. A path ending in `/test/` selects the parent project and activates `TestEnv`.
Who it is for. Julia developers whose agent loses minutes on startup and compilation with every code check.
Good fit when
- An agent iteratively edits numerical code and each fresh `julia` process takes tens of seconds
- A heavy package is loaded in the session and should not be recompiled after every edit
- Package tests must run in the `test` environment without switching projects by hand
- Several projects are open at once and their states must not mix
Not a fit when
- Code must run only in a sandbox: the server runs it on your machine with your permissions
- A different language: the server speaks Julia only
- An environment without `uv` and a `julia` binary in `PATH`
Example request
Load DifferentialEquations into the project session, solve the logistic growth equation and show values at points 0, 5 and 10.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
`uv` and a `julia` binary in `PATH` are required, any Julia version works. Code runs on your machine with your permissions, with no sandbox. The recommended Revise.jl and TestEnv.jl packages are used if installed in the global environment. Installation is by cloning the repository: the README names no registry package. The last commit dates from August 2026. The model decides what code to run, so read it before running in projects you do not own.
How to disable. Run `claude mcp remove julia` and delete the cloned `julia-mcp` folder. Open Julia sessions end with the server.
FAQ
How do I connect julia-mcp to Claude Code?
Clone the repository and run `claude mcp add --scope user julia -- uv run --directory /path/julia-mcp python server.py`. For a single project use `--scope project` instead of `--scope user`.
Are variables kept between calls?
Yes, variables, functions and loaded packages live until `julia_restart` or server shutdown. A session restarts itself after a crash, though its state is lost.
Can I pass Julia flags?
Yes, append them after `server.py`, for example `--threads=1 --startup-file=yes`. They replace the defaults `--startup-file=no --threads=auto`.
What are the requirements for julia-mcp?
`uv` and a `julia` binary in `PATH` are required. Revise.jl and TestEnv.jl are picked up automatically if installed in the global environment.
How does the timeout work?
The default is 60 seconds per `julia_eval` call and it is disabled for `Pkg` operations. You can set it with the `timeout` parameter.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files
A Rust MCP server where the agent runs JavaScript and TypeScript in a V8 sandbox with one run_js tool and state kept between calls
An MCP server that indexes code with tree-sitter so an agent reads single symbols, not files, traces paths and weighs edits
An MCP server that gives Claude Desktop and other clients file tools, a shell and sub-agents in the style of Claude Code
A desktop app with a local MCP gateway: set servers up once and Cursor, Claude and VS Code connect through a single URL
A transparent proxy between an AI client and an MCP server: shows every JSON-RPC frame in the terminal, checks a capture in CI and exports spans
README in short
The server is written in Python on top of a mature protocol implementation and launches Julia as a child process. The README gives setup for Claude Code, Claude Desktop, Codex CLI, VS Code Copilot and GitHub Copilot.