Skip to main content
Glama
Samibhw

GoHighLevel Remote MCP Demo

by Samibhw
README.md
# GoHighLevel Remote MCP Demo

A secured, read-only remote MCP proof of concept for one authorized GoHighLevel sub-account. It is a customization of [drausal/gohighlevel-mcp](https://github.com/drausal/gohighlevel-mcp), used under its MIT license.

## What the demo proves

- Remote Streamable HTTP MCP endpoint at `/mcp`
- Bearer-token protected client access
- Server-side GHL sub-account boundary (`GHL_LOCATION_ID`)
- Read-only CRM tools: contacts, opportunities, conversations, appointments, calendars, and notes
- Render-ready health endpoint at `/health`

Write, workflow, and cross-account tools are deliberately disabled. This is a safe proof of concept, not a complete multi-tenant production integration.

## Deploy on Render

1. Create a Render Blueprint from this repository; `render.yaml` configures the free Web Service.
2. In Render, set `GHL_LOCATION_ID`, `BEARER_TOKEN_BEARERAUTH`, and `BEARER_TOKEN_BEARER` to a **demo sub-account's** values. Never commit them.
3. Render generates `MCP_API_KEY`; save it in a password manager.
4. After deploy, check `https://YOUR-SERVICE.onrender.com/health`.

Connect an MCP client to:

```text
https://YOUR-SERVICE.onrender.com/mcp
Authorization: Bearer YOUR_MCP_API_KEY
```

## Local run

```bash
cp .env.example .env
pnpm install
pnpm build
pnpm start
```

## Client-facing description

> I customized, secured, and deployed a remote GoHighLevel MCP proof of concept aligned with your integration requirements. It connects to a demo GHL sub-account and exposes controlled CRM tools through an authenticated MCP endpoint.

## License and attribution

This repository retains the upstream MIT license in [LICENSE](LICENSE). Do not represent the original upstream project as your own work; describe this repository as a customized deployment.