magmascript
Scripting toolkit with domain-first subcommands for managing magmacrunch.com infrastructure.
Install
git clone https://github.com/magmacrunchmedia/magmascript.git
cd magmascript
python3 -m venv .venv
.venv/bin/pip install -e ".[all]"
Configure
export MAGMA_API_KEY="your-mcp-key"
export GITHUB_TOKEN=$(gh auth token)
# pi domain works with no config (SSH key auth)
Or use ~/.config/magmascript/config.toml:
[mcp]
url = "https://magmacrunch.duckdns.org/mcp"
api_key = "your-key"
[pi]
host = "192.168.1.16"
user = "jake"
[gh]
token = "ghp_..."
owner = "magmacrunchmedia"
repo = "magmacrunch.com"
Usage
MCP Domain — MusicBrainz, scores, Discogs
magmascript mcp scoreboards # game leaderboards
magmascript mcp scores tetris # tetris scores
magmascript mcp search "radiohead" # search MusicBrainz
magmascript mcp entities # all cached entities
magmascript mcp games # arcade games
Pi Domain — Direct SSH to Raspberry Pi
magmascript pi status # all service statuses
magmascript pi logs arcade-chat # service logs
magmascript pi restart arcade-chat # restart service
magmascript pi info # uptime, memory, temp
magmascript pi deploy arcade/chat-server.py # deploy files
GitHub Domain — Direct API access
magmascript gh workflows # all workflow statuses
magmascript gh trigger "Deploy to Pi" # trigger workflow
magmascript gh issues # list issues
magmascript gh file path/to/file.txt # read file
Python Library
from magmascript import MCPClient, PIClient, GHClient
# MCP
with MCPClient() as mcp:
boards = mcp.scoreboards()
# Pi (direct SSH)
with PIClient() as pi:
status = pi.services()
# GitHub (direct API)
with GHClient() as gh:
workflows = gh.workflows()
Shell Helpers
source lib/magmascript.sh
mcp_scoreboards # MCP commands
pi_status # Pi commands
gh_workflows # GitHub commands
Documentation
Full documentation on the Wiki:
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
magmascript-1.0.0.tar.gz
(40.4 kB
view details)
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 magmascript-1.0.0.tar.gz.
File metadata
- Download URL: magmascript-1.0.0.tar.gz
- Upload date:
- Size: 40.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e94021340234559814951fe0b377807d006bf6631711a1fb94aa43d974c05a8
|
|
| MD5 |
c7660ab7202ca60dcd5cef6bd4ba9530
|
|
| BLAKE2b-256 |
3171f1b45b38d39cab47216f99829e0d103b2768df7360fb5056fb7ef0e3d124
|
File details
Details for the file magmascript-1.0.0-py3-none-any.whl.
File metadata
- Download URL: magmascript-1.0.0-py3-none-any.whl
- Upload date:
- Size: 49.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbc449ad0165080cab830cf752a3094e2119ec4c6603a14910f33255aa8da90a
|
|
| MD5 |
5ce373af01bd4b7aa9123a552eddda33
|
|
| BLAKE2b-256 |
3a33c82450a14acc348538bcaedf7699e7be4d8c868f8d8dcba07153a16c8a68
|