Skip to content

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.

License

Notifications You must be signed in to change notification settings

akshitsinha/mcp-device-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  1. 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

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.

Resources

License

Stars

Watchers

Forks

Languages