Skip to main content
Glama

SEO: Apply proposal

seo_apply_proposal
Destructive

Put a cluster's proposal on the workspace's site. target='page' writes the SEO title and meta description of an existing site page (the cluster's mapped page, or page_id); target='post' does the same for a blog post (post_id or the mapped one); target='new_draft' creates an unpublished blog draft from the proposal. target='new_draft' with generate=true has AI write the FULL article (keywords, H2 outline, competitor insights) into the blog as a draft at the blog's AI-article price shown in the confirmation; it is never published automatically. The URL never changes; the H1 is returned as a recommendation. title/meta override the proposal. A page change goes live with the site's next publish. Undo with seo_undo_apply. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "cluster_id": "<cluster_id>",
      "target": "<target>"
    },
    "name": "seo_apply_proposal"
  }
}

Input Schema

NameRequiredDescriptionDefault
metaNo
slugNonew_draft only: the draft's slug.
titleNo
lengthNogenerate only: article length (default: matches the competitors ranking for the cluster).
targetYes
page_idNo
post_idNo
generateNonew_draft only: AI writes the full article (costs AI credits).
cluster_idYesCluster id as returned by seo_list_clusters or seo_growth_points.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, but the description adds substantial context beyond them: the two-phase confirmation protocol (status='confirmation_required', action_id, plan_token, write only after confirm_action), the AI-credit cost of generate=true, the never-auto-published guarantee, the unchanged URL with H1 only as a recommendation, and that page changes go live on next publish. This is exactly the behavioral disclosure a mutation tool needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then target modes, then cost/publication caveats, then the confirmation rule in a labeled clause. Every sentence carries operational meaning; nothing is redundant despite the density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter destructive mutation with no output schema, the description supplies the return shape (status plus action_id/plan_token), the follow-up tool, cost implications, and side effects. An agent has everything needed to call it correctly and to know what happens next.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 44% schema coverage, the description compensates well: it explains target enum values, that title/meta override the proposal, what generate=true does, and how page_id/post_id default to the cluster's mapped page or post. The length and slug parameters are not addressed in the description, though slug has its own schema description, leaving a small gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (apply a proposal) and resource (cluster proposal → workspace site), and explicitly enumerates the three target modes (page, post, new_draft) with what each writes. An agent can distinguish this from seo_undo_apply and confirm_action purely from the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear per-target selection rules (existing page vs mapped page vs new draft) and names the undo path ('Undo with seo_undo_apply'). It does not contrast against blog_create_draft for the new_draft case, so there is a residual ambiguity about which draft-creation tool to pick, but the when-to-use logic is otherwise explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources