模型上下文协议服务器

一个专门的模型上下文协议(MCP)服务器,作为与Jules API(Google的Agentic API)的安全桥梁,允许AI客户端(如Claude Desktop、Cursor等)与Jules能力的代理交互,用于代码生成、计划批准和会话管理等任务。

  • by bkmaxbaibhav
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 bkmaxbaibhav/google-jules-mcp

使用说明

Jules MCP服务器

一个专用的模型上下文协议(MCP)服务器,充当到 Jules API (谷歌的代理API)。它允许AI客户端(如Claude Desktop、Cursor等)与支持Jules的代理进行交互,以完成代码生成、计划审批和会话管理等任务。

🚀 特性

  • Jules API集成:全套工具 create_session, send_message, approve_plan,以及 list_activities.
  • 双层安全:
    • API密钥:限制服务器对授权客户端的访问。
    • TOTP(基于时间的一次性密码):使用Google身份验证器在30分钟的会话窗口中保护敏感操作(如批准计划)。
  • 有状态HTTP传输:支持SSE(服务器发送事件)以进行实时代理更新。
  • TypeScript:采用型号安全和现代最佳实践。

🛠️ 先决条件

  • Node.js v18+
  • Jules API密钥:访问Google Jules API。
  • 谷歌身份验证器应用程序:用于生成TOTP代码。

📦 安装

  1. 克隆仓库

    git clone https://github.com/bkmaxbaibhav/google-jules-mcp.git
    cd jules-mcp
    
  2. 安装依赖项

    npm install
    
  3. 配置环境 复制示例并使用您的凭据进行更新:

    cp .env.example .env
    

    必需 .env 变量:

    • JULES_API_KEY:您的Google Jules API密钥。
    • JULES_BASE_URL: https://jules.googleapis.com (默认)
    • MCP_API_KEY:您定义的用于保护此服务器的密钥。
    • TOTP_SECRET:用于TOTP生成的32进制字符串(例如。, JBSWY3DPEHPK3PXP).

      提示:您可以使用在线工具或CLI实用程序扫描到您的Google Authenticator应用程序中,生成TOTP密钥和二维码。

🏃 运行服务器

# Development mode (auto-reload)
npm run dev

# Production
npm run build
npm start

服务器在上运行 http://localhost:3000 默认情况下。

🔒 身份验证流程

此服务器实现了严格的安全性,以防止未经授权的代理操作:

  1. 连接:MCP客户端使用 x-api-key 标题与您的匹配 MCP_API_KEY.
  2. 发现:“安全”工具,如 list_tools 和 get_sources 立即工作。
  3. 行动:试图打电话 create_session 或 approve_plan 最初将失败:

    需要TOTP身份验证:使用“authenticate”工具。..

  4. 解锁:你必须打电话给 authenticate 该工具使用您的Google身份验证器应用程序中的当前代码。
    • 工具: authenticate
    • 参数: { "otp": "123456" }
  5. 会话:验证后,服务器将解锁所有工具 30分钟.

🤖 与AI客户端一起使用

克劳德桌面/光标/其他MCP客户端

配置您的客户端以通过HTTP(SSE)连接到此服务器。

统一资源定位符: http://localhost:3000/server/mcp 标头:

  • x-api-key: <Your configured MCP_API_KEY>

AI工作流提示示例

连接后,您可以询问AI:

“我想开始一个新的编码任务。请先对我进行身份验证。” (AI呼叫 authenticate 工具,你提供代码) “太好了,现在创建一个会话,使用github源代码‘sources/github/myuser/myrepo’构建一个React应用程序。”

🧰 可用工具

工具名称 描述 输入
authenticate 解锁敏感工具30分钟 otp (字符串)
get_sources 列出可用的输入源(repos) 无
list_sessions 列出最近的代理会话 pageSize (可选)
create_session 启动新的代理会话 prompt, sourceContext
send_message 向现有会话发送新提示 name, prompt
approve_plan 批准代理人提出的计划 name (会话名称)
list_activities 查看代理日志/活动 name, pageSize

🤝 贡献

看 贡献.md 有关提交PR的详细信息。

📄 许可证

该项目根据 MIT许可证.