Production-grade MCP server for screen recording, audio capture, and demo automation
Project description
DevStudio MCP: Production-Grade Screen Recording Server
Production-grade MCP server for screen recording and demo automation - Phase 1 release featuring 6 professional recording tools with multi-monitor support, audio/video muxing, and seamless integration for AI-driven demo workflows.
mcp-name: devstudio
๐ Quick Start
Installation
Method 1: uvx (Recommended - Zero Install)
# Run directly without installation
uvx devstudio-mcp
Perfect for AI agents and quick testing - no setup required!
Method 2: PyPI Installation
# Install from PyPI
pip install devstudio-mcp
# Run the server
devstudio-mcp
# Or as module: python -m devstudio_mcp.server
Method 3: Development Installation
# Clone the repository
git clone https://github.com/nihitgupta2/devstudio.git
cd devstudio
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e .
# Run the server
devstudio-mcp
Note: FFmpeg is bundled with PyAV - no separate installation required! The package includes everything needed for professional video encoding.
๐ฏ Phase 1 Features
๐น Professional Recording Tools (6 Active Tools)
- Multi-Monitor Recording: Capture any screen in multi-monitor setups
- Audio Capture: Professional audio recording with real-time processing
- Audio/Video Muxing: Automatic combination of separate streams into single MP4 files
- Screenshot Tools: Single-shot screen capture with metadata
- Session Management: Track and manage multiple recording sessions
- Terminal Monitoring: Command history and output capture
๐ Tools Overview
| Tool | Description | Status |
|---|---|---|
start_recording |
Start screen/audio/terminal recording session | โ Active |
stop_recording |
Stop recording and get output files | โ Active |
capture_screen |
Take single screenshot | โ Active |
list_active_sessions |
List all active recording sessions | โ Active |
mux_audio_video |
Combine separate audio and video files | โ Active |
get_available_screens |
Get information about all monitors | โ Active |
๐ ๏ธ MCP Tools Reference
๐น Recording Tools
start_recording
Start a new recording session with screen, audio, and/or terminal capture.
{
"include_screen": true,
"include_audio": true,
"include_terminal": false,
"output_format": "mp4",
"screen_id": 1,
"auto_mux": true,
"cleanup_source_files": false
}
- Returns: Session ID, status, output directory, recording types
- Use case: Begin capturing screen demos, tutorials, or presentations
- Features:
- Multi-monitor support (select specific screen with
screen_id) - Auto-mux: Automatically combine audio+video into single MP4 (default: true)
- Cleanup: Delete source files after muxing (default: false)
- Audio-only: Set
include_screen=false, include_audio=true
- Multi-monitor support (select specific screen with
stop_recording
Stop an active recording session and retrieve output file paths.
{
"session_id": "uuid-of-session"
}
- Returns: File paths for screen/audio/terminal/combined, session duration
- Use case: End recording and get file locations
- Note: When
auto_mux=trueand both screen+audio recorded, returnscombined.mp4file
capture_screen
Take a single screenshot of any monitor.
{
"screen_id": 1
}
- Returns: Screenshot file path, dimensions, format, size
- Use case: Quick captures for documentation or bug reports
- Features: Multi-monitor support via
screen_idparameter
list_active_sessions
List all active recording sessions and their status.
- Returns: List of active sessions with IDs, start times, types
- Use case: Monitor ongoing recordings or manage multiple sessions
mux_audio_video
Combine separate audio and video files into a single MP4.
{
"video_path": "/path/to/video.mp4",
"audio_path": "/path/to/audio.wav",
"output_path": "/path/to/output.mp4"
}
- Returns: Muxed file path, input files, size
- Use case: Merge separately recorded streams or fix sync issues
- Note: Uses PyAV for professional H.264/AAC encoding
get_available_screens
Get information about all available monitors and their properties.
- Returns: List of screens with ID, resolution, position, scale
- Use case: Select specific monitor for recording in multi-screen setups
๐บ๏ธ Roadmap - Development Phases
โ Phase 1: Recording Infrastructure (Current - v1.0.0)
Status: Production-ready Release: Q4 2024
- โ 6 production-ready recording tools
- โ Multi-monitor support with screen selection
- โ Audio/video muxing (H.264 + AAC)
- โ Professional screen capture
- โ Session management
- โ PyAV integration (bundled FFmpeg)
๐ง Phase 2: AI-Powered Processing (In Development)
Target: Q1 2025
Git Branch: archive/phase-2-3-ai-features
Features:
- ๐ Audio transcription using OpenAI Whisper
- ๐ Multi-provider AI (OpenAI, Anthropic, Google)
- ๐ Content analysis with topic detection
- ๐ Code extraction from recordings
- ๐ Automatic chapter detection with timestamps
Tools (3):
transcribe_audio- Convert audio to text with timestampsanalyze_content- Extract topics, terms, and structureextract_code- Identify and categorize code snippets
๐ Phase 3: Content Generation (Planned)
Target: Q2 2025
Features:
- ๐ AI-generated blog posts from recordings
- ๐ Automatic documentation creation
- ๐ Course outline generation
- ๐ Multi-format content export (Markdown, HTML, PDF)
- ๐ YouTube descriptions with timestamps
Tools (4):
generate_blog_post- Create technical blog postscreate_documentation- Generate API/feature docsgenerate_summary- Configurable content summariescreate_course_outline- Educational content structure
๐ Phase 4: Monetization & Teams (Future)
Target: Q3 2025
Features:
- ๐ Tier-based feature access (Free, Pro, Team, Enterprise)
- ๐ Usage tracking and analytics
- ๐ License management system
- ๐ Team collaboration features
- ๐ Custom branding options
Tools (3):
get_license_info- Check subscription statuscheck_feature_access- Validate feature availabilityget_usage_stats- Monitor usage and quotas
๐ฎ Vision: Autonomous Demo Recording Platform
DevStudio MCP is evolving into a comprehensive autonomous demo recording platform that combines professional recording infrastructure with AI-driven browser automation.
๐ The Future: AI-Driven Demo Creation
Imagine: An AI agent that can autonomously create complete product demos by controlling browsers, recording every interaction, and generating documentation - all orchestrated through MCP.
๐ค AWS Nova Act Integration
Autonomous browser control for end-to-end demo creation
DevStudio MCP will integrate with AWS Nova Act agents to enable fully automated demo workflows:
graph LR
A[MCP: Start Recording] --> B[Nova Act: Browser Automation]
B --> C[Autonomous Actions]
C --> D[MCP: Stop Recording]
D --> E[Complete Demo Video]
Example Workflow: E-commerce Demo
# Start recording via MCP
mcp_client.call_tool("start_recording", {
"include_screen": true,
"include_audio": true,
"auto_mux": true
})
# Launch Nova Act for browser automation
from nova_act import NovaAct
nova = NovaAct(api_key="key")
# Agent performs complete workflow autonomously
nova.act("Visit amazon.com, search for wireless headphones, \
filter by price under $100, add top rated to cart, \
proceed to checkout page")
# Stop recording
result = mcp_client.call_tool("stop_recording", {
"session_id": session_id
})
# Result: Professionally recorded e-commerce demo
print(f"Demo recorded: {result['files']['combined']}")
๐ฏ Use Cases
1. SaaS Product Demos
Automatically record multi-step user journeys:
- Account creation and onboarding
- Feature exploration workflows
- Integration setup processes
- Admin panel operations
2. Tutorial Creation
Capture complex technical workflows:
- Development environment setup
- API integration examples
- Debugging sessions
- Code refactoring demonstrations
3. QA & Testing
Record test scenarios with browser interaction:
- Automated test execution capture
- Bug reproduction recordings
- Regression testing documentation
- User acceptance test (UAT) videos
4. Customer Onboarding
Create personalized demo content:
- Product walkthroughs
- Feature tutorials
- Best practices guides
- Troubleshooting demonstrations
๐ MCP Orchestration Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP DevStudio Recording Server (Phase 1) โ
โ โข start_recording โ
โ โข capture_screen โ
โ โข stop_recording โ
โ โข multi-monitor support โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Orchestrates
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AWS Nova Act Browser Automation โ
โ โข Navigate websites autonomously โ
โ โข Fill forms with natural language โ
โ โข Click & interact intelligently โ
โ โข Multi-step workflow execution โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Processing Pipeline (Phase 2-3) โ
โ โข Transcribe narration โ
โ โข Generate documentation โ
โ โข Create blog posts โ
โ โข Extract code snippets โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ Complete Demo Package
๐ User-Defined Environment Integration
Beyond browsers - Record demos across any environment:
- Local Applications: Desktop software demos
- Cloud Platforms: AWS Console, Azure Portal, GCP
- Development Tools: VS Code, IDEs, terminals
- Custom Systems: Internal tools, proprietary software
Nova Act agents can be configured to interact with virtually any web-based interface, making DevStudio MCP the universal recording infrastructure for AI-driven demo creation.
๐ Why This Matters
Traditional demo creation:
- โฐ Hours of manual recording and editing
- ๐ฌ Multiple takes to get it right
- ๐ Manual documentation writing
- ๐ Constant updates needed
AI-driven with DevStudio MCP + Nova Act:
- โก Automated end-to-end - From browser to video
- ๐ฏ Consistent quality - Perfect execution every time
- ๐ Auto-documentation - AI-generated content
- ๐ One-click updates - Re-record entire demos instantly
๐ Usage Examples
Complete Recording Workflow
# 1. Check available monitors
screens = await get_available_screens()
# Returns: [{"id": 0, "width": 1920, "height": 1080, ...}, ...]
# 2. Start recording a tutorial on second monitor
session = await start_recording({
"include_screen": true,
"include_audio": true,
"screen_id": 1, # Second monitor
"output_format": "mp4",
"auto_mux": true
})
# Returns: {"session_id": "...", "status": "recording"}
# 3. Record your demo...
# 4. Take a quick screenshot during recording
screenshot = await capture_screen({"screen_id": 1})
# Returns: {"file_path": "/path/to/screenshot.png", ...}
# 5. Stop recording and get files
result = await stop_recording({
"session_id": session["session_id"]
})
# Returns: {"files": {"combined": "/path/to/combined.mp4"}, "duration": 120.5}
Multi-Monitor Recording
# Get all available screens
screens = await get_available_screens()
print(f"Found {len(screens)} monitors")
# Record specific monitor
session = await start_recording({
"include_screen": true,
"screen_id": 2, # Third monitor
"include_audio": true
})
Audio/Video Muxing
# Record audio and video separately
session = await start_recording({
"include_screen": true,
"include_audio": true,
"auto_mux": false # Don't auto-combine
})
result = await stop_recording({"session_id": session["session_id"]})
# Manually mux later with custom settings
muxed = await mux_audio_video({
"video_path": result["files"]["screen"],
"audio_path": result["files"]["audio"],
"output_path": "/custom/path/final_demo.mp4"
})
๐ง Configuration
Environment Variables
| Variable | Description | Required | Default |
|---|---|---|---|
RECORDING_OUTPUT_DIR |
Output directory for recordings | No | ~/devstudio/recordings |
MAX_RECORDING_DURATION |
Max recording length (seconds) | No | 3600 (1 hour) |
RECORDING_QUALITY |
Quality setting (low, medium, high) | No | medium |
RECORDING_FPS |
Frames per second | No | 30 |
LOG_LEVEL |
Logging level (DEBUG, INFO, WARNING, ERROR) | No | INFO |
Default Recording Settings
# Default configuration
recording:
output_dir: ~/devstudio/recordings
max_duration: 3600 # 1 hour
quality: medium
fps: 30
audio_enabled: true
auto_mux: true
๐งช Testing
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=devstudio_mcp
# Test recording tools specifically
uv run pytest tests/test_recording.py -v
๐๏ธ Architecture
devstudio_mcp/
โโโ server.py # Main MCP server (Phase 1)
โโโ registry.py # Tool registration (6 tools active)
โโโ config.py # Configuration management
โโโ tools/
โ โโโ recording.py # 6 recording tools (ACTIVE)
โโโ resources/
โ โโโ media_manager.py # Media file management
โโโ utils/
โโโ exceptions.py # Error handling
โโโ logger.py # Structured logging
Archived for Phase 2/3 (preserved in git branch archive/phase-2-3-ai-features):
tools/processing.py- AI transcription and analysis (3 tools)tools/generation.py- Content generation (4 tools)monetization.py- License management (3 tools)prompts/- AI prompt templatesresources/session_data.py- Session resources
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing feature) - Open a Pull Request
๐ License
DevStudio MCP is dual-licensed under AGPL v3 (open source) and Commercial License (proprietary use).
Open Source License (AGPL v3)
Free for:
- โ Personal projects and education
- โ Open source projects
- โ Internal company tools
- โ Research and non-commercial use
Requirements:
- โ ๏ธ If you modify this software, you must release your modifications as AGPL v3
- โ ๏ธ If you use this in a network service (SaaS), you must open source your entire application
Full AGPL v3 license: LICENSE | https://www.gnu.org/licenses/agpl-3.0.html
Commercial License
Required for:
- ๐ผ Commercial SaaS offerings (proprietary)
- ๐ผ Selling software that includes DevStudio MCP
- ๐ผ Keeping your modifications proprietary
- ๐ผ Enterprise deployments without open sourcing
Benefits:
- โ No AGPL copyleft requirements
- โ Keep your code proprietary
- โ Priority support and updates
- โ Commercial use indemnification
- โ Custom licensing terms available
Pricing:
- Startup: < $1M revenue - Contact for pricing
- Professional: $1M-$10M revenue - Contact for pricing
- Enterprise: > $10M revenue - Custom terms
๐ง Contact for commercial licensing: nihitgupta.ng@outlook.com
Full details: LICENSE-COMMERCIAL.txt
Why Dual License?
We believe in open source while building a sustainable business. AGPL v3 ensures the community benefits from improvements, while commercial licensing allows businesses to use DevStudio MCP in proprietary applications.
๐ Acknowledgments
- Model Context Protocol - The foundation protocol
- FastMCP - Python MCP framework
- PyAV - FFmpeg bindings with bundled binaries
- AWS Nova Act - Browser automation SDK
- mcpcat.io - MCP best practices and guidelines
๐ Support
- ๐ง Email: nihitgupta.ng@outlook.com
- ๐ Issues: GitHub Issues
- ๐ผ Commercial Licensing: nihitgupta.ng@outlook.com
Built with โค๏ธ for developers creating amazing demos and tutorials
Phase 2/3 features (AI processing, content generation, monetization) are actively under development and preserved in git branch: archive/phase-2-3-ai-features
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devstudio_mcp-1.0.0.tar.gz.
File metadata
- Download URL: devstudio_mcp-1.0.0.tar.gz
- Upload date:
- Size: 904.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39a076dff8f40e4e3e0e5399c26ee76baaf39c414b0926e453d74e16f69a497a
|
|
| MD5 |
cc925c0bfb1afeb9ae22acea6e404320
|
|
| BLAKE2b-256 |
6fada4747f6cb9780f59874890594d86850155623f96befd0d79ebd2ce6a85d3
|
Provenance
The following attestation bundles were made for devstudio_mcp-1.0.0.tar.gz:
Publisher:
publish-to-pypi.yml on nihitgupta2/devstudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devstudio_mcp-1.0.0.tar.gz -
Subject digest:
39a076dff8f40e4e3e0e5399c26ee76baaf39c414b0926e453d74e16f69a497a - Sigstore transparency entry: 622753093
- Sigstore integration time:
-
Permalink:
nihitgupta2/devstudio@716ee7194fd779b68e8d4d13eed20bde9e279918 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nihitgupta2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@716ee7194fd779b68e8d4d13eed20bde9e279918 -
Trigger Event:
release
-
Statement type:
File details
Details for the file devstudio_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: devstudio_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 39.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a3e14fddede618d9e2ff857626833c64662386d1cb16d614afc8c41172f4f5b
|
|
| MD5 |
71d8f21c61498c9bcb9dc067887829bb
|
|
| BLAKE2b-256 |
2317798a831603f8eae228ba8dd829f0ad30924dac56614aac42541f2b215eba
|
Provenance
The following attestation bundles were made for devstudio_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on nihitgupta2/devstudio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devstudio_mcp-1.0.0-py3-none-any.whl -
Subject digest:
3a3e14fddede618d9e2ff857626833c64662386d1cb16d614afc8c41172f4f5b - Sigstore transparency entry: 622753097
- Sigstore integration time:
-
Permalink:
nihitgupta2/devstudio@716ee7194fd779b68e8d4d13eed20bde9e279918 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nihitgupta2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@716ee7194fd779b68e8d4d13eed20bde9e279918 -
Trigger Event:
release
-
Statement type: