Model Context Protocol Server Hub

Production-grade MCP servers connecting AI agents to Pest Pro Rid All's full operational stack โ€” field ops, payments, and CRM.

๐ŸŸข briostack-mcp ยท Live ๐Ÿ’ณ cardpointe-mcp ๐Ÿ“‹ agency-mcp (GHL) MCP 2025-03-26
Servers
Three MCP servers covering the full operational surface of the business.
๐Ÿ—‚๏ธ

BrioStack Operations

Field ops ยท Scheduling ยท Billing ยท AR
Full BrioStack pest-control platform. Customers, appointments, invoices, daily ops snapshot, employee roster, branches, leads, and raw API pass-through.
Production 32 tools
https://vnf9mp2vik.us-east-2.awsapprunner.com/mcp
๐Ÿ’ณ

CardPointe Payments

Authorize ยท Capture ยท ACH ยท Stored Profiles
CardConnect/CardPointe payment processing. Credit card auth/capture/void/refund, ACH via BlueChex, stored profile tokenization, deposit reporting.
Production 15 tools
https://qwnm3rvm8m.us-east-2.awsapprunner.com/mcp
๐Ÿ“‹

Agency / GHL Operations

CRM ยท Pipelines ยท AI Bots ยท Marketing
GoHighLevel CRM operations. Contacts, conversations, calendars, pipelines, AI conversation bots, voice agents, knowledge bases, blogs, social media, and Stripe.
Production 98 tools
https://gdip7vymuh.us-west-2.awsapprunner.com/mcp

Quick Connect
Copy the config block for your AI client. All three production MCP servers are live at HTTPS streamable-http endpoints.

Add to ~/Library/Application Support/Claude/claude_desktop_config.json

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "briostack-mcp": {
      "type": "streamable-http",
      "url":  "https://vnf9mp2vik.us-east-2.awsapprunner.com/mcp"
    },
    "cardpointe-mcp": {
      "type": "streamable-http",
      "url":  "https://qwnm3rvm8m.us-east-2.awsapprunner.com/mcp"
    },
    "agency-mcp": {
      "type": "streamable-http",
      "url":  "https://gdip7vymuh.us-west-2.awsapprunner.com/mcp"
    }
  }
}

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)

{
  "mcpServers": {
    "briostack-mcp": {
      "url": "https://vnf9mp2vik.us-east-2.awsapprunner.com/mcp"
    },
    "cardpointe-mcp": {
      "url": "https://qwnm3rvm8m.us-east-2.awsapprunner.com/mcp"
    },
    "agency-mcp": {
      "url": "https://gdip7vymuh.us-west-2.awsapprunner.com/mcp"
    }
  }
}

Add to ~/.config/zed/settings.json

{
  "context_servers": {
    "briostack-mcp": {
      "transport": "http",
      "url":       "https://vnf9mp2vik.us-east-2.awsapprunner.com/mcp"
    },
    "cardpointe-mcp": {
      "transport": "http",
      "url":       "https://qwnm3rvm8m.us-east-2.awsapprunner.com/mcp"
    },
    "agency-mcp": {
      "transport": "http",
      "url":       "https://gdip7vymuh.us-west-2.awsapprunner.com/mcp"
    }
  }
}

Standard MCP 2025-03-26 streamable-http connection parameters.

{
  "transport":    "streamable-http",
  "url":          "https://vnf9mp2vik.us-east-2.awsapprunner.com/mcp",
  "method":       "POST",
  "content_type": "application/json",
  "accept":       "text/event-stream, application/json",
  "auth":         "bearer",
  "header":       "Authorization: Bearer <MCP_API_KEY>",
  "note":         "Store the token in the client secret manager. Do not commit it."
}

Full local config for all three servers via stdio. Requires Python 3.11+, mcp, boto3, and AWS credentials.

// claude_desktop_config.json โ€” all three servers, local stdio
{
  "mcpServers": {
    "briostack-mcp": {
      "command": "python3",
      "args": ["/Users/moemeyer/briostack-mcp/server.py"]
    },
    "cardpointe-mcp": {
      "command": "python3",
      "args": ["/Users/moemeyer/cardpointe-mcp/server.py"]
    },
    "agency-mcp": {
      "command": "python3",
      "args": ["/Users/moemeyer/agency-mcp/server.py"]
    }
  }
}

Tool Reference
145 live tools across all three servers. Click a server to expand the published tool highlights; use MCP tools/list for the authoritative live list.
๐Ÿ—‚๏ธ  BrioStack Operations  32 tools โ–ถ
ToolCategoryDescription
search_customerscustomersSearch by name, phone, email, or address
get_customer_detailscustomersFull customer record by Briostack ID
get_customer_full_profilecustomersAggregate profile: account + services + appointments + invoices
get_customer_servicescustomersActive service plans for a customer
list_customer_contact_methodscustomersPhone, email, contact preferences on file
list_appointmentsappointmentsList with filters: date range, status, branch, tech
get_appointmentappointmentsSingle appointment by ID
service_appointmentappointmentsCreate a new service appointment
reschedule_appointmentappointmentsReschedule to a new date/time
open_appointmentappointmentsSet status to open/active
close_appointmentappointmentsMark as completed/closed
update_appointment_statusappointmentsUpdate appointment status field
get_invoicesbillingInvoices with balance and line-item detail
get_service_invoicesbillingInvoices linked to a service plan
get_invoice_schedulesbillingRecurring invoice schedule
get_ar_snapshotbillingAR total outstanding, aging buckets
get_billing_intelligence_referencebillingBilling field meanings and computation rules
get_daily_ops_snapshotoperationsToday's summary: appointments, revenue, open tasks
list_servicesoperationsAll service types offered
list_service_categoriesoperationsService category taxonomy
list_employeesoperationsEmployee roster with roles and branches
list_branchesoperationsBranch/office locations
list_leadsoperationsOpen leads pipeline
list_communicationsoperationsCommunication log (calls, texts, notes)
brio_raw_getraw-apiPass-through GET to any BrioStack REST endpoint
brio_raw_postraw-apiPass-through POST (creates records)
brio_raw_patchraw-apiPass-through PATCH (partial updates โ€” verified on /appointments)
brio_raw_putraw-apiPass-through PUT (full replace)
brio_raw_deleteraw-apiPass-through DELETE
brio_raw_optionsraw-apiDiscover supported methods on any endpoint
brio_get_openapi_specraw-apiFetch the full BrioStack OpenAPI specification
brio_rate_statusraw-apiCurrent API rate limit usage (20 req / 60 s)
๐Ÿ’ณ  CardPointe Payments  15 tools โ–ถ
ToolCategoryDescription
cardpointe_authorizetransactionsAuthorize a charge (hold funds, don't capture)
cardpointe_capturetransactionsCapture a previously authorized transaction
cardpointe_voidtransactionsVoid an authorized or unsettled transaction
cardpointe_refundtransactionsRefund a settled transaction (partial or full)
cardpointe_inquiretransactionsLook up a transaction by retref
cardpointe_inquire_by_ordertransactionsLook up by order ID
cardpointe_offline_paymenttransactionsRecord an offline/manual payment
cardpointe_ach_paymentachACH bank debit via BlueChex (MID BCX101329844815)
cardpointe_create_profileprofilesSave card/bank to stored profile (tokenize)
cardpointe_get_profileprofilesRetrieve stored profile by profile ID
cardpointe_delete_profileprofilesRemove a stored payment profile
cardpointe_search_profile_by_party_idprofilesFind profiles by partyId (= Briostack customerId)
cardpointe_account_statusadminMerchant account status and configuration
cardpointe_get_depositadminDeposit/funding report for a date range
cardpointe_settle_statusadminSettlement batch status
๐Ÿ“‹  Agency / GHL Operations  98 tools โ–ถ
ToolCategoryDescription
search_agency_contactscontactsSearch GHL contacts by name, phone, email, or tag
create_contactcontactsCreate a new GHL contact
update_contactcontactsUpdate contact fields and custom properties
list_contact_notescontactsList notes on a contact record
create_contact_notecontactsAdd a note to a contact
pin_contact_notecontactsPin a note to the top of a contact record
get_conversationconversationsFetch a conversation thread by ID
get_conversation_messagesconversationsList messages in a conversation
list_conversationsconversationsList all conversations with filters
send_messageconversationsSend SMS, email, or in-app message
send_email_messageconversationsSend a formatted email through GHL
send_whatsapp_messageconversationsSend a WhatsApp message via GHL
list_calendarscalendarsList all GHL calendars
list_calendar_eventscalendarsEvents with date/calendar filters
create_calendar_eventcalendarsCreate an appointment in GHL calendar
get_pipelinespipelinesList all sales/operations pipelines
list_opportunitiespipelinesPipeline opportunities with stage filters
create_opportunitypipelinesCreate a pipeline opportunity
update_opportunity_statuspipelinesMove opportunity to won/lost/open
get_locationadminGHL location (sub-account) details
get_custom_fieldsadminList all custom fields in the location
list_usersadminAll users in the location
list_tagsadminAll contact tags
list_tasksadminTasks assigned in GHL
list_workflowsautomationAll automation workflows
list_campaignsmarketingAll campaigns
list_funnelsmarketingAll funnels and pages
list_surveysmarketingAll surveys
create_social_media_postsocialSchedule a social media post
create_knowledge_baseaiCreate an AI knowledge base
query_knowledge_baseaiQuery a knowledge base for answers
crawl_knowledge_base_urlaiIngest URL content into a knowledge base
create_conversation_ai_botaiCreate a GHL AI conversation bot
create_voice_agentaiCreate a GHL voice AI agent
list_voice_call_logsaiVoice agent call history
list_productscommerceProducts/services in the GHL store
list_invoicescommerceGHL invoices
list_payment_transactionscommercePayment transactions
process_stripe_refundcommerceProcess a Stripe refund through GHL
access_pestpro_stripe_accountcommercePest Pro Stripe account (acct_1IJoWII8Ppq6GZQE)
get_email_dns_healthadminCheck SPF, DKIM, DMARC for sending domain
repair_ses_dnsadminAuto-repair SES DNS records
search_agency_locationsadminSearch GHL sub-accounts/locations

Developer Guide
Everything you need to integrate, deploy, or extend these servers.

Protocol

MCP 2025-03-26

Streamable-HTTP & stdio transports

Runtime

Python 3.12

mcp SDK 1.27+, FastMCP wrapper

Hosting

AWS App Runner

us-east-2, linux/amd64, 0.25 vCPU / 0.5 GB

Image

ECR Private

767397993913.dkr.ecr.us-east-2.amazonaws.com/pestpro/briostack-mcp

Credentials

AWS Secrets Manager

Region us-east-2 ยท Prefix pestpro/integrations/

Auth (API)

None (network-gated)

IP allowlist required for external access

Deploy Your Own Instance

1

Prerequisites

Python 3.11+, Docker (or Colima), AWS CLI v2, access to account 767397993913 (us-east-2). Colima users: colima start โ€” no Docker Desktop needed.

2

Clone & install

cd ~/briostack-mcp/hosted && pip install -r requirements.txt โ€” installs mcp>=1.27, boto3, uvicorn, requests.

3

Secrets Manager

Store credentials at pestpro/integrations/briostack in AWS Secrets Manager (us-east-2) with keys api_key, base_url, instance. The server loads these at runtime via IAM role โ€” no env vars needed in production.

4

Build & push (amd64 required)

docker build --platform linux/amd64 -t 767397993913.dkr.ecr.us-east-2.amazonaws.com/pestpro/briostack-mcp:latest .
Then: docker push .... The --platform linux/amd64 flag is mandatory โ€” App Runner runs x86_64, not ARM.

5

IAM roles

Two roles required: briostack-mcp-apprunner-ecr (trust build.apprunner.amazonaws.com, policy AWSAppRunnerServicePolicyForECRAccess) and briostack-mcp-apprunner-instance (trust tasks.apprunner.amazonaws.com, inline policy for secretsmanager:GetSecretValue on pestpro/*).

6

Create App Runner service

Port 8001, TCP health check (interval 20s, threshold 1), instance role attached. Auto-deploy on ECR push is enabled โ€” just push a new image to redeploy.

7

Verify

curl https://<apprunner-url>/mcp โ†’ expect {"error":"Not Acceptable: Client must accept text/event-stream"}. That response confirms the server is healthy and accepting MCP connections.


Hosting This Page at mcp.jom.services
Steps to publish this hub at your custom subdomain via DNSimple + GitHub Pages.
1

Push to GitHub Pages

Create repo moemeyer/jom-mcp-hub. Push all files from ~/jom-mcp-hub/. In repo Settings โ†’ Pages โ†’ Source: main branch, / (root). GitHub serves it at moemeyer.github.io/jom-mcp-hub.

2

Add CNAME file

Create a file named CNAME in the repo root containing exactly: mcp.jom.services

3

Add DNS record in DNSimple

Log in to dnsimple.com โ†’ jom.services โ†’ DNS โ†’ Add Record:
Type: CNAME ยท Name: mcp ยท Content: moemeyer.github.io ยท TTL: 3600

4

Enable HTTPS in GitHub

Back in GitHub Pages settings โ†’ set Custom domain to mcp.jom.services โ†’ tick Enforce HTTPS. GitHub provisions a Let's Encrypt cert automatically (may take 10โ€“30 min).

5

Optional: health monitor

DNSimple has a Health Check feature (DNS โ†’ Health Checks). Point it at https://vnf9mp2vik.us-east-2.awsapprunner.com/ with TCP check every 60s to get uptime alerts for the live MCP server.


Machine-Readable Endpoints
Structured data for automated discovery, custom connectors, and agent frameworks.
URLFormatPurpose
https://mcp.jom.services/.well-known/mcp.jsonJSONStandard well-known MCP discovery endpoint. Server IDs, transports, live URLs.
https://mcp.jom.services/mcp-catalog.jsonJSONFull server catalog. All tools with names, categories, descriptions. Publisher metadata.
https://vnf9mp2vik.us-east-2.awsapprunner.com/mcpMCP/SSELive BrioStack MCP endpoint. POST with Accept: text/event-stream.
https://qwnm3rvm8m.us-east-2.awsapprunner.com/mcpMCP/SSELive CardPointe MCP endpoint. Requires bearer auth.
https://gdip7vymuh.us-west-2.awsapprunner.com/mcpMCP/SSELive Agency MCP endpoint. Requires bearer auth.