ghl-api-mcp

ghl-api-mcp

MCP server for GoHighLevel documentation, enabling agents to search docs, list endpoints, and fetch focused API details without loading large files.

Category
Visit Server

README

ghl-api-mcp

ghl-api-mcp is an MCP stdio server for GoHighLevel documentation. It lets agents search docs, list endpoints, and fetch focused API details without loading large markdown files into prompt context.

This repo does not include a runnable GoHighLevel OAuth/SSO sample app; it contains documentation and the MCP docs server that indexes that documentation.

What It Does

The server indexes markdown files under docs/ and exposes MCP tools for:

  • list_docs
  • search_docs
  • list_endpoints
  • get_endpoint_details
  • get_section
  • get_document
  • reload_docs

The current corpus includes API review docs, implementation guides, and operational notes such as OAuth/SSO integration details and rate-limit guidance. To see exactly what is loaded, run list_docs.

list_docs labels each file as either a reference or guide. Use get_document when an agent needs the full body of a longer procedural document instead of a single extracted section.

For search_docs, list_endpoints, get_endpoint_details, and get_section, you can pass an optional whitelabel_domain like api.example.com or https://api.example.com. Returned endpoint URLs and embedded example URLs will be rewritten to that domain.

Requirements

  • Node.js >=20 for local usage
  • Docker, if you want to run the containerized version

Quick Start

Local

npm install
npm start

Or run the CLI entrypoint directly:

npm install
./bin/ghl-api-mcp.js

Important: this is a stdio MCP server. When you run it successfully, it stays attached and waits for client requests. It is not an HTTP server and does not open a port.

Docker

docker build -t ghl-api-mcp .
docker run --rm -i ghl-api-mcp

MCP Client Configuration

Local Repo Checkout

Use this when the repository already exists on disk:

{
  "mcpServers": {
    "ghl-docs": {
      "command": "node",
      "args": ["/absolute/path/to/ghl-api-mcp/src/server.js"]
    }
  }
}

Local Repo Checkout With External Docs Directory

{
  "mcpServers": {
    "ghl-docs": {
      "command": "node",
      "args": ["/absolute/path/to/ghl-api-mcp/src/server.js"],
      "env": {
        "GHL_DOCS_DIR": "/absolute/path/to/docs"
      }
    }
  }
}

Docker

{
  "mcpServers": {
    "ghl-docs": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghl-api-mcp"]
    }
  }
}

Docker With External Docs Directory

{
  "mcpServers": {
    "ghl-docs": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/absolute/path/to/docs:/docs:ro",
        "-e",
        "GHL_DOCS_DIR=/docs",
        "ghl-api-mcp"
      ]
    }
  }
}

Document Loading

  • Any .md file under docs/ is indexed automatically
  • If the server is already running, call reload_docs after changing docs on disk
  • If you add docs to the repo and run via Docker without a mounted docs directory, rebuild the image so the container includes the new files

Development

npm install
npm test

Scraping Workflow

Use the browser-backed scraper when a GHL doc links to richer ClickUp content:

npm run scrape:page -- \
  --url https://marketplace.gohighlevel.com/docs/ghl/contacts/search-contacts-advanced \
  --output docs/generated/search-contacts-advanced.md

Browser selection order:

  1. Chrome
  2. Chrome Canary
  3. Zen

You can override the browser with --browser, --executablePath, or PUPPETEER_EXECUTABLE_PATH.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured