HighLevel Model Context Protocol integration for Real Talk HA. AI-powered access to contacts, conversations, opportunities, payments, blogs, social media, and more.
36 Tools Connected • Live • Location: ifitVy09cFwlEVgEAFDSAdd this to your MCP client configuration:
{
"mcpServers": {
"ghl-mcp": {
"url": "https://services.leadconnectorhq.com/mcp/",
"headers": {
"Authorization": "Bearer $GHL_PIT_TOKEN",
"locationId": "ifitVy09cFwlEVgEAFDS"
}
}
}
}
Use our Python client for scripted access:
from ghl_mcp_client import GHLMCPClient
import asyncio
async def main():
client = GHLMCPClient(
pit_token="$GHL_PIT_TOKEN",
location_id="ifitVy09cFwlEVgEAFDS"
)
async with client.connect():
# List all tools
tools = await client.list_tools()
# Get contacts
result = await client.call_tool("contacts_get-contacts", {
"query_limit": "10",
"query_locationId": "ifitVy09cFwlEVgEAFDS"
})
print(result)
asyncio.run(main())
Configure MCP Client node with HTTP Streamable transport:
MCP URL: https://services.leadconnectorhq.com/mcp/ Transport: HTTP Streamable Auth Type: Header Auth Key: Authorization Value: Bearer $GHL_PIT_TOKEN System Prompt (in LLM node): "The location id is ifitVy09cFwlEVgEAFDS"
Standard webhook payload for all GHL workflow automations (Agent Studio → n8n/Make):
{
"contactId": "{{custom_values.contact_id}}",
"locationId": "{{custom_values.location_id}}",
"pit_token": "{{custom_values.ghl_pit}}",
"tags": "{{custom_values.contact_tags}}",
"website": "{{contact.website}}",
"social_media_links": "{{custom_values.social_media_links}}"
}
Get contacts from GHL with filtering and pagination
Fetch detailed contact information by ID
Create a new contact in GHL
Update an existing contact's fields
Update or create a contact (smart merge)
Add tags to a contact for segmentation
Remove tags from a contact
Get all tasks assigned to a contact
Search, filter, and sort conversations
Get messages by conversation ID
Send SMS, email, or chat message into a thread
Retrieve all opportunity pipelines
Search for opportunities by criteria
Fetch a single opportunity by ID
Update an existing opportunity
Get calendar events (requires userId, groupId, or calendarId)
Retrieve notes attached to appointments
Fetch order details by unique order ID
Paginated transaction list with filtering
List connected social media accounts
Retrieve social media posts
Get details for a specific post
Create a new post for multiple platforms
Modify an existing social media post
Retrieve analytics for social accounts
List all blog sites
Retrieve blog posts for a blog site
Create a new blog post
Modify an existing blog post
Check if a URL slug is available
Get all blog categories for a location
Get all blog authors for a location
Retrieve email templates for a location
Create a new email template
Get sub-account (location) details by ID
Retrieve custom field definitions
Fetch, update, or create contacts via AI prompts. Tag and segment contacts for targeted campaigns. "Show me all contacts added last week and tag them as 'New Lead'"
Send messages to any conversation. Search by keywords, status, or participant. "Find all unread messages and send a follow-up"
Search opportunities, move deals between stages, update values. "Show me all open deals over $5k in the Sales pipeline"
Fetch order details and transaction history on demand. "Show me the last 10 transactions over $100"
Create and edit blog posts, manage social media content across platforms. "Draft a blog post about AI automation and schedule it"
Chain MCP actions: on new contact, tag them, send a welcome message, add to pipeline. All through natural language.
Your Private Integration Token needs these scopes for full access: