Skip to main content

CLI and MCP server for Voog CMS — Liquid templates, pages, products, ecommerce

Project description

voog-mcp

PyPI tests license: MIT python: 3.10 | 3.11 | 3.12

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 with your tokens inline:

{
  "sites": {
    "mysite":   {"host": "mysite.com",   "api_key": "vk_..."},
    "client_a": {"host": "clienta.com",  "api_key": "vk_..."}
  },
  "default_site": "mysite"
}

Get a token from your Voog admin: Admin → API.

Shared / CI configs

If voog.json is checked into version control or shared across machines, keep the token out of the file by referencing an env var instead:

{
  "sites": {
    "client_a": {"host": "clienta.com", "api_key_env": "CLIENT_A_KEY"}
  }
}

Then put the token in ~/.config/voog/.env:

CLIENT_A_KEY=vk_...

Both forms can coexist per-site. When both api_key and api_key_env are set, the env-var wins if it's defined — so an inline value acts as a default that the deployment overrides.

Per-repo site selection

In a repo dedicated to one Voog site, drop a voog.json at the repo root to pin the site:

{"default_site": "mysite"}

The cwd-level voog.json deep-merges over the home config, with cwd winning per-key. Inside sites, the merge is per-site name — a cwd entry replaces the whole site definition (host + token), it does not merge individual fields. You can also redefine entire sites here (handy for client repos that should bring their own host/token without touching the home config):

{
  "sites": {
    "client_x": {"host": "clientx.com", "api_key": "vk_..."}
  },
  "default_site": "client_x"
}

Now voog pull / voog push from that directory always target the right site, even if the home default differs.

Note: voog-site.json from earlier versions still works but emits a DeprecationWarning. Replace it with voog.json containing {"default_site": "<name>"} for the same effect.

Use the CLI

voog --help                      # all commands
voog --site mysite products      # list products on mysite
voog pull                        # download templates (uses cwd-level voog.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

voog_mcp-1.1.1.tar.gz (122.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

voog_mcp-1.1.1-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

Details for the file voog_mcp-1.1.1.tar.gz.

File metadata

  • Download URL: voog_mcp-1.1.1.tar.gz
  • Upload date:
  • Size: 122.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for voog_mcp-1.1.1.tar.gz
Algorithm Hash digest
SHA256 f46957662dafd106c2dc940ffd13522f13e1844711e28e998ba209b014da95c7
MD5 70a34920c3e423045239bf4d2dd9d5a8
BLAKE2b-256 1e337423abf113c59be71e786f6008e65eea32d8e82dff31b44b9efe89036192

See more details on using hashes here.

Provenance

The following attestation bundles were made for voog_mcp-1.1.1.tar.gz:

Publisher: publish.yml on runnel/voog-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voog_mcp-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: voog_mcp-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 74.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for voog_mcp-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 609086edda643c703a1585bb2e87e71203587f08b994f6fb8487cae7eac7761a
MD5 173c2f06071f6de729ebe48a56340af7
BLAKE2b-256 cb7291b69e3c564a81c5e7b9a7c60a57778971794bc41eae05ad9d8e0ebf5ca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for voog_mcp-1.1.1-py3-none-any.whl:

Publisher: publish.yml on runnel/voog-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page