Devices MCP Server

by akshitsinha

5 282 downloads Not rated yet MIT
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

License
MIT

Explore

- 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

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.

1. Clone the repository:

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

2. Install Python dependencies:

uv sync

- 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

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"
        ]
    }
}

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.