生产级MCP服务器用于屏幕录制和演示自动化 - 第一阶段发布,包含6个专业录制工具,支持多显示器、音频视频混合以及无缝集成AI驱动的演示工作流程。
<!-- PyPI 元数据 -->mcp-name: devstudio
</div>方法1:uvx(推荐 - 零安装)
# 直接运行无需安装
uvx devstudio-mcp
非常适合AI代理和快速测试 - 无需设置!
方法2:通过PyPI安装
# 从PyPI安装
pip install devstudio-mcp
# 运行服务器
devstudio-mcp
# 或作为模块:python -m devstudio_mcp.server
方法3:开发环境安装
# 克隆仓库
git clone https://github.com/nihitgupta2/devstudio.git
cd devstudio
# 使用uv安装(推荐)
uv sync
# 或使用pip
pip install -e .
# 运行服务器
devstudio-mcp
一键安装(推荐给Claude Code用户):
/plugin marketplace add nihitgupta2/devstudio
这会自动:
手动配置(替代方案):
添加到你的Claude Code MCP设置:
{
"mcpServers": {
"devstudio": {
"command": "uvx",
"args": ["devstudio-mcp"]
}
}
}
注意:FFmpeg已与PyAV捆绑在一起 - 不需要单独安装!该包包含了专业视频编码所需的一切。
| 工具 | 描述 | 状态 |
|---|---|---|
start_recording | 开始屏幕/音频/终端录制会话 | ✅ 活跃 |
stop_recording | 停止录制并获取输出文件 | ✅ 活跃 |
capture_screen | 捕获单张屏幕快照 | ✅ 活跃 |
list_active_sessions | 列出所有活跃的录制会话 | ✅ 活跃 |
mux_audio_video | 将独立的音频和视频文件合并为一个MP4 | ✅ 活跃 |
get_available_screens | 获取关于所有显示器的信息 | ✅ 活跃 |
start_recording启动新的录制会话,包括屏幕、音频和/或终端捕获。
{
"include_screen": true,
"include_audio": true,
"include_terminal": false,
"output_format": "mp4",
"screen_id": 1,
"auto_mux": true,
"cleanup_source_files": false
}
screen_id选择特定屏幕)include_screen=false, include_audio=truestop_recording停止活动的录制会话并检索输出文件路径。
{
"session_id": "uuid-of-session"
}
auto_mux=true且同时录制了屏幕+音频时,返回combined.mp4文件capture_screen捕获任意显示器的单张屏幕快照。
{
"screen_id": 1
}
screen_id参数支持多显示器list_active_sessions列出所有活跃的录制会话及其状态。
mux_audio_video将独立的音频和视频文件合并为一个MP4。
{
"video_path": "/path/to/video.mp4",
"audio_path": "/path/to/audio.wav",
"output_path": "/path/to/output.mp4"
}
get_available_screens获取关于所有可用显示器及其属性的信息。
状态:生产就绪 发布时间:2024年第四季度
目标:2025年第一季度
Git分支:archive/phase-2-3-ai-features
特性:
工具(3个):
transcribe_audio - 将音频转换为文本,带时间戳analyze_content - 提取主题、术语和结构extract_code - 识别并分类代码片段目标:2025年第二季度
特性:
工具(4个):
generate_blog_post - 创建技术博客文章create_documentation - 生成API/功能文档generate_summary - 可配置的内容摘要create_course_outline - 教育内容结构目标:2025年第三季度
特性:
工具(3个):
get_license_info - 检查订阅状态check_feature_access - 验证功能可用性get_usage_stats - 监控使用情况和配额DevStudio MCP正演变成一个结合专业录制基础设施与AI驱动浏览器自动化的全面自主演示录制平台。
想象一下:一个能够自主创建完整产品演示的AI代理,通过控制浏览器、记录每次交互,并生成文档 - 所有这些都通过MCP协调完成。
自主浏览器控制以实现端到端演示创建
DevStudio MCP将集成AWS Nova Act代理,以实现完全自动化的演示工作流程:
graph LR
A[MCP: 开始录制] --> B[Nova Act: 浏览器自动化]
B --> C[自主操作]
C --> D[MCP: 停止录制]
D --> E[完整的演示视频]
# 通过MCP开始录制
mcp_client.call_tool("start_recording", {
"include_screen": True,
"include_audio": True,
"auto_mux": True
})
# 启动Nova Act进行浏览器自动化
from nova_act import NovaAct
nova = NovaAct(api_key="key")
# 代理自主执行完整的工作流程
nova.act("访问amazon.com,搜索无线耳机,\
按价格低于$100筛选,将评分最高的加入购物车,\
前往结账页面")
# 停止录制
result = mcp_client.call_tool("stop_recording", {
"session_id": session_id
})
# 结果:专业录制的电子商务演示
print(f"演示录制完成:{result['files']['combined']}")
自动记录多步骤用户旅程:
捕获复杂的技工工作流程:
录制带有浏览器交互的测试场景:
创建个性化的演示内容:
┌─────────────────────────────────────────────┐
│ DevStudio MCP 录制服务器(第一阶段) │
│ • start_recording │
│ • capture_screen │
│ • stop_recording │
│ • 多显示器支持 │
└──────────────┬──────────────────────────────┘
│ 编排
↓
┌─────────────────────────────────────────────┐
│ AWS Nova Act 浏览器自动化 │
│ • 自主导航网站 │
│ • 使用自然语言填写表单 │
│ • 智能点击和互动 │
│ • 多步骤工作流程执行 │
└──────────────┬──────────────────────────────┘
│
↓
┌─────────────────────────────────────────────┐
│ AI 处理流水线(第二阶段-第三阶段) │
│ • 转录叙述 │
│ • 生成文档 │
│ • 创建博客文章 │
│ • 提取代码片段 │
└─────────────────────────────────────────────┘
│
↓ 完整演示包
超越浏览器 - 在任何环境中录制演示:
Nova Act代理可以配置为与几乎任何基于Web的界面互动,使DevStudio MCP成为AI驱动演示创建的通用录制基础设施。
传统的演示创建:
AI驱动的DevStudio MCP + Nova Act:
# 1. 检查可用显示器
screens = await get_available_screens()
# 返回:[{"id": 0, "width": 1920, "height": 1080, ...}, ...]
# 2. 在第二个显示器上开始录制教程
session = await start_recording({
"include_screen": True,
"include_audio": True,
"screen_id": 1, # 第二个显示器
"output_format": "mp4",
"auto_mux": True
})
# 返回:{"session_id": "...", "status": "录制中"}
# 3. 录制你的演示...
# 4. 在录制期间快速截屏
screenshot = await capture_screen({"screen_id": 1})
# 返回:{"file_path": "/path/to/screenshot.png", ...}
# 5. 停止录制并获取文件
result = await stop_recording({
"session_id": session["session_id"]
})
# 返回:{"files": {"combined": "/path/to/combined.mp4"}, "duration": 120.5}
# 获取所有可用显示器
screens = await get_available_screens()
print(f"找到 {len(screens)} 个显示器")
# 录制特定显示器
session = await start_recording({
"include_screen": True,
"screen_id": 2, # 第三个显示器
"include_audio": True
})
# 分别录制音频和视频
session = await start_recording({
"include_screen": True,
"include_audio": True,
"auto_mux": False # 不自动组合
})
result = await stop_recording({"session_id": session["session_id"]})
# 后期手动混合,使用自定义设置
muxed = await mux_audio_video({
"video_path": result["files"]["screen"],
"audio_path": result["files"]["audio"],
"output_path": "/custom/path/final_demo.mp4"
})
| 变量 | 描述 | 是否必需 | 默认值 |
|---|---|---|---|
RECORDING_OUTPUT_DIR | 录制输出目录 | 否 | ~/devstudio/recordings |
MAX_RECORDING_DURATION | 最大录制长度(秒) | 否 | 3600(1小时) |
RECORDING_QUALITY | 质量设置(低、中、高) | 否 | 中 |
RECORDING_FPS | 每秒帧数 | 否 | 30 |
LOG_LEVEL | 日志级别(DEBUG、INFO、WARNING、ERROR) | 否 | INFO |
# 默认配置
recording:
output_dir: ~/devstudio/recordings
max_duration: 3600 # 1小时
quality: 中
fps: 30
audio_enabled: True
auto_mux: True
# 运行所有测试
uv run pytest
# 运行带覆盖率的测试
uv run pytest --cov=devstudio_mcp
# 特别测试录制工具
uv run pytest tests/test_recording.py -v
devstudio_mcp/
├── server.py # 主MCP服务器(第一阶段