Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_social_validate_community_user_membership

Read-onlyIdempotent

Validate whether a contact is an active Community group member with a publishing role, confirming a stored postAsUser remains valid before scheduling.

Instructions

Validate Community Member Check whether a contact can publish in a Community group. isActive is true only when the contact is an active member holding a role — the same condition enforced when a post is published, so use this to confirm a stored postAsUser is still valid before scheduling.

groupId is the meta.groupId of a Community account from the Get Accounts API. contactId is the contactId of a member returned by the Get Community Members API. Endpoint: GET /social-media-posting/{locationId}/community/groups/{groupId}/users/{contactId}/validate (Version header: v3; source: v3/social-planner-v3.json) Requires a Sub-Account (location) token. OAuth scopes: socialplanner/account.readonly

Input Schema

NameRequiredDescriptionDefault
groupIdYesCommunity group Id
contactIdYesContact Id of the community member
locationIdYesLocation Id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds real context beyond that – the exact membership+role condition, the guarantee of a Sub-Account token requirement, and the OAuth scope needed. It doesn't describe the full response shape (e.g. role details), which leaves a small gap.

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?

Purpose and the key usage note are front-loaded, followed by param provenance and endpoint/auth metadata. Every block sections cleanly; the endpoint footnote is slightly boilerplate but still useful for debugging.

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 simple read-only validation with three required params and no output schema, the description covers trigger condition, ID sourcing, auth, and the meaning of `isActive`. Return payload detail beyond `isActive` is absent, which is minor given the tool's narrow scope.

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?

Schema coverage is already 100%, yet the description still adds value by stating where each ID comes from: `groupId` is `meta.groupId` from the Get Accounts API and `contactId` is a member's ID from Get Community Members. That provenance is not in the schema and prevents ID mix-ups.

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: check whether a contact can publish in a Community group, with the exact condition behind `isActive`. It reads clearly against siblings like ghl_social_get_community_users (which lists members) and ghl_social_get_account (which supplies the groupId).

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 a concrete when-to-use case: confirm a stored `postAsUser` is still valid before scheduling, since the same condition is enforced at publish time. It also names the APIs that supply the IDs, but does not explicitly state when not to use it or name a validation alternative.

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

Deploy Server

Other Tools