Skip to main content

Production-grade MCP server for screen recording, audio capture, and demo automation

Project description

DevStudio MCP Logo

DevStudio MCP: Production-Grade Screen Recording Server

MCP Compatible Python 3.11+ Production Ready 6 Tools Active 10 Tools in Roadmap AGPL License

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

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=true and both screen+audio recorded, returns combined.mp4 file

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_id parameter

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 timestamps
  • analyze_content - Extract topics, terms, and structure
  • extract_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 posts
  • create_documentation - Generate API/feature docs
  • generate_summary - Configurable content summaries
  • create_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 status
  • check_feature_access - Validate feature availability
  • get_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 templates
  • resources/session_data.py - Session resources

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing feature)
  5. 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

๐Ÿ“ž Support


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devstudio_mcp-1.0.0.tar.gz (904.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devstudio_mcp-1.0.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

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

Hashes for devstudio_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 39a076dff8f40e4e3e0e5399c26ee76baaf39c414b0926e453d74e16f69a497a
MD5 cc925c0bfb1afeb9ae22acea6e404320
BLAKE2b-256 6fada4747f6cb9780f59874890594d86850155623f96befd0d79ebd2ce6a85d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for devstudio_mcp-1.0.0.tar.gz:

Publisher: publish-to-pypi.yml on nihitgupta2/devstudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for devstudio_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a3e14fddede618d9e2ff857626833c64662386d1cb16d614afc8c41172f4f5b
MD5 71d8f21c61498c9bcb9dc067887829bb
BLAKE2b-256 2317798a831603f8eae228ba8dd829f0ad30924dac56614aac42541f2b215eba

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page