Devices MCP Server
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Devices MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





