Julia代码执行服务

一个为AI助手提供高效Julia代码执行的MCP服务器,通过保持会话存活和状态持久化来避免启动和编译开销。

  • by aplavin
  • Python
  • 本地部署
  • 94 星标
  • 更新于
在 GitHub 查看 aplavin/julia-mcp

使用说明

朱莉娅·麦克普

MCP服务器,使AI助手能够高效地执行Julia代码。通过在调用之间保持会话活动来避免Julia的启动和编译成本,并在它们之间持久化状态(变量、函数、加载的包),因此每次迭代都很快。

  • 会话按需启动,在调用之间保持状态,并从崩溃中恢复——无需手动管理
  • 每个项目目录都有自己的独立Julia进程
  • 纯stdio传输——无开放端口或套接字

工具

  • julia_eval(代码、env_path?、超时?) --在持久会话中执行Julia代码。 env_path 设置Julia项目目录(临时会话省略)。 timeout 默认为60秒,并自动禁用 Pkg 操作。
  • julia_restart(env_path?) --重新启动会话,清除所有状态。如果 env_path 如果省略,则重新启动临时会话。
  • julia_list_sessions --列出活动会话及其状态

需求

  • 紫外线 (您可能已经安装了它)
  • 朱莉娅——任何版本, julia 二进制必须在 PATH
    • 推荐的软件包——如果在全局环境中可用,则自动使用:
    • Revise.jl -在不重新启动的情况下获取代码更改
    • 测试Env.jl --在以下情况下正确激活测试环境 env_path 指向 /test/

服务器本身是用Python编写的,因为Python MCP协议实现非常成熟。

用法

首先,克隆存储库:

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

然后向您选择的客户端注册服务器(见下文)。

就是这样!您的AI助手现在可以更有效地执行Julia代码,节省TTFX。

克劳德代码

用户范围(推荐-使Julia在所有项目中都可用):

claude mcp add --scope user julia -- uv run --directory /any_directory/julia-mcp python server.py

项目范围(仅在当前项目中可用):

claude mcp add --scope project julia -- uv run --directory /any_directory/julia-mcp python server.py
Custom Julia CLI arguments

在后面附加Julia标志 server.py 覆盖默认值(--startup-file=no --threads=auto):

claude mcp add --scope user julia -- uv run --directory /any_directory/julia-mcp python server.py --threads=1 --startup-file=yes

克劳德桌面版

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "julia": {
      "command": "uv",
      "args": ["run", "--directory", "/any_directory/julia-mcp", "python", "server.py"]
    }
  }
}
Custom Julia CLI arguments

在后面附加Julia标志 server.py 覆盖默认值(--startup-file=no --threads=auto):

{
  "mcpServers": {
    "julia": {
      "command": "uv",
      "args": ["run", "--directory", "/any_directory/julia-mcp", "python", "server.py", "--threads=1", "--startup-file=yes"]
    }
  }
}

Codex 命令行界面

用户范围--使Julia在所有项目中都可用:

codex mcp add julia -- uv run --directory /any_directory/julia-mcp server.py
Custom Julia CLI arguments

在后面附加Julia标志 server.py 覆盖默认值(--startup-file=no --threads=auto):

codex mcp add julia -- uv run --directory /any_directory/julia-mcp server.py --threads=1 --startup-file=yes

VS代码副本

添加 .vscode/mcp.json:

{
  "servers": {
    "julia": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/julia-mcp", "python", "server.py"]
    }
  }
}
Custom Julia CLI arguments

在后面附加Julia标志 server.py 覆盖默认值(--startup-file=no --threads=auto):

{
  "servers": {
    "julia": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/julia-mcp", "python", "server.py", "--threads=1", "--startup-file=yes"]
    }
  }
}

GitHub Copilot命令行界面

编辑 $HOME/.copilot/mcp-config.json,然后进入

{
  "mcpServers": {
    "julia": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/julia-mcp", "python", "-u", "server.py"]
    }
  }
}

请注意,在Windows上, \ 必须转义(所以写为 C:\\my_folder\\...)

GitHub Copilot云代理

要为单个仓库启用MCP,请转到“设置”,然后向下滚动左侧面板,直到到达Copilot,打开下拉菜单并选择Cloud agent。然后向下滚动到模型上下文协议(MCP)部分,并添加以下内容

{
  "mcpServers": {
    "julia": {
      "type": "local",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/aplavin/julia-mcp",
        "julia-mcp"
      ],
      "tools": ["*"]
    }
  }
}

详情

  • 每一个独特 env_path 有自己独立的Julia会话。省略 env_path 使用在MCP关闭时清理的临时会话。
  • 如果 env_path 以...结束 /test/,父目录用作项目 TestEnv 自动激活。为了使其工作, TestEnv 必须安装在基础环境中。
  • Julia推出 --threads=auto 和 --startup-file=no 默认情况下。在之后传递自定义Julia CLI标志 server.py 完全覆盖这些默认值。

替代方案

其他让AI代理访问Julia的项目:

  • MCPRepl.jl 和 REPLicant.jl 要求您手动启动和管理Julia会话。 julia-mcp 自动处理此问题。
  • Daemon导线.jl (仅限linux)运行Julia脚本,但调用是独立的,不共享变量。 julia-mcp 在通话之间保持状态。