Jules MCP 服务器

一个用于Google Jules API的模型上下文协议(MCP)服务器,使LLM应用程序能够与Google的AI编码助手Jules交互,以编程方式创建会话、发送消息和管理编码任务。

  • by Paladiamors
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Paladiamors/jules-mcp

使用说明

Jules MCP服务器

用于Google Jules API的模型上下文协议(MCP)服务器。该服务器使LLM应用程序能够与Google的AI编码助手Jules交互,以编程方式创建会话、发送消息和管理编码任务。

特性

  • 列出来源:浏览连接到Jules的可用GitHub存储库
  • 创建会话:与Jules一起开始新的编码任务
  • 发送消息:在活跃会议期间与Jules沟通
  • 批准计划:在执行之前批准Jules提出的计划
  • 列出活动:查看会话的工作历史和对话
  • 创建拉取请求:创建导致PR的会话的便利工具

先决条件

  • Python 3.10+
  • Jules API密钥(从 Jules设置页面)
  • Jules中安装的GitHub存储库

安装

使用紫外线(推荐)

# Clone the repository
git clone https://github.com/yourusername/jules-mcp.git
cd jules-mcp

# Install dependencies with uv
uv sync

使用pip

# Clone the repository
git clone https://github.com/yourusername/jules-mcp.git
cd jules-mcp

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install fastmcp httpx pydantic

配置

设置 JULES_API_KEY API密钥的环境变量:

export JULES_API_KEY="your-api-key-here"

用法

独立运行

# With uv
uv run python main.py

# With pip/venv
python main.py

MCP配置

将此服务器添加到MCP客户端配置中。以下是不同设置的示例。

克劳德桌面/克劳德代码

添加到您的 mcp.json 或 claude_desktop_config.json:

{
  "mcpServers": {
    "jules": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/jules-mcp",
        "run",
        "python",
        "main.py"
      ],
      "env": {
        "JULES_API_KEY": "your-jules-api-key"
      }
    }
  }
}

替代品(无紫外线)

{
  "mcpServers": {
    "jules": {
      "command": "/absolute/path/to/jules-mcp/.venv/bin/python",
      "args": [
        "/absolute/path/to/jules-mcp/main.py"
      ],
      "env": {
        "JULES_API_KEY": "your-jules-api-key"
      }
    }
  }
}

可用工具

list_sources

列出Jules可以使用的可用GitHub存储库。

参数:

  • page_size (int,可选):要返回的源数量(1-100,默认30)
  • page_token (str,可选):分页标记

get_source

获取特定源存储库的详细信息。

参数:

  • source_name (str,必填):资源名称(例如,“sources/github/owner/repo”)

list_sessions

列出Jules会话(编码任务)。

参数:

  • page_size (int,可选):要返回的会话数(1-100,默认30)
  • page_token (str,可选):分页标记
  • active_only (bool,可选):筛选以仅显示活动会话

get_session

获取特定会话的详细信息。

参数:

  • session_name (str,必填):资源名称(例如,“sessions/abc123”)

create_session

创建一个新的Jules会话来处理编码任务。

参数:

  • prompt (str,必填):编码任务描述
  • source (str,必填):存储库的资源名称
  • branch (str,可选):要使用的分支
  • title (str,可选):会话标题
  • require_plan_approval (bool,可选):执行前等待计划审批

send_message

向活动会话发送后续消息。

参数:

  • session_name (str,必填):会话的资源名称
  • message (str,必填):要发送的消息

approve_plan

批准Jules在AWATING_plan_APPROVAL州举行会议的计划。

参数:

  • session_name (str,必填):会话的资源名称

list_activities

列出会话的活动(工作历史)。

参数:

  • session_name (str,必填):会话的资源名称
  • page_size (int,可选):要返回的活动数(1-100,默认值50)
  • page_token (str,可选):分页标记

create_pull_request

创建一个将导致拉取请求的会话。

参数:

  • prompt (str,必填):要进行的更改的描述
  • source (str,必填):存储库的资源名称
  • branch (str,可选):PR的基分支
  • title (str,可选):会话标题/PR

会话状态

会话通过以下状态进行:

  • QUEUED -会话正在等待开始
  • PLANNING -朱尔斯正在制定一个计划
  • AWAITING_PLAN_APPROVAL -正在等待用户批准计划
  • AWAITING_USER_FEEDBACK -等待用户输入
  • IN_PROGRESS -朱尔斯正在做这项任务
  • PAUSED -会话已暂停
  • FAILED -会话失败
  • COMPLETED -会话已成功完成

示例工作流程

  1. 列出可用存储库:

    Use the list_sources tool to see which repos are available
    
  2. 创建编码任务:

    Use create_session with:
    - prompt: "Add a dark mode toggle to the settings page"
    - source: "sources/github/myorg/myrepo"
    
  3. 监控进度:

    Use get_session to check the session state
    Use list_activities to see what Jules is doing
    
  4. 与Jules互动:

    Use send_message if Jules needs clarification
    Use approve_plan if plan approval is required
    
  5. 获取结果:

    Once session is COMPLETED, check the outputs field for PR URL
    

api参考

此服务器包装 Google Jules API(v1alpha).

许可证

麻省理工学院