# GorillaDesk — how to use (mcp.ai)

Connect your GorillaDesk account and use 13 tools for CRM straight from your AI agent. Connect with your own API key. GorillaDesk is field service management software for pest control and other service businesses, covering customers, jobs, estimates, invoices, payments, and related operations.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_gorilladesk?ms=1787291340000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `gorilladesk_create_customer`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/gorilladesk`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/gorilladesk/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/gorilladesk/create/customer` — Create a GorillaDesk customer together with the required primary service location. This is a permanent side effect: GorillaDesk exposes no customer-delete API, so the created business record cannot be
  - body: { email?: string, phones?: object[], status?: string, company?: string, location: object, last_name?: string, first_name: string, account_number?: string }
- `POST https://api.mcp.ai/api/gorilladesk/create/customer/note` — Permanently add a text note to a GorillaDesk customer and optionally notify users. The API cannot remove a created note. This action excludes attachments and must not be retried after an ambiguous res
  - body: { content: string, customer_id: string, notify_user_ids?: string[] }
- `POST https://api.mcp.ai/api/gorilladesk/get/company` — Return the company profile selected by the connected GorillaDesk API key, including contact, address, timezone, and office-hours details.
- `POST https://api.mcp.ai/api/gorilladesk/get/credits` — Retrieve one customer credit by ID, or list credits, optionally filtering to one customer.
  - body: { limit?: integer, offset?: integer, credit_id?: string, customer_id?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/customers` — Retrieve one customer by ID, or search and page through customers using status, state, account number, timestamps, expansions, and sorting.
  - body: { sort?: string[], limit?: integer, offset?: integer, states?: string[], include?: string[], statuses?: string[], customer_id?: string, created_after?: string, updated_after?: string, account_number?: string, created_before?: string, updated_before?: string, created_on_or_after?: string, updated_on_or_after?: string, created_on_or_before?: string, updated_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/documents` — Retrieve one document by ID, or search documents by customer, job, state, status, creation time, keyword, and sorting.
  - body: { sort?: string[], limit?: integer, job_id?: string, offset?: integer, states?: string[], include?: string[], keyword?: string, statuses?: string[], customer_id?: string, document_id?: string, created_after?: string, created_before?: string, created_on_or_after?: string, created_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/estimates` — Retrieve one estimate by ID, or search estimates by customer, job, state, status, signature status, date, keyword, expansions, and sorting.
  - body: { sort?: string[], limit?: integer, job_id?: string, offset?: integer, states?: string[], include?: string[], keyword?: string, statuses?: string[], date_after?: string, customer_id?: string, date_before?: string, estimate_id?: string, sign_statuses?: string[], date_on_or_after?: string, date_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/invoices` — Retrieve one invoice by ID, or search invoices by customer, job, state, payment/signature status, date, keyword, expansions, and sorting.
  - body: { sort?: string[], limit?: integer, job_id?: string, offset?: integer, states?: string[], include?: string[], keyword?: string, statuses?: string[], date_after?: string, invoice_id?: string, customer_id?: string, date_before?: string, sign_statuses?: string[], date_on_or_after?: string, date_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/jobs` — Retrieve one job by ID, or search jobs by customer, state, date, keyword, expansions, and sorting.
  - body: { sort?: string[], limit?: integer, job_id?: string, offset?: integer, states?: string[], include?: string[], keyword?: string, date_after?: string, customer_id?: string, date_before?: string, date_on_or_after?: string, date_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/payments` — Retrieve one payment by ID, or search payments by customer, invoice, status, date, expansions, and sorting.
  - body: { sort?: string[], limit?: integer, offset?: integer, include?: string[], statuses?: string[], date_after?: string, invoice_id?: string, payment_id?: string, customer_id?: string, date_before?: string, date_on_or_after?: string, date_on_or_before?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/services` — Retrieve one GorillaDesk service by ID, or list configured services with sorting and offset pagination.
  - body: { sort?: string[], limit?: integer, offset?: integer, service_id?: string }
- `POST https://api.mcp.ai/api/gorilladesk/get/users` — Retrieve one GorillaDesk user by ID, or list the company's users when no ID is supplied.
  - body: { limit?: integer, offset?: integer, user_id?: string }
- `POST https://api.mcp.ai/api/gorilladesk/list/phone/types` — List the configured customer phone-type definitions, including IDs, names, default flags, and states.
  - body: { limit?: integer, offset?: integer }

## Example prompts
- "What can I do in GorillaDesk?"
- "Show me a summary of my GorillaDesk account"

## More
- Page: https://mcp.ai/gorilladesk
- Agent spec (llms.txt): https://mcp.ai/gorilladesk/llms.txt
- Postman collection: https://mcp.ai/gorilladesk/postman.json
