# GoHighLevel MCP Server MCP server

Agent View of the PolicyLayer registry record for GoHighLevel MCP Server: identity, probed posture, risk grade, and all 64 tools classified. HTML page: https://policylayer.com/tools/basicmachines-co-open-ghl-mcp

## Facts

- Server id: `basicmachines-co/open-ghl-mcp`
- Homepage: https://github.com/basicmachines-co/open-ghl-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 64
- Tool categories present: Destructive, Read, Write
- Tags: basicmachines co open ghl mcp, admin
- Record last modified: 2026-08-12T16:05:33.741Z

## Tools (64)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `delete_appointment` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-appointment.md |
| `delete_contact` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-contact.md |
| `delete_contact_note` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-contact-note.md |
| `delete_contact_task` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-contact-task.md |
| `delete_custom_field` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-custom-field.md |
| `delete_custom_value` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-custom-value.md |
| `delete_opportunity` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-opportunity.md |
| `delete_user` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/delete-user.md |
| `remove_contact_from_workflow` | Destructive | Critical | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/remove-contact-from-workflow.md |
| `ghl_request` | Execute | High | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/ghl-request.md |
| `debug_config` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/debug-config.md |
| `get_all_form_submissions` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-all-form-submissions.md |
| `get_appointment` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-appointment.md |
| `get_appointments` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-appointments.md |
| `get_calendar` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-calendar.md |
| `get_calendars` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-calendars.md |
| `get_contact` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-contact.md |
| `get_contact_note` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-contact-note.md |
| `get_contact_notes` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-contact-notes.md |
| `get_contact_task` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-contact-task.md |
| `get_contact_tasks` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-contact-tasks.md |
| `get_conversation` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-conversation.md |
| `get_conversations` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-conversations.md |
| `get_custom_field` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-custom-field.md |
| `get_custom_fields` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-custom-fields.md |
| `get_custom_value` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-custom-value.md |
| `get_custom_values` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-custom-values.md |
| `get_forms` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-forms.md |
| `get_free_slots` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-free-slots.md |
| `get_messages` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-messages.md |
| `get_opportunities` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-opportunities.md |
| `get_opportunity` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-opportunity.md |
| `get_pipelines` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-pipelines.md |
| `get_user` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-user.md |
| `get_users_by_location` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-users-by-location.md |
| `get_workflows` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/get-workflows.md |
| `ghl_list_endpoints` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/ghl-list-endpoints.md |
| `search_contacts` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/search-contacts.md |
| `search_users` | Read | Low | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/search-users.md |
| `add_contact_tags` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/add-contact-tags.md |
| `add_contact_to_workflow` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/add-contact-to-workflow.md |
| `complete_contact_task` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/complete-contact-task.md |
| `create_appointment` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-appointment.md |
| `create_contact` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-contact.md |
| `create_contact_note` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-contact-note.md |
| `create_contact_task` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-contact-task.md |
| `create_conversation` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-conversation.md |
| `create_custom_field` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-custom-field.md |
| `create_custom_value` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-custom-value.md |
| `create_opportunity` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-opportunity.md |
| `create_user` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/create-user.md |
| `remove_contact_tags` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/remove-contact-tags.md |
| `send_message` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/send-message.md |
| `update_appointment` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-appointment.md |
| `update_contact` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-contact.md |
| `update_contact_note` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-contact-note.md |
| `update_contact_task` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-contact-task.md |
| `update_custom_field` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-custom-field.md |
| `update_custom_value` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-custom-value.md |
| `update_message_status` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-message-status.md |
| `update_opportunity` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-opportunity.md |
| `update_opportunity_status` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-opportunity-status.md |
| `update_user` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/update-user.md |
| `upload_form_file` | Write | Medium | https://policylayer.com/tools/basicmachines-co-open-ghl-mcp/upload-form-file.md |

## Tool descriptions

- `delete_appointment` — Delete an appointment
- `delete_contact` — Delete a contact from GoHighLevel
- `delete_contact_note` — Delete a note from a contact
- `delete_contact_task` — Delete a task from a contact
- `delete_custom_field` — Delete a custom field
- `delete_custom_value` — Delete a custom value
- `delete_opportunity` — Delete an opportunity from GoHighLevel
- `delete_user` — Delete a user
- `remove_contact_from_workflow` — Remove a contact from a workflow
- `debug_config` — Debug tool to show current MCP server configuration and auth status
- `get_all_form_submissions` — Get all form submissions for a location, optionally filtered by form or contact
- `get_appointment` — Get a specific appointment
- `get_appointments` — Get appointments for a contact
- `get_calendar` — Get a specific calendar
- `get_calendars` — Get all calendars for a location
- `get_contact` — Get a single contact by ID
- `get_contact_note` — Get a single note for a contact
- `get_contact_notes` — List all notes for a contact
- `get_contact_task` — Get a single task for a contact
- `get_contact_tasks` — List all tasks for a contact
- `get_conversation` — Get a single conversation
- `get_conversations` — Get conversations for a location
- `get_custom_field` — Get a single custom field by ID
- `get_custom_fields` — List all custom fields for a location (optionally filtered by model)
- `get_custom_value` — Get a single custom value by ID
- `get_custom_values` — List all custom values for a location
- `get_forms` — Get all forms for a location
- `get_messages` — Get messages from a conversation
- `get_opportunities` — Get opportunities for a location
- `get_opportunity` — Get a single opportunity by ID
- `get_pipelines` — Get all pipelines for a location
- `get_user` — Get a single user by ID
- `get_users_by_location` — List all users assigned to a location
- `get_workflows` — List all workflows for a location
- `search_contacts` — Search contacts in a location
- `search_users` — Search users across an agency (company)
- `add_contact_tags` — Add tags to a contact
- `add_contact_to_workflow` — Enroll a contact into a workflow
- `complete_contact_task` — Set the completed status of a contact's task
- `create_contact` — Create a new contact in GoHighLevel
- `create_contact_note` — Create a note on a contact
- `create_contact_task` — Create a task on a contact
- `create_conversation` — Create a new conversation
- `create_custom_field` — Create a new custom field in a location
- `create_custom_value` — Create a new custom value in a location
- `create_opportunity` — Create a new opportunity in GoHighLevel
- `create_user` — Create a new user (agency-level)
- `remove_contact_tags` — Remove tags from a contact
- `send_message` — Send a message in a conversation
- `update_appointment` — Update an existing appointment
- `update_contact` — Update an existing contact in GoHighLevel
- `update_contact_note` — Update a note on a contact
- `update_contact_task` — Update a task on a contact
- `update_custom_field` — Update an existing custom field
- `update_custom_value` — Update an existing custom value
- `update_message_status` — Update the status of a message
- `update_opportunity` — Update an existing opportunity in GoHighLevel
- `update_opportunity_status` — Update the status of an opportunity
- `update_user` — Update an existing user
- `upload_form_file` — Upload a file to a form's custom field

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Delx Mcp A2a (1076 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Eda Agent (726 tools) — https://policylayer.com/tools/eda-agent.md
- Pfsense (680 tools) — https://policylayer.com/tools/abl030-pfsense-mcp.md
- GoCreative Agent API (647 tools) — https://policylayer.com/tools/io-github-colinhughes2121-gocreative-agent-api.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=basicmachines-co-open-ghl-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/basicmachines-co-open-ghl-mcp
