Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_project_get_space_folders

Read-onlyIdempotent

List folders within a GoHighLevel project space using limit and cursor pagination, or center results on a known folder with anchorId to navigate large folder sets.

Instructions

PROJECT MANAGEMENT API — hierarchy is spaces -> folders -> lists -> tasks (+ comments, space statuses, recurring tasks). Task batch-get is RBAC-filtered (inaccessible ids are omitted, not errors) and omits embedded subtasks. position is an opaque server-assigned lexorank string; there is no public reorder endpoint. Recurring tasks use owners/contactIds and rruleOptions.intervalType (task create uses assignees/contactId). Task search supports updatedAt filtering/sorting for incremental sync. The docs do not describe what a delete cascades to — treat every delete as destructive. Get Folders Pages folders under a space (folders[], not items). Simple: ?limit=20 then ?limit=20&cursor={nextCursor}. Deep-link: add anchorId of a known folder to load a window centered on it. Location comes from the token. Endpoint: GET /projects/spaces/{spaceId}/folders (Version header: v3; source: v3/projects-v3.json) OAuth scopes: projects/workspace.readonly Pagination params: limit, cursor — pass them to page through full result sets.

Input Schema

NameRequiredDescriptionDefault
limitNoPage size
cursorNoPagination cursor for children (folders/lists). Opaque base64 string from `nextCursor`.
spaceIdYesSpace id
anchorIdNoId of the child to center the page on

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context that 'Location comes from the token' and that folders are returned under `folders[]`, but the long preamble is largely about tasks, recurring tasks, and deletes that do not apply to this read-only folder listing, diluting the relevant disclosure.

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

Conciseness2/5

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

A large opening paragraph about API hierarchy, RBAC task filtering, lexorank positions, recurring-task fields, and delete cascades is irrelevant to fetching folders and precedes the tool-specific content. The useful 'Get Folders' section is buried after this noise, so the definition is not front-loaded or economical.

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 read-only paginated list tool with full schema descriptions and safety annotations, the description covers endpoint, version, OAuth scope, pagination approach, anchor behavior, and token-derived location. The irrelevant preamble is a distraction but not a gap in what an agent needs to invoke this tool correctly.

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 100%, so the baseline is 3, but the description adds practical semantics beyond the schema: the exact limit-then-cursor paging pattern with a concrete example and the meaning of `anchorId` as centering the page on a known child. That is real added meaning over the field descriptions.

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?

The operative sentence 'Get Folders — Pages folders under a space (`folders[]`, not `items`)' names a specific verb and resource and clarifies the response key, which distinguishes it from list-oriented siblings. It stops short of naming an alternative tool or explicitly excluding space lists, which keeps it below a 5.

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

Usage Guidelines3/5

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

It explains paging mechanics ('?limit=20' then cursor) and the deep-link mode via `anchorId`, but does not say when to choose this tool over siblings like `ghl_project_get_space_lists` or `ghl_project_get_folder_lists`. Usage is implied by the resource name rather than stated as a selection rule.

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