Skip to main content
Glama

Device MCP Server

by akshitsinha
README.md4.05 kB
# 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)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akshitsinha/mcp-device-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server