Skip to main content
Glama
thenavidm

Fluent WordPress MCP Server

by thenavidm

fc create comment

fc_create_comment
Destructive

Posts a comment or threaded reply on a FluentCommunity feed item, renders Markdown, links attached media, and updates the comment count.

Instructions

Posts a comment or a threaded reply on a feed item, renders its Markdown, links any attached media and bumps the post comment count.

Controller: CommentsController@store Route source: fluent-community/app/Http/Routes/api.php:56 Explicit local confirmation is required; hooks, announcements and automations may affect other people. No retries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoExact configured private account profile label; not a tenant or provider account ID.
commentNo
confirmNoSet true only when the user asked for exactly this action.
feed_idYesFeed ID extracted from the URL path.
payloadNoComplete native JSON body; do not mix with body flags or payload_file. Arrays use repeated JSON object flags or a whole native array in a private file.
payload_fileNoAbsolute regular non-symlink JSON body file, at most 1 MiB. Cannot mix with payload/body flags.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, but the description adds non-obvious behavior: it renders Markdown, links attached media, mutates the parent feed's comment count, may trigger hooks/announcements/automations affecting other people, and must not be retried. That is exactly the extra context annotations cannot carry.

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

Conciseness4/5

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

The first sentence front-loads purpose and side effects and the confirmation/no-retry warnings come last, which is the right order. The 'Controller:' and 'Route source:' lines are largely noise for an agent making a tool-selection decision.

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

Completeness4/5

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

For a non-idempotent, destructive create tool with no output schema, the description covers confirmation requirements, blast radius via hooks/automations, and retry behavior. Return-value shape is unspecified, but that is a minor gap given the annotations and high schema coverage.

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

Parameters3/5

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

Schema coverage is high (83%) and the schema itself explains account, confirm, feed_id, payload and payload_file semantics, so the description need not repeat them. However, 'threaded reply' implies parent/thread targeting that has no corresponding parameter, adding slight ambiguity rather than clarity; baseline 3.

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 and resource ('Posts a comment or a threaded reply on a feed item') and enumerates the concrete side effects (Markdown rendering, media linking, comment-count bump). This clearly separates it from fc_update_comment, fc_delete_comment and fc_list_comments without opening their schemas.

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?

The description gives a real precondition ('Explicit local confirmation is required') and a caution against retrying, which shapes when and how to call it. It stops short of naming sibling alternatives or stating when-not to use this tool, so it is context-rich but not fully explicit routing.

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