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
MCP server

Broad access

Why this level

  • The agent runs arbitrary Julia code and the server does not restrict its permissions.
All reasons and checks

aplavin/julia-mcp

Install

Manual install

git clone https://github.com/aplavin/julia-mcp.git

Clone into any folder. `uv` and `julia` in `PATH` are required.

Access and checks

How we review

Broad 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.

An MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files

MCP serverExtended access203Repository stars

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

MCP serverBroad access64Repository stars

An MCP server that indexes code with tree-sitter so an agent reads single symbols, not files, traces paths and weighs edits

MCP serverMinimal access76Repository stars

An MCP server that gives Claude Desktop and other clients file tools, a shell and sub-agents in the style of Claude Code

MCP serverBroad access305Repository stars
Official

A desktop app with a local MCP gateway: set servers up once and Cursor, Claude and VS Code connect through a single URL

MCP serverBroad access27Repository stars

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

CLIBroad access368Repository stars

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.

README badge

Report a problem