Python client library and MCP server for Meural Canvas digital art frames
Project description
Meural
Python client library and MCP server for Meural Canvas digital art frames.
Installation
pip install meural
For MCP server support:
pip install meural[mcp]
For CLI support:
pip install meural[cli]
For all features:
pip install meural[all]
Quick Start
As a Library
from meural import MeuralAPI
# Initialize with credentials
api = MeuralAPI(username="your@email.com", password="your_password")
# Or from environment variables (MEURAL_USERNAME, MEURAL_PASSWORD)
api = MeuralAPI.from_env()
# Get user info
user = api.get_user()
# List devices
devices = api.get_user_devices()
# Get galleries
galleries = api.get_user_galleries()
# Search for art
results = api.search("monet")
# Preview an image on device
api.post_device_preview(device_id="12345", item_id="67890")
CLI Usage
# Set credentials
export MEURAL_USERNAME="your@email.com"
export MEURAL_PASSWORD="your_password"
# List devices
meural-cli device list
# Show device details
meural-cli device show
# List galleries
meural-cli gallery list
# Search for art
meural-cli browse search "van gogh"
# Set brightness
meural-cli device brightness 50
MCP Server
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"meural": {
"command": "uv",
"args": ["--directory", "/path/to/meural_api", "run", "python", "-m", "scripts.meural_mcp"],
"env": {
"MEURAL_USERNAME": "your@email.com",
"MEURAL_PASSWORD": "your_password"
}
}
}
}
Available MCP tools:
meural_get_device- Get device info and statusmeural_list_galleries- List user's galleries/playlistsmeural_get_gallery- Get gallery details with itemsmeural_search- Search Meural catalogmeural_preview_item- Preview an image on device (60 seconds)meural_push_gallery- Push a gallery to devicemeural_device_galleries- List galleries on devicemeural_set_brightness- Set device brightnessmeural_set_image- Display an image on device
Authentication
The library uses AWS Cognito for authentication. Tokens are automatically cached and refreshed.
Credentials can be provided via:
- Constructor arguments
- Environment variables (
MEURAL_USERNAME,MEURAL_PASSWORD) - Credentials file (
~/.meural)
API Coverage
The library covers the Meural API v4 including:
- User management
- Device control (brightness, sleep/wake, settings)
- Gallery/playlist management
- Item uploads and management
- Favorites
- Content discovery (channels, artists, categories)
- Search
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meural-0.1.0.tar.gz.
File metadata
- Download URL: meural-0.1.0.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e92c470966ba308728bc6a337cd316b5d18d5010c716a2deebd5eb91b2103d5
|
|
| MD5 |
57627a75d6a3b8c90fec7cf10894e4f8
|
|
| BLAKE2b-256 |
294796f45a5ab9fd6adbc84ab827c532ee5b2e6fbe2a8d6f57c78eb691e6f7da
|
File details
Details for the file meural-0.1.0-py3-none-any.whl.
File metadata
- Download URL: meural-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5cfd930e0fd3f1eb60d44524591a9ecbb1de58755003dc7fd0f1ad73eda7307
|
|
| MD5 |
dbdac961ecbd3c4c931887bd09a43dfa
|
|
| BLAKE2b-256 |
a11df4898c81079bbda05bad420b59ddd753a019c01041c8e739e4841ee6469a
|