HelloZen Read-Only MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HelloZen Read-Only MCPlist the custom fields in HelloZen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HelloZen Read-Only MCP
An unofficial, self-hosted, strictly read-only MCP connector designed for inspecting HelloZen configuration.
Use this connector with ChatGPT (via OpenAI Secure MCP Tunnel) or MCP Inspector to review custom fields, pipelines, calendars, and workflows when planning integrations for a photography studio on HelloZen — without exposing contact data or write access.
Disclaimer: This project is unofficial and is not affiliated with, endorsed by, or supported by HelloZen unless explicitly approved by the HelloZen owner. Do not use HelloZen logos or imply official partnership.
This connector cannot create, update or delete HelloZen data. Its credential contains no write scopes, and its application transport rejects every method except GET.
What it does
Exposes exactly four MCP tools:
Tool | Purpose |
| Custom contact and opportunity field definitions |
| Pipeline and stage configuration |
| Calendar configuration (e.g. portrait planning call setup) |
| Workflow IDs, names, and status |
It does not access contacts, conversations, appointments, opportunity records, emails, form submissions, calendar events, or workflow enrolments.
Related MCP server: appstoreconnect-codex-mcp
Read-only security model
Application boundary
Only
GETrequests to four fixed LeadConnector endpointsHard-coded upstream origin:
https://services.leadconnectorhq.comNo arbitrary URLs, methods, or query strings
Response size capped while streaming (~2 MB)
Tokens and raw upstream payloads never appear in logs, errors, or tool output
Credential boundary
Create a dedicated HelloZen Private Integration for this connector. Required scopes:
locations/customFields.readonly
opportunities.readonly
calendars.readonly
workflows.readonlyDo not grant:
Any
.writepermissionContacts permissions
Calendar Events permissions
Conversations permissions
Edit, Create, Manage, or Delete permissions
Never use HELLOZEN_PRIVATE_INTEGRATION_TOKEN or reuse write-capable credentials from other projects.
Residual risk
The opportunities.readonly scope is relatively broad in HighLevel because it covers both pipeline configuration and opportunity reads. This connector only calls the pipelines list endpoint, but a compromised token could still be misused outside this connector if broader API access was granted. Use the narrowest scopes possible.
Requirements
Node.js 22+
A HelloZen sub-account location ID
A read-only Private Integration token
Local development
git clone <your-repo-url> hellozenmcp
cd hellozenmcp
npm install
cp .env.example .env
# Edit .env with your read-only token and location ID
npm run devHealth check:
curl http://127.0.0.1:8790/healthzMCP Inspector
Point MCP Inspector at:
http://127.0.0.1:8790/mcpVerify HelloZen connectivity
Run manually after configuring .env (not during container startup):
npm run verify:hellozenExample output:
Custom fields: accessible, 12
Pipelines: accessible, 3
Calendars: accessible, 2
Workflows: accessible, 8This command prints counts only — no credentials, raw responses, or customer information.
Docker
The connector is on-demand. It is not designed to run continuously. See On-demand operation below.
Initial build and container creation (generic example):
cp .env.example .env
# Edit .env on the deployment host only — never commit credentials
docker build --pull -t hellozenmcp-hellozen-mcp .
docker compose up -d --no-build hellozen-mcpOn hosts where docker compose build works (Buildx >= 0.17.0), you may use docker compose up -d --build instead of the two-step build above.
The default compose file binds to loopback only:
127.0.0.1:8790:8790Docker is configured with restart: "no", so a host or Docker daemon reboot does not automatically start the connector.
For operator-specific deployment paths, copy DEPLOYMENT.local.md.example to DEPLOYMENT.local.md (gitignored).
On-demand operation
The MCP connector is intentionally not a continuously running service. Its normal resting state is STOPPED. Starting it requires an explicit operator action. This is a deliberate security control — see SECURITY.md.
Expected lifecycle:
build/create
↓
STOPPED normally
↓
operator starts MCP
↓
health check
↓
Secure MCP Tunnel / ChatGPT session
↓
operator stops MCP
↓
STOPPEDCheck current state
cd /mnt/user/devconcepts/hellozenmcp
docker compose psStart an existing container
docker compose start hellozen-mcpIf the container has not yet been created
docker compose up -d --no-build hellozen-mcpConfirm healthy
docker compose ps
curl -fsS http://127.0.0.1:8790/healthz && echoStop after the ChatGPT/HelloZen session
docker compose stop hellozen-mcpUse docker compose stop for normal shutdown. You do not need docker compose down for routine sessions — stop preserves the container so the next session can use docker compose start.
After a Vision or Docker daemon reboot, the connector remains stopped until you explicitly start it again.
OpenAI Secure MCP Tunnel (next stage)
Do not expose this service on a public port. After review, connect via OpenAI Secure MCP Tunnel.
Option A — tunnel client on the host
Keep the connector bound to 127.0.0.1:8790. Configure the tunnel to target:
http://127.0.0.1:8790/mcpOption B — tunnel client in Docker
Place hellozen-mcp and the tunnel client on a private internal Docker network. Do not publish the MCP port to the host. Configure the tunnel to target:
http://hellozen-mcp:8790/mcpWarning: Never bind the MCP server to a publicly accessible interface without an approved authentication and authorization layer.
Tunnel setup commands and credentials are configured separately when you deploy the tunnel.
Environment variables
Variable | Description |
| Read-only Private Integration token |
| HelloZen location ID |
| HTTP port (default |
| Bind address (default |
| Upstream timeout (default |
| Configuration cache TTL (default |
Credential rotation and incident response
Revoke the compromised Private Integration in HelloZen immediately
Create a new integration with the same read-only scopes
Update
.envon the deployment hostStart the container when needed:
docker compose start hellozen-mcpRun
npm run verify:hellozento confirm accessReview container logs for unusual tool activity (logs contain event metadata only, not payloads)
Development commands
npm test
npm run typecheck
npm run build
npm auditLicense
MIT — see LICENSE.
Security
See SECURITY.md for vulnerability reporting.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead-only MCP server for the Daktela contact center REST API, providing 40 tools to access tickets, calls, emails, chats, contacts, CRM records, campaigns, and real-time agent status.451MIT
- Alicense-qualityBmaintenanceEnables read-only interaction with App Store Connect via MCP tools, including listing apps, versions, builds, and review submissions, with compliance boundaries and no write operations by default.MIT
- FlicenseBqualityBmaintenanceRead-only MCP tools for TROCCO API, enabling workflow and BigQuery datamart audit information retrieval.2
- Flicense-qualityCmaintenanceRead-only MCP server for Hevo Data API, enabling monitoring of pipelines, objects, destinations, models, and workflows with secure self-hosted credentials.
Related MCP Connectors
Calendly MCP Pack — wraps the Calendly API v2 for scheduling data.
Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).
Search, document and execute authenticated API calls across 500+ apps via one MCP server
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryanandrewbaker/hellozenmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server