Cloudflare Workers Model Context Protocol server bridging Claude to the GoHighLevel CRM. Hardened, OAuth-compliant, per-client bearer tokens. Built on @bashco/mcp-toolkit.
37 tools with consistent naming (verb_noun pattern), descriptions present for all tools and parameters. Schemas are well-defined with proper types. However, descriptions are often generic (10-50 chars), lacking LLM-optimized guidance on WHEN to use each tool vs. similar ones. Output schemas not documented. Error handling minimal. No tool annotations (readOnlyHint/destructiveHint). Parameter constraints (enums, ranges) largely absent despite many enum-like fields (status, privacy, postType). Pagination present but inconsistently documented. No confirmation patterns for destructive ops (delete_task, delete_note, delete_social_post).
Add an appointment for a contact
Add a note to a contact
Add tags to a contact
Add a task to a contact
Mark a task as complete or incomplete
Create a new contact with optional fields
Create a new opportunity
Delete a note
Descriptions too generic and short (avg 30-60 chars). Most lack WHEN/WHY guidance. E.g., 'Add tags to a contact' doesn't explain when to use add_tag vs. update_contact with tags array. LLMs cannot distinguish similar tools.
No enum constraints on status/privacy/postType fields. E.g., post_to_tiktok accepts privacyLevel as string but should declare enum [PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY]. Allows LLM hallucination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Delete a social media post
Delete a task
Retrieve a specific contact by ID
Get conversation history for a contact
Search for opportunities with optional filters
Retrieve a specific opportunity by ID
Retrieve all pipelines for the location
Retrieve a specific social media post
Retrieve a specific task
Get upcoming appointments for a contact or user
List all notes for a contact
List connected social media accounts
List social media posts with optional filters
List all tasks for a contact
List all workflows for the location
Create and post content to Facebook
Create and post content to Instagram
Create and post content to LinkedIn
Create and post content to TikTok
Create and post content to YouTube
Schedule a social media post for future publishing
Search for contacts by query with optional pagination
Search for tasks with optional filters
Trigger a workflow for a contact
Update an existing contact
Update a note
Update an existing opportunity
Update a social media post
Update a task
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Destructive tools (delete_task, delete_note, delete_social_post) lack explicit marking. LLM cannot assess risk without reading description.
Output schemas not documented. Tools return data but LLM doesn't know field names/types. E.g., search_contacts returns 'matching contacts' but what fields? Breaks downstream tool chaining.
No confirmation/dry-run pattern for destructive ops. delete_task, delete_note, delete_social_post execute immediately. Agents cannot preview consequences before committing.