内容
朱尔斯[]()
[](httpscriptlang.org/)
](https://img/Node.js-B-green)](https://[**直接从像 Claude 助手执行自主编码。
> **⚠️**: 这是一个 **独立、开源项目**,** Google 官方创建、维护**。该服务器是尔斯 API 的集成。请自担风险官方朱尔斯文档 [jules.google](ules.google)。
##收藏此仓库
如果您有用,请给仓库 ⭐,帮助其他人!
## 概述 MCP 服务器连接了 Google斯编码代理与 AI允许您:
创建编码任务** -、重构、测试给朱尔斯
调度循环任务**的每周/每日依赖项更新、安全审计等 **监控进度**踪会话状态和审查
- **批准计划 在代码更改之前进行- **管理工作 - 发送反馈并迭代朱的工作
### 架构厚服务器“模式
由于朱尔斯 API v1alpha 是 **无状态的**(没有本地调度端点),该服务器实现了一个 **本地调度引擎**:
- **持久化存储**:调度存储在 `~/.jules-mcp/schedules.json` 中
- **Cron 引擎**:使用 `node-schedule` 进行可靠的任务执行
- **重启后恢复**:服务器启动时重新加载调度
- **自主:即使没有活跃 会话,调度
##### 前提条件Node.js**.0.0
- **朱尔斯 API 密钥** -jules.google/settings](jules.google/settings)
- **GitHub** - 首先通过 Web仓库连接到朱尔斯 设置
```bash
隆或下载此仓库 jules-mcp
依赖项
npm install 编译 TypeScript
# 设置您的 API 密钥
export JULE_KEY="your-key-h 测试服务器
npm```
### 快速测试(MCP stdio)
并设置 `JULES_API_KEY` 后,您可以端到端:
npm run mcp:smoke
```
预期使用有效密钥):
出 6 个工具提示和 4资源
- 尝试假的会话 ID 并尔斯 证明真正的 API 调用有效 尝试使用虚拟数据并在不崩溃 错误
### 全推荐)
```# 全局安装
-g
# 现在ules-mcp
-mcp
```
### 环境变量
env` 文件中创建 shell 中设置:
# 必需
_API_KEY=your_key_here
选 - 安全白名单号分隔的仓库# 如果设置,则仅被修改
J_ALLOWED_REPOS=owner/repo1,owner/repo# 可选 - 默认分支ULES_DEFAULT_BRANCH```
### 克桌面配置
添加到您的aude_desktop_config.json:
{
"mcpServers":jules": {
": "node",
"args": ["//jules-mcp/dist"],
"env":JULES_API "your-key-here }
}
```
**在 macOS 上**:`~/Library/ApplicationClaude/claude_des.json`
**在 Windows:`%APClaude/claude_desktop_config.json`
### VS 配置
对于 Cursor 或带有 MCP 支持的 VS```json
{
mcp.servers":jules": {
"command": "jules "env "JULES": "your-key-here"
}
}
## 用法完成后,您的 AI 自然语言使用朱尔### 创建即刻任务
```
"使用朱尔斯在 my-app-backend 仓库中为身份验证模块添加单元测试"
```
助手将:
1. 检查 `jules://sources` 以查找仓库
2. 使用适当的提示调用 `create_coding_task` 工具
3. 返回会话 ID 以进行监控
### 调度循环任务
```
"调度朱尔斯每周一早上 9 点更新 my-app-backend 的依赖项"
```
助手将. 使用 cron 9 * * 调用 `schedule_recurring_task. 将调度保存/.jules/schedules.json`
3认下一次执行时间
### 监控进度
检查朱尔斯会话```
1. 调用_session_status` 或读取ules://sessions/abc123/full`
2. 显示(PLANNING、、COMPLETED 等)
状态提供下一步 审查和批准计划显示朱尔斯123 的计划并批准它"
```
助手将:
1. 读取 `j/abc123/full计划
2.计划步骤
在您确认后调用_session` 并执行 `action=approve_plan`
##资源
资源是 AI只读上下文:
| URI | 描述 |
|-----|-------------|
| `jules://sources` | 连接Hub 仓库 |
|://sessions/list`的朱尔斯 `jules://sessions/{id}/full`会话详细信息和活动 |
| `jules://s | 活动的调度任务 |
| `jules:///history` | 执行历史记录 |
## 可用工具是 AI 可以执行的动作:
### create_coding创建一个即刻的朱尔斯编码会话。
****
- `prompt`(必需)- 自然语言任务指令
- `source`(必需)- 仓库:`sources/github/owner/repo`)
- `branch`(可选)- 目标分支(默认:`main`)
- `auto_create_pr`(可选)- 自动创建 PR(默认:`)
- `require_plan_approval`(可选暂停审查(默认:`false`)
- `title`(可选)话标题
**返回:** 会话 ID 和
### manage_session
管理活动会话(批准计划、发送反馈)。
**参数:**
- `session_id必需)
- `action`(必需)- `""` 或 `"send_message"`
- `message`(- `send_message` 所需
### get_session检查会话状态并获取下一步。
**参数:**
session_id`(必需### schedule_recurring_task
调度任务在 cron 时间表上运行。
**参数- `task_name`(必需)- 唯一符
- `cron_expression`(必需)-格式
- `prompt`(必需)-
- `source- 仓库资源名称
- `branch`、`auto_create_pr`、`require_plan_approval`、`timezone`(可选)
**Cron 示例:**
- `"0 9 * * 1"` - 每个星期一 9:00
- `"0 2 * * *"` - 每天
- `"0 0 1 * - 每个月 1 日 00:00
### list_s列出所有活动及其下一次运行时间。
### delete_schedule
删除调度任务。
**参数:**
- `task_name必需)
## 可用提示
提示是引导最佳实践的模板:
- `refactor_module` - 引导重构工作流
- `setup_weekly_maintenance` - 自动维护 `audit_security` - 全面的安全审计
fix_failing_tests` - 测试失败解决
-_dependencies` - 依赖项更新和破坏性更改处理
## 安全考虑
### API 密钥安全
- **永远不要** 将您的 `JULES_API_KEY` 提交到版本控制中
- 存储在环境变量或安全机密管理器中
- API 密钥授予 **写入** 连接仓库的权限
### 仓库允许列表
使用 `JULES_ALLOWED_REPOS` 限制可以修改哪些仓库:
```bash
export JULES_ALLOWED_REPOS="myorg/safe-repo,myorg/test-repo"
```
这可以防止意外修改生产或敏感仓库。
### 计划审批工作流
对于关键仓库,**始终** 设置 `require_plan_approval: true`:
```
"创建一个任务,但在进行任何代码更改之前需要计划审批"
```
这确保在朱尔斯修改代码之前进行人工审查。
### 审计日志
所有调度任务执行都记录到 `jules://schedules/history`。请定期查看以审计自主活动。
## 故障排除
### "JULES_API_KEY 环境变量是必需的"
设置您的 API 密钥:
```bash
export JULES_API_KEY="your-key-here"
```
### "仓库未找到" 错误
1. 检查 `jules://sources` 资源以查看连接的仓库
2. 确保 GitHub 应用程序已安装在仓库上
3. 使用确切的资源名称格式:`sources/github/owner/repo`
### 调度不持久
检查 `~/.jules-mcp/schedules.json` 是否存在且可写。
### TypeScript 编译错误
```bash
npm run typecheck
```
## 开发
### 项目结构
```
src/
types/ # TypeScript 类型定义
jules-api.ts # 朱尔斯 API 类型
schedule.ts # 调度类型
api/ # API 客户端层
jules-client.ts
storage/ # 持久层
schedule-store.ts
scheduler/ # Cron 引擎
cron-engine.ts
mcp/ # MCP 协议层
resources.ts # 资源实现
tools.ts # 工具实现
prompts.ts # 提示模板
index.ts # 主入口点
```
### 构建命令
```bash
npm run build # 编译 TypeScript
npm run dev # 开发模式,带 tsx
npm run typecheck # 仅类型检查
```
## 涵盖的 API 端点
该服务器提供了朱尔斯 v1alpha API 的完整覆盖:
| 端点 | 方法 | MCP 映射 |
|----------|--------|-------------|
| `/sources` | GET | 资源:`jules://sources` |
| `/sources/{name}` | GET | 包含在完整会话资源中 |
| `/sessions` | POST | 工具:`create_coding_task` |
| `/sessions` | GET | 资源:`jules://sessions/list` |
| `/sessions/{id}` | GET | 工具:`get_session_status` |
| `/sessions/{id}:approvePlan` | POST | 工具:`manage_session`(approve_plan) |
| `/sessions/{id}:sendMessage` | POST | 工具:`manage_session`(send_message) |
| `/sessions/{id}/activities` | GET | 资源:`jules://sessions/{id}/full` |
### 附加功能(超出 API)
- **本地调度** - 基于 cron 的任务执行
- **调度持久性** - 服务器重启后仍然保持
- **执行历史记录** - 调度任务的审计跟踪
## 未来路线图
当朱尔斯 API 添加本地调度时:
- `schedule_recurring_task` 工具将从本地 cron 迁移到 API 调用
- 现有本地调度可以自动迁移
- 为向后兼容,MCP 工具接口保持不变
## 资源
- **朱尔斯 API 文档**:https://developers.google.com/jules/api
- **朱尔斯 Web 界面**:https://jules.google
- **模型上下文协议**:https://modelcontextprotocol.io
- **MCP TypeScript SDK**:https://github.com/modelcontextprotocol/typescript-sdk
## 许可证
MIT
## 贡献
这是一个开源实现。欢迎为以下事项做出贡献:
- 额外的提示模板
- 增强的错误处理
- Webhook 支持(当朱尔斯 API 添加时)
- 高级调度功能(条件执行、依赖链)