diff --git a/change_log.txt b/change_log.txt index f1894d3..0e896ff 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,6 @@ +### 1.1.2 | 2026-08-14 +- gravity-forms-abilities: Add a WordPress multisite section covering per-subsite endpoints and tool allowlists, per-subsite capabilities, HTML filtering for non-super-admin users, and network-inherited license info. + ### 1.1.1 | 2026-08-11 - gravity-forms-abilities: Document productField auto-linking for quantity and option fields, and add the option field example to the pricing table. diff --git a/skills/gravity-forms-abilities/SKILL.md b/skills/gravity-forms-abilities/SKILL.md index 34f658a..121bf9b 100644 --- a/skills/gravity-forms-abilities/SKILL.md +++ b/skills/gravity-forms-abilities/SKILL.md @@ -5,7 +5,7 @@ license: GPL-2.0+ compatibility: Requires a WordPress site with Gravity Forms 2.9+ and the MCP endpoint enabled (GF Settings → MCP) metadata: author: gravityforms - version: "1.0.4" + version: "1.0.5" --- # Gravity Forms Abilities — Agent Skill @@ -307,6 +307,20 @@ When an agent is connected to multiple WordPress sites via separate MCP servers, **Important:** Field `id` values are preserved through `forms-create` — GFAPI honors the IDs you pass. This means merge tags in notifications (e.g., `{Email:3}`) continue to reference the correct fields. `nextFieldId` is auto-calculated. +### WordPress Multisite Networks + +The section above covers **separate WordPress installs**. A **WordPress multisite network** (one install, many subsites) behaves differently in specific ways: + +**Connection model:** Each subsite has its own REST root, so each subsite is its own MCP endpoint in **both** endpoint modes — Site MCP (`https://network.example/site-b/wp-json/mcp/mcp-adapter-default-server`) and Dedicated Endpoint (`https://network.example/site-b/wp-json/mcp/gravityforms`). Configure **one MCP server per subsite URL**, not per install. `system-info`'s `site_url` / `site_name` identify the subsite, same as with separate installs. + +**Per-subsite everything:** MCP enablement, the per-tool allowlist, and the endpoint mode are all configured per subsite — there is no network-level toggle. Two subsites on the same network can expose different tool sets, or none. If a tool works on subsite A but is missing on subsite B, that is per-subsite configuration, not an error: the admin must enable it in **that subsite's** GF Settings → MCP. Forms, entries, and feeds are stored per subsite; form IDs remain site-local (track `(site, form_id)` pairs). + +**Capabilities are per-subsite:** A user's credentials authenticate across the network, but their capabilities depend on their role **on each subsite**. Expect the same credential to succeed on one subsite and be permission-denied on another. Super admins pass capability checks on every subsite. + +**HTML in notifications/confirmations is filtered for most users:** On multisite, only super admins hold `unfiltered_html`. For everyone else, notification and confirmation messages are run through WordPress's HTML filter on save — `