transfer_sites
Move one or more sites — and ALL their data (articles, analytics, GSC history, images, snippets…) — from one of your projects to another. IRREVERSIBLE side effects: every PUBLISHED article on the site is set back to DRAFT (it disappears from the live blog until republished), the site's AI-widget ...
This record as markdown: /tools/a3plus-mcp/transfer-sites.md
What transfer_sites does on A3plus
AI agents use transfer_sites to commit financial operations through A3plus, usually the final step of a payment, billing, or trading workflow. A call moves real money.
| Parameter | Type | Required | Description |
|---|---|---|---|
dryRun | boolean | — | true = preview guards + consequences without changing anything. Do this first. |
siteIds | array | Yes | Site IDs to move (required, 1–200 per call; auto-chunked into sequential 20-site batches). Use list_sites to find them. |
projectId | string | Yes | The SOURCE project ID the sites currently belong to. |
targetProjectId | string | Yes | The DESTINATION project ID (yours — or any project when you are a platform admin). No destination size limit. |
Parameters from the server's own tool schema.
Why transfer_sites is rated Critical
transfer_sites moves real money, and an autonomous agent will call it with the same confidence it calls a search tool. A misread instruction or an injected prompt is all it takes to drain an account or blow a budget.
Risk signalsBulk/mass operation — affects multiple targets · Admin/system-level operation
Attacks that exploit this kind of access
The rule that runs transfer_sites safely
PolicyLayer is an MCP gateway: it sits between your AI agents and A3plus, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For transfer_sites, this is the rule to start with:
Any call to transfer_sites is blocked until a human approves it. The rest of the server keeps working.
The button opens the PolicyLayer dashboard: create your workspace, connect A3plus, apply this rule, and every transfer_sites call is checked against it from then on.
Questions about transfer_sites
Move one or more sites — and ALL their data (articles, analytics, GSC history, images, snippets…) — from one of your projects to another. IRREVERSIBLE side effects: every PUBLISHED article on the site is set back to DRAFT (it disappears from the live blog until republished), the site's AI-widget binding is cleared, and the site is flagged 'Transferred' — its copy must be regenerated manually for the new project's brand. Requires a Personal Access Token (ak_user_) with OWNER access to BOTH projects; PLATFORM ADMINS can transfer between ANY projects. Admin hand-off flow (e.g. delivering R2Y2-commissioned sites to a customer): 1) create_project for the client brand, 2) transfer_sites the chosen sites from the build project into it — the sites arrive carrying the Transferred flag so operators know their copy still needs regenerating, 3) add_project_member / client assignment gives the customer access. The destination project has NO size limit. Up to 200 sites per call; larger lists are automatically split into sequential 20-site API batches — if a mid-batch failure occurs, the result includes remainingSiteIds (not attempted) to retry with. ALWAYS call with dryRun:true first, show the user the per-site consequences (published-article counts going dark, warnings), and get explicit confirmation before running with dryRun:false. It is categorised as a Financial tool in the A3plus MCP Server, which means it involves financial transactions. Block by default and require explicit approval.
transfer_sites accepts 4 parameters: dryRun, siteIds, projectId, targetProjectId. Required: siteIds, projectId, targetProjectId. The full parameter table on this page comes from the server's own tool schema.
Register the A3plus MCP server in PolicyLayer and add a rule for transfer_sites: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches A3plus. Nothing to install.
transfer_sites is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the transfer_sites rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for transfer_sites. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
transfer_sites is provided by the A3plus MCP server (a3plus-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on A3plus, and thousands of servers like it.
Across the catalogue