Skip to main content
Glama
thenavidm

Fluent WordPress MCP Server

by thenavidm

fc react to feed

fc_react_to_feed
Destructive

Add or remove your reaction on a feed post and get the updated reaction count. Requires explicit confirmation to execute.

Instructions

Adds or removes the current user reaction on a post and returns the updated count : a second route onto the same behaviour as the reactions toggle endpoint.

Controller: CommentsController@addOrRemovePostReact Route source: fluent-community/app/Http/Routes/api.php:59 Toggle semantics are not idempotent; inspect state before deliberately repeating. Explicit local confirmation is required; hooks, announcements and automations may affect other people. No retries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
removeNo
accountNoExact configured private account profile label; not a tenant or provider account ID.
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.
react_typeNo
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

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, and the description reinforces these with 'Toggle semantics are not idempotent' plus operational detail the annotations cannot express: requiring explicit user confirmation, prohibiting retries, and warning that hooks/announcements/automations may affect other people. It also discloses the return value ('returns the updated count'), which matters because there is no output schema.

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

Conciseness3/5

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

The first sentence is front-loaded and dense with real constraints, but the 'Controller: `CommentsController@addOrRemovePostReact`' and 'Route source: ...' lines are implementation trivia that do not help an agent select or invoke the tool. The useful safety constraints are appended after that noise.

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

Completeness3/5

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

With 7 parameters, a nested payload object and no output schema, the description does a fair job on safety and return value but leaves the reaction-type vocabulary and remove semantics entirely undocumented. It is usable but not complete for a mutation tool with this parameter surface.

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

Parameters2/5

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

Schema coverage is 71%, in the middle band where the description should partly compensate, yet it says nothing about any parameter. The two core parameters of this action, 'remove' and 'react_type', have no description in either the schema or the description, so the agent cannot learn accepted react_type values or the exact semantics of the remove flag.

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

Purpose4/5

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

States a specific verb and resource ('Adds or removes the current user reaction on a post and returns the updated count'), so the agent knows exactly what operation it performs and that it is a toggle. It does not name a sibling tool for contrast, though no sibling in the list performs reactions, so the disambiguation burden is low.

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 concrete operating conditions: 'inspect state before deliberately repeating', 'Explicit local confirmation is required', and 'No retries', which tells the agent how and when to invoke it safely. It does not name an alternative tool to prefer, but no reaction alternative exists in the sibling set, so the guidance is effectively complete.

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