voog-mcp

voog-mcp

MCP server for Voog CMS enabling management of Liquid templates, pages, products, ecommerce settings, and redirects via natural language or terminal commands.

Category
访问服务器

README

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 config list-sites           # show configured sites
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
voog site-snapshot backup/       # full-site snapshot for diff/audit

Use as MCP server

Add to your Claude Code config (or any MCP client). The simplest setup uses the published PyPI package:

{
  "mcpServers": {
    "voog": {
      "command": "uvx",
      "args": ["voog-mcp"]
    }
  }
}

If you'd rather track unreleased main (e.g. for a fix that hasn't shipped yet), point uvx at the GitHub repo instead:

{
  "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"}, ...]

page_get(site="mysite", page_id=42)
→ {...}

Tools

Full endpoint coverage reference: docs/voog-mcp-endpoint-coverage.md

Group Tools
Sites voog_list_sites, voog_list_my_sites
Search voog_search
Pages pages_list, page_get, page_create, page_update, page_set_hidden, page_set_layout, page_set_data, page_delete_data, page_duplicate, page_delete
Articles articles_list, article_get, article_create, article_update, article_publish, article_set_data, article_delete_data, article_delete
Comments comments_list, comment_delete, comment_toggle_spam
Tags tags_list, tag_get, tag_delete
Layouts layouts_pull, layouts_push, layout_create, layout_update, layout_rename, layout_delete, layout_asset_create, layout_asset_update, layout_asset_delete, asset_replace
Texts / contents text_get, text_update, page_add_content, content_partial_update
Elements elements_list, element_get, element_definitions_list, element_create, element_update, element_move, element_delete
Products products_list, product_get, product_create, product_update, product_set_images, product_delete, product_duplicate, products_bulk_action
Categories categories_list, category_get, category_create, category_update, category_delete
Orders orders_list, order_get (read-only; PII-stripped by default, include_pii=true requires force=true)
Discounts discounts_list, discount_get, discount_create, discount_update, discount_delete
Cart rules cart_rules_list, cart_rule_get, cart_rule_create, cart_rule_update, cart_rule_delete
Shipping / payments shipping_methods_list, gateways_list
Ecommerce settings ecommerce_settings_get, ecommerce_settings_update
Multilingual languages_list, language_create, language_delete, nodes_list, node_get, node_update, node_move, node_relocate
Redirects redirects_list, redirect_add, redirect_update, redirect_delete
Site site_get, site_update, site_set_data, site_delete_data
Webhooks webhooks_list, webhook_create, webhook_update, webhook_delete
Snapshot pages_snapshot, site_snapshot
Read-only passthrough voog_admin_api_read, voog_ecommerce_api_read
Generic passthrough voog_admin_api_call, voog_ecommerce_api_call (GET deprecated — use the _read tools above)

What's NOT supported

voog-mcp covers content + ecommerce catalog management end-to-end as of v1.4. The following Voog API areas remain out of scope — drop down to the voog_admin_api_call / voog_ecommerce_api_call passthrough tools when you need them:

  • Order mutationorders_list / order_get are read-only typed tools (with PII stripping); creating / updating / cancelling orders goes via passthrough. Order writes carry finance / operations risk that a future release will design separately.
  • Cart readscart_rules_* tools cover cart-rule CRUD, but reading individual cart sessions (/carts) is passthrough-only.
  • element_definitions CRUDelement_definitions_list is wrapped; create / update / delete remain passthrough.
  • People / site_user admin — full passthrough.
  • Form definitions and form responses — passthrough.
  • Site favicons and bulk file imports — product image galleries are first-class via product_set_images; other multipart uploads go via passthrough.
  • Site creation — voog-mcp targets existing sites.

If you need any of these, open an issue — or a PR.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选