CLI and MCP server for Voog CMS — Liquid templates, pages, products, ecommerce
Project description
voog-mcp
CLI and MCP server for Voog CMS — manage Liquid templates, pages, products, ecommerce settings, and redirects from your terminal or directly from Claude / any MCP client.
What is Voog?
Voog is a multilingual website builder and CMS with built-in ecommerce, used for content sites and small online stores. This package wraps its admin API so you can edit templates, pages, products, and redirects from your shell or an LLM agent.
Install
From PyPI:
pip install voog-mcp
# or, no install: uvx voog-mcp --help
Or directly from GitHub (latest unreleased main):
uvx --from git+https://github.com/runnel/voog-mcp.git voog --help
For development:
git clone https://github.com/runnel/voog-mcp
cd voog-mcp
python3.10 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
Configure
Run voog config init to interactively create the global config:
voog config init
This creates:
~/.config/voog/voog.json— site registry~/.config/voog/.env(template) — where to put API tokens
Example voog.json:
{
"sites": {
"mysite": {"host": "mysite.com", "api_key_env": "MYSITE_API_KEY"},
"client_a": {"host": "clienta.com", "api_key_env": "CLIENT_A_KEY"}
},
"default_site": "mysite"
}
Example .env:
MYSITE_API_KEY=...your token here...
CLIENT_A_KEY=...another token...
Get a token from your Voog admin: Admin → API.
Per-repo site selection
In a repo dedicated to one Voog site, drop a voog-site.json to pin the site:
{"site": "mysite"}
Now voog pull / voog push from that directory always target the right site, even if the global default differs.
Use the CLI
voog --help # all commands
voog --site mysite products # list products on mysite
voog pull # download templates (uses voog-site.json)
voog push layouts/Front\ page.tpl
voog redirects
voog config check # verify all configured tokens
Use as MCP server
Add to your Claude Code config (or any MCP client):
{
"mcpServers": {
"voog": {
"command": "uvx",
"args": ["--from", "git+https://github.com/runnel/voog-mcp.git", "voog-mcp"]
}
}
}
Every tool requires a site parameter. Start with voog_list_sites to discover what's configured:
voog_list_sites()
→ [{"name": "mysite", "host": "mysite.com"}, ...]
voog_get_page(site="mysite", page_id=42)
→ {...}
What's NOT supported
voog-mcp covers the surface area needed to manage content and a small ecommerce catalog. The following Voog API areas are intentionally out of scope for now:
- Form definitions and form responses
- Comments and visitor data
- Site-level settings, languages, and translations
- Customer, order, and cart data (ecommerce orders/checkout flows)
- Users, roles, and permissions
- General asset/media library uploads (product images are supported)
- Site creation (voog-mcp targets existing sites)
If you need any of these, open an issue — or a PR.
License
MIT
Project details
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 voog_mcp-1.0.2.tar.gz.
File metadata
- Download URL: voog_mcp-1.0.2.tar.gz
- Upload date:
- Size: 102.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e131fbf602c112a70f8246854ad09a8be74c0762e790b699a12f1b5ecc7a3f79
|
|
| MD5 |
f7804bc891d062b50cfbf1afdc5058c1
|
|
| BLAKE2b-256 |
11d35a5f499120997f1f79eeaf82660cc47554f2191f98307946a6c2c65a6cd9
|
Provenance
The following attestation bundles were made for voog_mcp-1.0.2.tar.gz:
Publisher:
publish.yml on runnel/voog-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
voog_mcp-1.0.2.tar.gz -
Subject digest:
e131fbf602c112a70f8246854ad09a8be74c0762e790b699a12f1b5ecc7a3f79 - Sigstore transparency entry: 1409177428
- Sigstore integration time:
-
Permalink:
runnel/voog-mcp@9712af6e21d0ed980de092701fee2ec66c4f6122 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/runnel
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9712af6e21d0ed980de092701fee2ec66c4f6122 -
Trigger Event:
push
-
Statement type:
File details
Details for the file voog_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: voog_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 70.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e36dea361b7a0a55e62fb9f21fa37edf99ff8709686af768eb20072c15ce92e
|
|
| MD5 |
28f8c1533d69a1663beec43ae883bf39
|
|
| BLAKE2b-256 |
72106e291d562bee4df750706d250cb57ee6ddca4162b9d1093c887b0edda211
|
Provenance
The following attestation bundles were made for voog_mcp-1.0.2-py3-none-any.whl:
Publisher:
publish.yml on runnel/voog-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
voog_mcp-1.0.2-py3-none-any.whl -
Subject digest:
3e36dea361b7a0a55e62fb9f21fa37edf99ff8709686af768eb20072c15ce92e - Sigstore transparency entry: 1409177439
- Sigstore integration time:
-
Permalink:
runnel/voog-mcp@9712af6e21d0ed980de092701fee2ec66c4f6122 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/runnel
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9712af6e21d0ed980de092701fee2ec66c4f6122 -
Trigger Event:
push
-
Statement type: