https://github.com/akshitsinha/mcp-device-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.
https://github.com/akshitsinha/mcp-device-server
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/akshitsinha/mcp-device-server
- Owner: akshitsinha
- License: mit
- Created: 2025-05-23T11:10:49.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-06-27T17:08:20.000Z (3 months ago)
- Last Synced: 2025-06-27T18:24:49.146Z (3 months ago)
- Language: Python
- Homepage:
- Size: 139 KB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-mcp-servers - **mcp-device-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. `python` `mcp` `server` `api` `ml` `pip install git+https://github.com/akshitsinha/mcp-device-server` (AI/ML)
- awesome-mcp-servers - **mcp-device-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. `python` `mcp` `server` `api` `ml` `pip install git+https://github.com/akshitsinha/mcp-device-server` (AI/ML)
README
# 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
```sh
brew install ffmpeg portaudio
```#### Linux (Ubuntu/Debian)
```sh
sudo apt update
sudo apt install ffmpeg portaudio19-dev
```#### Linux (Fedora)
```sh
sudo dnf install ffmpeg portaudio-devel
```#### Windows
```powershell
winget install ffmpeg
```### Project Installation
1. **Clone the repository**:
```bash
git clone https://github.com/akshitsinha/mcp-device-server.git
cd mcp-device-server
```2. **Install Python dependencies**:
```bash
uv sync
```## Usage
**Option A: Run directly**:
```bash
uv run src/main.py
```**Option B: Use with Claude Desktop**:
Add the following configuration to your `claude_desktop_config.json`:
```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](https://github.com/akshitsinha/mcp-device-server/wiki/Tools-Reference-Wiki).
## License
[MIT License](LICENSE.md)