Devices MCP Server

by akshitsinha

5 stars
282 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server for seamless integration with peripheral devices connected to your computer. Control, monitor, and manage hardware devices through a unified API.

Details

Author
akshitsinha
GitHub stars
5
Downloads
282
Categories
Other, Developer Tools

- Control connected cameras to capture images and record video
- Send documents to printers and manage print jobs
- Record audio from microphones and play audio through speakers
- Capture screenshots and record screen activity from displays
- Configure enabled features via environment variables
- Cross‑platform support (macOS, Linux, Windows)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Devices MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install system dependencies (FFMPEG for recording, PortAudio for audio), clone the repository, and install Python dependencies with uv sync. Run directly via uv run src/main.py or integrate with Claude Desktop by adding the server configuration to claude_desktop_config.json. Configure behavior using environment variables like MCP_ENABLE_CAMERA and MCP_PORT.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "devices mcp server": {
            "mcp-device-server": {
                "command": "uv",
                "args": [
                    "--directory",
                    "/path/to/mcp-device-server",
                    "run",
                    "src/main.py"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-device-server": {
        "command": "uv",
        "args": [
            "--directory",
            "/path/to/mcp-device-server",
            "run",
            "src/main.py"
        ]
    }
}

Devices MCP Server

A Model Context Protocol (MCP) server for seamless integration with peripheral devices connected to your computer. Control, monitor, and manage hardware devices through a unified API.

Supported Tools

- Camera Control: Capture images and record video from connected cameras
- Print Management: Send documents to printers and manage print jobs
- Audio Capabilities: Record from microphones and play audio through speakers
- Screen Capture: Take screenshots and record screen activity from connected displays

Prerequisites & Installation

System Dependencies

The following system dependencies are required for full functionality:

- FFMPEG: Required for screen and camera recording functionality
- PortAudio: Required for audio recording functionality

macOS

brew install ffmpeg portaudio

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install ffmpeg portaudio19-dev

Linux (Fedora)

sudo dnf install ffmpeg portaudio-devel

Windows

winget install ffmpeg

Project Installation

1. Clone the repository:

git clone https://github.com/akshitsinha/mcp-device-server.git
cd mcp-device-server

2. Install Python dependencies:

uv sync

Usage

Option A: Run directly:

  uv run src/main.py
  

Option B: Use with Claude Desktop:

Add the following configuration to your claude_desktop_config.json:

  {
    "mcpServers": {
     "mcp-device-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-device-server",
        "run",
        "src/main.py"
      ]
     }
    }
  }
  

Then restart Claude Desktop to load the server.

Configuration

Configure the server using environment variables. You can set these or create a .env file in the project root.

Available configuration options:

MCP_HOST=127.0.0.1        # Server host address
MCP_PORT=8000             # Server port
MCP_ENABLE_CAMERA=true    # Enable camera functionality
MCP_ENABLE_PRINTER=true   # Enable printer functionality
MCP_ENABLE_AUDIO=true     # Enable audio functionality
MCP_ENABLE_SCREEN=true    # Enable screen functionality

Available MCP Tools

Camera

| Tool | Description |
| ----------------------- | ------------------------------- |
| list_cameras | List all connected cameras |
| get_camera_info | Get detailed camera information |
| capture_image | Take a picture from a camera |
| start_video_recording | Begin video recording |
| stop_video_recording | Stop video recording |

Printer

| Tool | Description |
| ------------------ | ------------------------- |
| list_printers | List available printers |
| print_file | Send a file to a printer |
| print_as_pdf | Print file as PDF |
| get_print_job | Get print job information |
| cancel_print_job | Cancel a print job |

Audio

| Tool | Description |
| -------------------- | ----------------------------------- |
| list_audio_devices | List all audio input/output devices |
| record_audio | Record from an input device |
| stop_record_audio | Stop recording from an input device |
| play_audio | Play audio through a device |

Screen

| Tool | Description |
| -------------------- | ----------------------- |
| list_displays | List connected displays |
| capture_screenshot | Take a screenshot |
| record_screen | Start screen recording |
| stop_record_screen | Stop screen recording |

Documentation

For detailed information about all available tools and their usage, see the Tools Reference Wiki.

License

MIT License

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.