Token导航 LogoToken导航TokenDH.com
Gemini Live MCP logo
音视频stdio官方级别未说明来源级核验

Gemini Live MCP

MCP Server

一个通用的MCP服务器,用于通过MCP兼容的AI代理(如Claude Code、Cursor或自定义代理)与Gemini Live Chrome扩展和Web应用交互,提供会话管理、语音工具和转录捕获功能。

工具数

12

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAI代理集成ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hayesraffle

提供方

hayesraffle

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install websockets mcp

详细介绍

双子座现场mcp

通用 主控程序 用于交互的服务器 Gemini Live 来自任何兼容MCP的AI代理的Chrome扩展程序和web应用程序-- 克劳德代码, 光标,或者你自己的。

它通过以下方式连接到Chrome Chrome DevTools协议 并公开了启动/停止语音会话、说出话语、捕获转录、检查状态和运行端到端语音测试的工具——所有这些都是以编程方式进行的。

运作原理

┌─────────────────────────────────────────────────────────────────┐
│  MCP Client (Claude Code, Cursor, custom agent, etc.)           │
│                                                                 │
│  Calls MCP tools: start_session, speak, listen, run_voice_test  │
└──────────────────────────┬──────────────────────────────────────┘
                           │ MCP protocol (stdio)
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│  gemini-live-mcp.py                                             │
│                                                                 │
│  ┌─────────────┐  ┌──────────────┐  ┌────────────────────────┐ │
│  │ Session mgmt │  │ Voice tools  │  │ Transcript capture     │ │
│  │ (CDP clicks, │  │ (TTS → Black │  │ (poll window prop via  │ │
│  │  navigation) │  │  Hole → mic) │  │  CDP Runtime.evaluate) │ │
│  └──────┬───────┘  └──────┬───────┘  └───────────┬────────────┘ │
└─────────┼─────────────────┼──────────────────────┼──────────────┘
          │ CDP              │ audio                │ CDP
          ▼                  ▼                      ▼
┌─────────────────────────────────────────────────────────────────┐
│  Chrome (--remote-debugging-port=9222)                          │
│                                                                 │
│  ┌─────────────────┐    ┌────────────────────────────────────┐  │
│  │  Page            │◄──►│  Extension / Web App               │  │
│  │  (content script │    │  ┌──────────────────────────────┐  │  │
│  │   or __mcp       │    │  │  Offscreen doc / session hub  │  │  │
│  │   bridge)        │    │  │  - Gemini Live WebSocket      │  │  │
│  │                  │    │  │  - Mic capture (BlackHole)     │  │  │
│  │                  │    │  │  - Audio playback              │  │  │
│  │                  │    │  │  - Transcript accumulation     │  │  │
│  └─────────────────┘    │  └──────────────────────────────┘  │  │
│                          └────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘
                                    │
                                    │ WebSocket
                                    ▼
                          ┌───────────────────┐
                          │  Gemini Live API   │
                          │  (Google AI or     │
                          │   Vertex AI)       │
                          └───────────────────┘

语音测试流程

Agent calls run_voice_test("what is this page about")
    │
    ├─► Navigate to URL
    ├─► Click FAB button (starts Gemini Live session)
    ├─► Wait for offscreen doc / session to connect
    ├─► Route OS audio: input + output → BlackHole
    ├─► TTS "what is this page about" → BlackHole → Chrome mic
    ├─► Poll offscreen doc for new transcript entries
    ├─► Capture user + model transcripts
    ├─► Assert model response contains expected text
    └─► Return results + latency metrics

两种模式

  • 扩展模式 (默认):适用于带有Shadow DOM覆盖+屏幕外文档的Chrome扩展程序。所有特定于扩展的详细信息(选择器、扩展名、转录属性)都是通过环境变量配置的。
  • Webapp模式:对于暴露一个应用程序的web应用程序(React等) window.__mcp 桥梁物体。不需要特定于扩展的配置。

需求

  • Python 3.10+
  • 运行Chrome --remote-debugging-port=9222
  • Python包: websockets, mcp
  • 用于语音工具 (macOS):

- 黑洞 --用于将TTS路由到Chrome麦克风的虚拟音频设备 - 切换音频源 --用于切换音频设备的CLI工具 - TTS脚本(指向 GLMCP_VOICE_SCRIPT)

# Python deps
pip install websockets mcp

# macOS audio deps (for voice tools)
brew install blackhole-16ch switchaudio-osx

非macOS: 如果出现以下情况,则会自动跳过音频路由 SwitchAudioSource 不在PATH上。手动配置虚拟音频路由。

配置

扩展模式(默认)

添加到您的 .mcp.json (例如,在Claude Code的项目根目录中):

{
  "mcpServers": {
    "gemini-live": {
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/gemini-live-mcp.py"],
      "env": {
        "GLMCP_SHADOW_HOST": "#my-ext-root",
        "GLMCP_FAB_SELECTOR": ".start-btn",
        "GLMCP_CLOSE_SELECTOR": ".stop-btn",
        "GLMCP_EXTENSION_NAME": "My Extension"
      }
    }
  }
}

Webapp模式

{
  "mcpServers": {
    "gemini-live": {
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/gemini-live-mcp.py"],
      "env": {
        "GLMCP_MODE": "webapp",
        "GLMCP_DEFAULT_URL": "http://localhost:5173"
      }
    }
  }
}

环境变量

变量必填默认描述
GLMCP_MODE没有extensionextensionwebapp
GLMCP_SHADOW_HOST仅扩展--影子DOM主机选择器(例如。 #my-ext-root)
GLMCP_FAB_SELECTOR仅扩展--CSS选择器,用于阴影根内的start/FAB按钮
GLMCP_CLOSE_SELECTOR仅扩展--CSS选择器,用于阴影根内的关闭/停止按钮
GLMCP_EXTENSION_NAME仅限扩展名--扩展名,如所示 chrome://extensions
GLMCP_CDP_URL没有http://127.0.0.1:9222Chrome DevTools协议URL
GLMCP_TRANSCRIPT_PROP没有__tcTranscriptswindow 转录数组的属性名称(扩展模式)
GLMCP_SW_URL_SUFFIX没有/background.js用于扩展检测的服务工作者URL后缀
GLMCP_SW_URL_EXCLUDE没有/build/从SW URL匹配中删除子字符串
GLMCP_OFFSCREEN_URL没有offscreen.html子字符串以匹配屏幕外文档URL
GLMCP_DEFAULT_URL维基百科霸王龙页面默认URL start_sessionrun_voice_test
GLMCP_VOICE_SCRIPT--TTS脚本的路径 speakrun_voice_test 工具

工具

工具说明
start_session导航到URL并启动Gemini Live会话
stop_session干净地结束当前会话
speak生成TTS音频并将其播放到虚拟麦克风中(需要 GLMCP_VOICE_SCRIPT)
listen轮询新用户+模型转录对,超时
run_voice_test完整的E2E测试:导航→ 开始→ 说→ 捕捉→ 断言(带延迟)
get_session_state页面URL、会话状态、转录计数、音频路由
get_transcripts返回最后N个成绩单条目
get_logs从屏幕外文档或页面返回最近的控制台日志
eval_page在主页上下文中评估JavaScript
eval_offscreen在屏幕外/中心文档上下文中评估JavaScript
navigate将主页导航到URL
reload_extension通过以下方式重新加载扩展 chrome://extensions (仅限扩展模式)

音频路由(macOS)

speakrun_voice_test 这些工具通过BlackHole路由音频,以便TTS输出馈送到Chrome的麦克风输入。

  • 自动路线 首先 speakrun_voice_test call--将操作系统输入+输出切换到BlackHole
  • 自动恢复 关闭原始音频设备(通过 atexit +SIGTERM/SIGINT信号处理器)
  • 懒惰 --在您实际使用语音工具之前,音频不会改变

检查当前状态 get_session_state --它报告活动输入设备以及路由是否处于活动状态。

重要提示: Chrome保留了自己的麦克风偏好,与操作系统默认设置分开(chrome://settings/content/microphone).这 stop_session 该工具会自动将其重置为“系统默认值”。

Chrome设置

首先完全退出Chrome(macOS上为Cmd+Q),然后使用调试端口启动:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/gemini-live-mcp-test \
  --no-first-run \
  --no-default-browser-check \
  "about:blank"
  • 扩展模式:在以下位置加载未打包的扩展名 chrome://extensions (开发人员模式)。
  • Webapp模式:打开您的web应用程序URL(例如。 http://localhost:5173).

语音测试

speakrun_voice_test 工具需要 GLMCP_VOICE_SCRIPT 设置为生成TTS音频并通过BlackHole播放的脚本。

该脚本名为:

python  [--say] ""
  • --say 使用macOS say (离线,快速)
  • 没有 --say,使用类似的替代方案 edge-tts (在线,更高质量)

成绩单合同

扩展模式: 倒像 window. 在屏幕外文档上——一个数组 { role: 'user' | 'model', text: string }.默认为 __tcTranscripts.

Webapp模式: 倒像 window.__mcp.transcripts 在页面上--格式相同。

listenrun_voice_test 工具处理导航后的转录数组重置(当屏幕外文档重新启动时,数组重置为空——工具会检测到这一点并自动调整其基线)。

window.__mcp 桥接合同(Webapp模式)

Web应用程序通过设置向MCP服务器公开状态 window.__mcp:

interface MCPBridge {
  transcripts: Array;
  isConnected: boolean;
  startSession?: () => void;
  stopSession?: () => void;
  sessionState?: string;
  logs?: Array;
}

将桥添加到React应用程序

useEffect(() => {
  (window as any).__mcp = {
    transcripts: transcriptHistory,
    isConnected,
    startSession: () => startSession(),
    stopSession: () => stopSession(),
  };
  return () => { delete (window as any).__mcp; };
}, [transcriptHistory, isConnected, startSession, stopSession]);

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAI代理集成MCP服务器本地部署Chrome扩展交互语音会话管理转录捕获

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP