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

Demosmith MCP

MCP Server

playwright

demosmith-mcp是一款用于自动录制演示的工具,支持视频、文档和截图生成,适用于产品演示、教程和文档创建。

工具数

20

提示词数

0

GitHub Stars

2

资源数

0
TypeScriptClaude视频生成Claude

安装说明

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

作者 / 组织

G0d2i11a

提供方

G0d2i11a

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx playwright install chromium

详细介绍

demosmith mcp

MCP(模型上下文协议)服务器,用于自动录制演示视频、文档和屏幕截图。非常适合使用AI代理创建产品演示、教程和文档。

演示

*演示:GitHub登录流程,带有动画光标、点击效果和自动生成的文档*

特性

  • 视频录制 -浏览器会话的自动屏幕录制
  • 电脑屏幕截图工具 -每一步自动截图
  • 动画光标 -带有点击效果和声音的平滑光标动画
  • TTS叙事 -与多个提供商(OpenAI、ElevenLabs、Azure、Edge)合作的人工智能配音
  • 多种输出格式:

- 视频(WebM) - 带音频的视频(MP4) - 剧作家追踪(交互式回放) - Markdown指南 - JSON步骤 - 叙述脚本+JSON(带时间戳) - 字幕(SRT/VTT) - 交互式HTML教程 - GIF预览

  • 多语言支持 -英语和汉语
  • 多标签支持 -使用多个浏览器选项卡
  • 柔性元件选择 -按引用、文本、标签、占位符、CSS、XPath

安装

npm install demosmith-mcp
npx playwright install chromium

用法

作为MCP服务器

添加到您的Claude Code MCP配置中(~/.claude/mcp.json):

{
  "mcpServers": {
    "demosmith": {
      "command": "npx",
      "args": ["demosmith-mcp"]
    }
  }
}

命令行接口命令模式

# Replay a recorded demo
demosmith replay ./steps.json -o ./output --video

# Generate documentation from steps
demosmith generate ./steps.json -l zh -o ./docs

# Serve generated files locally
demosmith serve ./output

MCP工具

会话管理

工具说明
demosmith_start开始新的演示录制会话
demosmith_end结束会议并生成所有可交付成果
demosmith_status获取当前会话状态

导航与发现

工具说明
demosmith_navigate导航到URL
demosmith_snapshot获取元素引用的可访问性树快照

核心行动

工具说明
demosmith_click单击元素(使用动画光标)
demosmith_fill填充文本输入(带键入动画)
demosmith_select从下拉列表中选择
demosmith_press_key按键盘键或组合键
demosmith_hover将鼠标悬停在元素上(用于工具提示/菜单)
demosmith_drag拖放
demosmith_upload上传文件

页面操作

工具说明
demosmith_scroll滚动页面或元素
demosmith_wait等待条件
demosmith_screenshot手动截图

验证

工具说明
demosmith_assert验证条件(文本、可见性、URL等)

选项卡管理

工具说明
demosmith_new_tab打开新浏览器选项卡
demosmith_switch_tab切换到其他选项卡
demosmith_close_tab关闭选项卡
demosmith_list_tabs列出所有打开的选项卡

元素选择器

demosmith支持多种定位元素的方法:

# By ref (from snapshot)
"1", "2", "3"

# By visible text
"text:Submit"
"text:/Submit|Cancel/"  # regex

# By label
"label:Email"

# By placeholder
"placeholder:Enter your name"

# By role and name
"role:button:Submit"
"role:textbox"

# By test ID
"testid:submit-btn"

# By CSS selector
"css:.btn-primary"

# By XPath
"xpath://button[@type='submit']"

# By alt text
"alt:Logo"

# By title
"title:Close"

示例工作流程

1. demosmith_start(url="https://example.com/login", title="Login Demo")
2. demosmith_snapshot()  → Get element refs
3. demosmith_fill(ref="label:Email", value="user@example.com", description="Enter email")
4. demosmith_fill(ref="label:Password", value="password123", description="Enter password")
5. demosmith_click(ref="text:Sign In", description="Click sign in button")
6. demosmith_assert(type="url", expected="/dashboard", description="Verify redirect")
7. demosmith_end()  → Returns all deliverables

输出文件

结束会话后,将生成以下文件:

output/
├── demo.webm              # Screen recording video
├── demo-with-audio.mp4    # Video with TTS narration (if TTS enabled)
├── demo.gif               # Animated GIF preview
├── trace.zip              # Playwright trace (interactive replay)
├── guide.md               # Markdown documentation
├── steps.json             # Structured step data
├── narration.txt          # Voiceover script
├── narration.json         # Timed narration for TTS APIs
├── narration.mp3          # Generated audio (if TTS enabled)
├── subtitles.srt          # SRT subtitles
├── subtitles.vtt          # VTT subtitles
├── tutorial.html          # Interactive HTML tutorial
├── animated-preview.html  # HTML preview (fallback)
└── assets/
    ├── step-001.png
    ├── step-002.png
    └── ...

看 以获得完整的示例输出。

配置选项

启动会话选项

选项类型默认值描述
titlestring必填演示标题
startUrlstring必需起始URL
outputDirstring临时目录输出目录
videobooleantrue录制视频
tracebooleantrue记录剧作家跟踪
screenshotOnStepbooleantrue每一步自动截图
headlessbooleanfalse无头运行浏览器
viewport对象1280x720浏览器视口大小
storageStatestring-登录状态文件的路径

动画选项

点击并填充动作支持动画选项:

选项类型默认值描述
animatedbooleantrue启用光标动画
moveDurationnumber500光标移动持续时间(ms)
typeDelaynumber50按键之间的延迟(ms)

断言类型

demosmith_assert 该工具支持以下验证类型:

类型描述
text检查元素文本内容
visible检查元件是否可见
hidden检查元素是否隐藏
url检查当前URL
title检查页面标题
value检查输入值
checked复选框已选中
enabled检查元件是否启用
disabled检查元件已禁用
count检查匹配元素的数量

多语言支持

生成的内容支持英语和中文。通过CLI设置:

demosmith generate ./steps.json -l zh  # Chinese
demosmith generate ./steps.json -l en  # English (default)

自定义模板

您可以使用类似Mustache的语法为输出生成提供自定义模板:

# {{session.title}}

{{#each steps}}
## Step {{this.id}}: {{this.description}}

{{#if this.screenshotRelative}}
![Screenshot]({{this.screenshotRelative}})
{{/if}}
{{/each}}

登录会话支持

使用Playwright保存登录会话:

await context.storageState({ path: 'auth.json' });

在演示中使用:

demosmith_start(url="...", title="...", storageState="auth.json")

TTS叙事

通过将TTS选项传递给 demosmith_end:

demosmith_end(tts={
  provider: "openai",
  apiKey: "sk-...",
  voice: "alloy"
})

支持的TTS提供商

提供商需要API密钥语音注释
openai合金、回声、寓言、玛瑙、新星、微光最佳品质
elevenlabs各种语音ID最自然
azure是的,美国JennyNeural等。SSML支持
edge美国AriaNeural等。免费,需要 edge-tts CLI

TTS选项

选项类型描述
providerstringTTS提供者(openai、elevenlabs、azure、edge)
apiKeystringneneneba API键(边缘不需要)
voicestring语音ID或名称
languagestring语言代码(例如en-US、zh-CN)
speednumber语音速度倍增器

环境变量

对于Azure TTS,设置区域:

export AZURE_SPEECH_REGION=eastus

叙述JSON格式

生成的 narration.json 包含用于自定义TTS集成的定时段:

{
  "title": "Login Demo",
  "totalDurationMs": 15000,
  "segments": [
    {
      "stepId": 1,
      "startMs": 2000,
      "endMs": 4500,
      "durationMs": 2500,
      "text": "Click the login button"
    }
  ]
}

发展

# Install dependencies
pnpm install

# Build
pnpm build

# Run MCP server
pnpm start

# Run CLI
pnpm cli help

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude视频生成演示录制本地部署自动化工具教程创建AI语音

支持客户端

Claude

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

playwright

工具数量(toolCount,工具数)

20

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP