Linux 软件免费装
Banner图

Counterhand MCP for WooCommerce – AI Agent & MCP Server for Claude, ChatGPT, Gemini & More

开发者 mirumd
更新时间 2026年11月13日 04:29
捐献地址: 去捐款
PHP版本: 8.2 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

woocommerce chatgpt claude mcp mcp-server

下载

2.0.0 2.1.0 1.3.2 2.1.1 1.3.0 1.2.2

详情介绍:

Your WooCommerce store, inside the AI you already use: Claude, ChatGPT, Copilot and other MCP apps, or a chat in wp-admin on Claude, GPT, Gemini, Grok, Mistral, DeepSeek or a local model. Ask what sold last week, find low stock, draft better product texts or look up an order. Each app gets only the areas you tick, and anything risky waits for your Approve. Ask it things like Home page and documentation: counterhand.app. Built for security Your store gets one MCP endpoint at https://yourstore.com/mcp, and apps connect through a browser consent flow (OAuth 2.1), never a copied key. 132 tools, in areas you switch on one by one Every area is its own switch on the Access screen, with Can read and Can change as separate switches. A fresh install exposes Products, Orders and Reports, read-only — everything else is off until you turn it on, and upgrading never widens what your store exposes. Tools delegate to WooCommerce's own REST controllers, so validation, stock handling and HPOS compatibility behave exactly like the standard API. Their input schemas are read from those controllers at runtime rather than copied into this plugin, so a WooCommerce update that adds a field surfaces it automatically, and one that removes a field cannot leave a tool advertising it. Each tool offers the ten or so fields that matter, which keeps assistants accurate; describe_woocommerce_fields reveals the rest when one is needed. Visibility is decided by WooCommerce too: before a tool is offered, this plugin runs WooCommerce's own permission check for that endpoint. A shop manager therefore sees a different set of tools from an administrator, without this plugin keeping a list of who may do what. Works with your other plugins Off until you switch each on: WPML, Germanized and Germanized Pro, Contact Form 7, Flamingo, Advanced Custom Fields, Shipment Tracking, Cost of Goods, URL Coupons, and abilities from Yoast SEO, Rank Math, WPForms and others. An assistant can preview most catalog changes, and undo them for 30 days. The FAQ has the details. Two ways to use AI with your store Chat inside wp-admin, on the AI model WordPress manages under Settings → Connectors (WordPress 7.0 and later), or with your own key on Claude, ChatGPT, Gemini, Grok, Mistral, DeepSeek, any model on OpenRouter, or a local Ollama model. Any other OpenAI-compatible endpoint works too. It uses the same tools an outside app would, and a change that is not easily undone waits for your Approve button. Connect the AI apps you already use. Paste one URL into Claude, ChatGPT, Claude Code or any other MCP client, or add the store to Cursor and VS Code in one click. No token to create, no local proxy, no Node.js. More than tools How this differs from WooCommerce's built-in MCP WooCommerce registers a handful of product and order abilities, which the separate MCP adapter plugin can offer to AI clients, signed in with an application password. Counterhand adds what a self-hosted store still lacks: OAuth 2.1 browser consent instead of copied keys, the whole WooCommerce and WordPress surface (coupons, customers, reports, shipping, tax, settings, posts and pages), permissions chosen per app with one-click revocation, confirmation-gated risky writes, an activity log, undo, and the in-admin chat. The two can run side by side. Free, open source, sponsor-supported Counterhand is free for every store, with no paid tier and no locked features. Development and support are funded by GitHub Sponsors. The source is on GitHub — issues and pull requests are welcome. Privacy The plugin contacts no server of its own, collects no usage data and phones no telemetry home. It makes no outbound request until you ask it to — see the "External services" section below for exactly which services can be contacted, what is sent and when. Nothing is sent to the author of this plugin, ever.

安装:

  1. In wp-admin go to Plugins → Add New, search for "Counterhand MCP" and click Install, then Activate. WooCommerce must already be active.
  2. Open Counterhand MCP in the admin menu. Overview lists what is still to set up. On Access switch on the areas AI may read and change — Products, Orders and Reports can be read by default, and nothing can be changed.
  3. On Connect apps copy the endpoint URL (https://yourstore.com/mcp) into Claude, ChatGPT, Claude Code, Cursor or VS Code — or use the one-click install buttons.
  4. Approve the app on the consent screen that opens in your browser. It appears under Connect apps › Connected apps, where you can revoke it at any time.
Your store must be reachable over HTTPS from the public internet for cloud assistants (Claude, ChatGPT); Claude Code, Cursor and VS Code connect from your own machine and work with a local site too.

屏幕截图:

  • Ask your store in plain words, right in wp-admin, on the AI model you choose.
  • Changes wait for you: the chat shows a price change before and after, and runs it only when you approve.
  • Rewrites: the AI model drafts new product texts for a category, and you approve each one.
  • The weekly report: last week's sales by email every Monday, with a short summary written by AI on top.
  • Access: every store area is its own switch, with Can read and Can change separate.
  • Activity: every call apps and the chat made, with personal data masked before it is stored.
  • Connect apps: one address for Claude, ChatGPT, Cursor and VS Code.
  • Other plugins: WPML, Germanized, ACF, Contact Form 7, Yoast SEO, Rank Math, WPForms and more, each off until you switch it on.

升级注意事项:

2.1.1 Activity keeps report dates readable, and apps get the store name without HTML entities. 2.1.0 The chat can run on Grok, Mistral, DeepSeek and OpenRouter.

常见问题:

Is it really free?

Yes. Every tool, the chat, Rewrites, the weekly report, OAuth and the activity log are in the one free plugin, licensed GPLv2 or later. There is no Pro version and nothing is unlocked by paying. If it saves you time, you can support its maintenance through GitHub Sponsors.

How does an assistant connect?

Add the endpoint URL (https://yourstore.com/mcp) to your MCP client — no token needed. The client discovers the OAuth authorization server, opens your browser to a consent screen, and you approve what it may do. Approved apps appear under Connect apps › Connected apps.

The endpoint or discovery documents return 404 or 403

Two causes: (1) pretty permalinks — the endpoint is also available at /wp-json/counterhand/v1/mcp, and re-saving Settings → Permalinks refreshes rewrite rules; (2) some servers block /.well-known/ paths. OAuth discovery lives at /.well-known/oauth-protected-resource, so your server must allow that path. On nginx, add before any dotfile-deny rule: location ^~ /.well-known/ { try_files $uri $uri/ /index.php?$args; }

Which AI clients work?

Any MCP client implementing the current authorization spec (OAuth 2.1 + PKCE + Protected Resource Metadata, with CIMD client identity): Claude on web, mobile and desktop, ChatGPT, Claude Code, Cursor, VS Code, and others.

Which AI models can the chat use?

Choose one under Chat: Claude (Anthropic), ChatGPT (OpenAI), Gemini (Google), Grok (xAI), Mistral, DeepSeek, OpenRouter with one key for many vendors' models, or Ollama on your own server. Any other endpoint that speaks OpenAI's chat format works too, such as LM Studio or vLLM: choose "Custom OpenAI-compatible endpoint" and enter its address. The model must be able to call tools. On WordPress 7.0 and later the chat can also use the model WordPress manages under Settings → Connectors.

Claude or ChatGPT cannot see my store

Those apps connect from the vendor's own servers, not from your browser, so your store has to be reachable from the public internet over HTTPS. A local development site works fine with Claude Code, Cursor and VS Code, which connect from your own machine. The Connect apps screen checks this for you and says which of the two situations you are in.

An assistant says a tool does not exist

Three things have to agree before a tool is callable: its area is switched on under Access, the app was granted it on the consent screen, and WooCommerce's own permission check passes for the logged-in owner of the connection. If any one of them says no, the tool is invisible and uncallable — it is never merely hidden. Check Access first, then reconnect the app: a connection only ever holds what it was approved with.

Can an assistant break my store?

The things that could are gated separately. Store settings, payment gateways and system maintenance are their own areas, off by default, sitting behind a folded Advanced heading that is never pre-ticked; each of their write tools requires an explicit confirmation; and the maintenance routines that cannot be undone are refused whatever an assistant sends. Calls to those three areas are recorded in Activity even if you have recording switched off.

Can I connect a client that only supports bearer headers?

The security model is OAuth-first. If you need a raw bearer token for a script or CI job, use the counterhand_rate_limit and related filters documented in the plugin, or open an issue on GitHub — a developer token path may be added.

Does it work with other plugins, through WordPress abilities?

On WordPress 6.9 or newer, abilities that other plugins offer to AI clients, such as Yoast SEO's post SEO data and WPForms' forms, appear as tools under Access › Other plugins. Each plugin is off until you switch it on, has its own read and write permission on the consent screen, and still runs its own permission check. Every write needs explicit confirmation, and every call is recorded in Activity. A connection holds only the tools listed when you approved it: anything a plugin adds in a later update stays off until you connect the app again. WooCommerce's and WordPress's own abilities are not bridged, because the tools above already cover them under their own permissions.

Does it work with Contact Form 7 and Flamingo?

With Contact Form 7 active, an assistant can list, create, edit and delete its forms. With Flamingo active, it can read the form submissions Flamingo stores and move them to the trash. Each is off until you switch it on under Access › Other plugins, and has its own permissions on the consent screen. Flamingo's messages hold personal data, so grant them only to an app you trust with it. Editing or deleting a form, and removing a message, need explicit confirmation.

Does it work with Advanced Custom Fields?

With ACF active, an assistant can read and change custom field values on posts, pages and products, for field groups with "Show in REST API" switched on. Password fields are never returned or set. It is off until you switch it on under Access › Other plugins, and it cannot change anything else about those items.

Does it work with Germanized?

With Germanized active, an assistant can manage delivery times, units, price labels, deposit types, manufacturers, nutrients and allergens, and set these legal details on products, for example to find products missing a delivery time. It is off until you switch it on under Access › Other plugins. It cannot change a product's price, status or tax status through these tools, though a deposit set on a product is added to what customers pay. Bank details are never included. Changes to products and deposit types, and every deletion, need explicit confirmation.

Does it work with WPML?

With WPML and WooCommerce Multilingual active, an assistant can find products, categories, tags and attribute terms missing a translation, add translations and change their text, including variations, custom text fields and strings such as email subjects. It is off until you switch it on under Access › Other plugins. It cannot change an original, or any price or stock: those come from the original. A new product translation starts as a draft, and publishing it needs explicit confirmation. Category, tag and attribute translations are visible as soon as they are saved. Setting a string needs explicit confirmation, and payment settings are out of reach. Have a person check any translated legal wording, such as withdrawal or safety text. Whatever you switch on, a product changed through any tool now updates its translations too, as it does in the WooCommerce REST API. With Multilingual's multi-currency mode on, the product tools can also read and set a product's own price in each currency.

Which other paid plugins does it work with?

Each of these is off until you switch it on under Access › Other plugins.

  • WooCommerce Shipment Tracking: read, add and remove tracking numbers on orders. Changes need explicit confirmation.
  • Germanized Pro: look up issued invoices. Read-only, with no addresses or files.
  • WooCommerce Cost of Goods: read and set what products cost, and see what an order earned. Profit is left out when it cannot be right, such as for an order in another currency.
  • WooCommerce URL Coupons: list coupon links, and give a coupon a link. Changes need explicit confirmation, and anything that is the start of an address the store already uses is refused, because a link captures every address starting with it.

Can an assistant preview a change, or undo one?

An assistant can ask what a change to a product, variation, category, coupon, shipping or tax setting, post or page would do before saving it. With "Undo history" switched on under Access and granted to an app, it can also undo that connection's own changes for 30 days. An undo needs explicit confirmation, checks the result, and restores the record, not what followed from it: emails already sent stay sent, orders already placed keep their prices, and a price customers saw may still count as your lowest in the last 30 days. It is refused if the fields have changed again, or if something created has since been edited or sold. Orders, refunds, customers, reviews, payment gateways, store settings, custom fields and other plugins' tools are not covered, a deletion cannot be undone, and some changes, such as a shipping method's settings, say they have no undo.

Are there ready-made routines?

Clients that support MCP prompts can offer these as slash commands: sales review, restock list, order triage, refund review, catalog check and coupon review, plus missing translations with WPML and a legal details check with Germanized. Each appears only if the connection can reach every tool it needs, and each proposes rather than changes anything. Clients can also read a short store profile, so an assistant knows the currency, tax setup and what it can reach before it starts.

Where do I report a bug or a security issue?

Bugs and feature requests: the GitHub issue tracker or the support forum here. Security issues: please report them privately as described in the repository's SECURITY.md rather than in a public thread.

Does it work in a subfolder or on a multisite network?

Yes. Each site of a network has its own connections, its own switch and its own tables, and starts switched off. In a subfolder, or on a subsite, assistants look for /your-folder/.well-known/..., so a web server that blocks every path starting with a dot must let .well-known through at that level too.

更新日志:

2.1.1 2.1.0