> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ascendgtm.net/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools Reference

> All 34 tools available via the MCP endpoint with parameters and examples.

# MCP Tools Reference

All 34 tools available via the MCP endpoint. Each tool accepts JSON parameters and returns structured responses.

## Curated Tools (24)

### google\_ads\_query

Execute a Google Ads Query Language (GAQL) query.

| Parameter     | Type   | Required | Description                                        |
| ------------- | ------ | -------- | -------------------------------------------------- |
| `gaql`        | string | Yes      | GAQL query string                                  |
| `customer_id` | string | No       | Google Ads customer ID (defaults to tenant config) |
| `account_id`  | string | No       | Multi-account selector                             |

### hubspot\_crm

Full CRUD on HubSpot CRM objects.

| Parameter          | Type      | Required | Description                                           |
| ------------------ | --------- | -------- | ----------------------------------------------------- |
| `object_type`      | enum      | Yes      | `contacts`, `companies`, `deals`, `tickets`           |
| `action`           | enum      | Yes      | `search`, `list`, `get`, `create`, `update`, `delete` |
| `filters`          | array     | No       | Search filters (AND combined)                         |
| `properties`       | string\[] | No       | Fields to return                                      |
| `properties_write` | object    | No       | Field values for create/update                        |
| `id`               | string    | No       | Record ID (for get/update/delete)                     |
| `limit`            | number    | No       | Max results (default 10, max 100)                     |

### salesforce\_query

Execute SOQL queries against Salesforce.

| Parameter | Type   | Required | Description       |
| --------- | ------ | -------- | ----------------- |
| `soql`    | string | Yes      | SOQL query string |

### salesforce\_crm

Insert, update, or describe Salesforce objects.

| Parameter     | Type   | Required | Description                      |
| ------------- | ------ | -------- | -------------------------------- |
| `action`      | enum   | Yes      | `insert`, `update`, `describe`   |
| `object_type` | string | Yes      | Salesforce object API name       |
| `id`          | string | No       | Record ID (for update)           |
| `data`        | object | No       | Field values (for insert/update) |

### ga4\_report

Run Google Analytics 4 reports.

| Parameter     | Type      | Required | Description            |
| ------------- | --------- | -------- | ---------------------- |
| `property_id` | string    | Yes      | GA4 property ID        |
| `date_range`  | object    | Yes      | `{startDate, endDate}` |
| `metrics`     | string\[] | Yes      | Metric names           |
| `dimensions`  | string\[] | No       | Dimension names        |
| `limit`       | number    | No       | Max rows (default 100) |

### gsc\_performance

Query Google Search Console performance data.

| Parameter    | Type    | Required | Description                                  |
| ------------ | ------- | -------- | -------------------------------------------- |
| `site_url`   | string  | Yes      | Search Console property URL                  |
| `start_date` | string  | Yes      | YYYY-MM-DD                                   |
| `end_date`   | string  | Yes      | YYYY-MM-DD                                   |
| `dimensions` | enum\[] | No       | `query`, `page`, `country`, `device`, `date` |

### semrush\_research

SEMrush domain analytics and keyword research.

| Parameter  | Type   | Required | Description              |
| ---------- | ------ | -------- | ------------------------ |
| `type`     | enum   | Yes      | Report type              |
| `domain`   | string | Yes      | Domain to analyze        |
| `database` | string | No       | Country (default `us`)   |
| `limit`    | number | No       | Max results (default 10) |

### gmail

Search, read, or send Gmail messages.

| Parameter    | Type   | Required | Description               |
| ------------ | ------ | -------- | ------------------------- |
| `action`     | enum   | Yes      | `search`, `read`, `send`  |
| `query`      | string | No       | Search query (for search) |
| `message_id` | string | No       | Message ID (for read)     |
| `to`         | string | No       | Recipient (for send)      |
| `subject`    | string | No       | Subject (for send)        |
| `body_text`  | string | No       | Body (for send)           |

### google\_calendar

Google Calendar event CRUD.

| Parameter               | Type   | Required | Description                                 |
| ----------------------- | ------ | -------- | ------------------------------------------- |
| `action`                | enum   | Yes      | `list`, `get`, `create`, `update`, `delete` |
| `calendar_id`           | string | No       | Default `primary`                           |
| `time_min` / `time_max` | string | No       | ISO timestamps (for list)                   |
| `summary`               | string | No       | Event title (for create/update)             |

### perplexity\_search

Web-grounded search via Perplexity Sonar models.

| Parameter | Type   | Required | Description                                                        |
| --------- | ------ | -------- | ------------------------------------------------------------------ |
| `query`   | string | Yes      | Search query                                                       |
| `model`   | enum   | No       | `sonar`, `sonar-pro`, `sonar-reasoning-pro`, `sonar-deep-research` |

### aws\_bedrock\_invoke

Invoke AWS Bedrock models (raw API).

| Parameter    | Type   | Required | Description                                                         |
| ------------ | ------ | -------- | ------------------------------------------------------------------- |
| `model_id`   | string | Yes      | Bedrock model ID (e.g. `anthropic.claude-3-5-sonnet-20241022-v2:0`) |
| `prompt`     | string | Yes      | Input prompt                                                        |
| `max_tokens` | number | No       | Max output tokens (default 1024)                                    |

### aws\_bedrock\_converse

Bedrock Converse API with tool use support.

| Parameter  | Type   | Required | Description          |
| ---------- | ------ | -------- | -------------------- |
| `model_id` | string | Yes      | Bedrock model ID     |
| `messages` | array  | Yes      | Conversation history |
| `system`   | string | No       | System prompt        |
| `tools`    | array  | No       | Tool definitions     |

### aws\_textract\_analyze

Extract text and tables from PDFs and images.

| Parameter       | Type    | Required | Description                    |
| --------------- | ------- | -------- | ------------------------------ |
| `document_url`  | string  | Yes      | URL of the document to analyze |
| `feature_types` | enum\[] | No       | `TABLES`, `FORMS`, `QUERIES`   |

### aws\_ses\_send

Send transactional emails via AWS SES.

| Parameter   | Type      | Required | Description                        |
| ----------- | --------- | -------- | ---------------------------------- |
| `to`        | string\[] | Yes      | Recipient addresses                |
| `subject`   | string    | Yes      | Email subject                      |
| `html_body` | string    | No       | HTML content                       |
| `text_body` | string    | No       | Plain text content                 |
| `from`      | string    | No       | Sender (defaults to tenant config) |

### aws\_nova\_canvas

Generate images via AWS Nova Canvas.

| Parameter         | Type   | Required | Description                 |
| ----------------- | ------ | -------- | --------------------------- |
| `prompt`          | string | Yes      | Image generation prompt     |
| `negative_prompt` | string | No       | What to exclude             |
| `width`           | number | No       | Image width (default 1024)  |
| `height`          | number | No       | Image height (default 1024) |

### gamma\_generate

Generate presentations and documents via Gamma.

| Parameter | Type   | Required | Description                           |
| --------- | ------ | -------- | ------------------------------------- |
| `title`   | string | Yes      | Document title                        |
| `content` | string | Yes      | Content outline or brief              |
| `type`    | enum   | No       | `presentation`, `document`, `webpage` |

### linkedin\_ads

LinkedIn campaign and ad management.

| Parameter    | Type   | Required | Description                                        |
| ------------ | ------ | -------- | -------------------------------------------------- |
| `action`     | enum   | Yes      | `list_campaigns`, `get_campaign`, `list_creatives` |
| `account_id` | string | Yes      | LinkedIn ad account ID                             |

### meta\_ads

Meta (Facebook/Instagram) Ads API.

| Parameter    | Type   | Required | Description                                      |
| ------------ | ------ | -------- | ------------------------------------------------ |
| `action`     | enum   | Yes      | `list_campaigns`, `get_insights`, `list_ad_sets` |
| `account_id` | string | Yes      | Meta ad account ID                               |
| `date_range` | object | No       | `{since, until}` YYYY-MM-DD                      |

### microsoft\_ads

Microsoft Advertising (Bing Ads) API.

| Parameter     | Type   | Required | Description                                     |
| ------------- | ------ | -------- | ----------------------------------------------- |
| `action`      | enum   | Yes      | `list_campaigns`, `get_report`, `list_accounts` |
| `customer_id` | string | No       | Microsoft Ads customer ID                       |

### microsoft\_calendar

Microsoft 365 Calendar operations.

| Parameter               | Type   | Required | Description                                 |
| ----------------------- | ------ | -------- | ------------------------------------------- |
| `action`                | enum   | Yes      | `list`, `get`, `create`, `update`, `delete` |
| `calendar_id`           | string | No       | Default `primary`                           |
| `time_min` / `time_max` | string | No       | ISO timestamps (for list)                   |

### dealcloud

DealCloud CRM operations (PE/VC).

| Parameter     | Type   | Required | Description                        |
| ------------- | ------ | -------- | ---------------------------------- |
| `action`      | enum   | Yes      | `query`, `get`, `create`, `update` |
| `entity_type` | string | Yes      | DealCloud entity type              |
| `filters`     | object | No       | Query filters                      |

### submit\_feedback

Submit quality feedback on a tool call output.

| Parameter   | Type   | Required | Description                  |
| ----------- | ------ | -------- | ---------------------------- |
| `tool_name` | string | Yes      | Name of the tool being rated |
| `rating`    | enum   | Yes      | `good`, `bad`, `neutral`     |
| `rationale` | string | Yes      | Reason for the rating        |
| `call_id`   | string | No       | Tool call ID for correlation |

### web\_fetch

Fetch and parse a web page.

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `url`     | string | Yes      | URL to fetch                         |
| `format`  | enum   | No       | `markdown` (default), `html`, `text` |

### search\_knowledge

Search the tenant knowledge base (Vectorize index).

| Parameter   | Type   | Required | Description                   |
| ----------- | ------ | -------- | ----------------------------- |
| `query`     | string | Yes      | Search query                  |
| `top_k`     | number | No       | Results to return (default 5) |
| `namespace` | string | No       | Knowledge namespace           |

## Platform Tools (10)

### agent\_state

Store and retrieve key-value state scoped to the current tenant.

| Parameter   | Type   | Required | Description                           |
| ----------- | ------ | -------- | ------------------------------------- |
| `action`    | enum   | Yes      | `store`, `retrieve`, `delete`, `list` |
| `key`       | string | No       | State key                             |
| `value`     | any    | No       | Value to store                        |
| `ttl_hours` | number | No       | Auto-expire TTL (default 24h)         |

### batch\_execute

Execute up to 10 API calls in parallel.

| Parameter  | Type    | Required | Description                        |
| ---------- | ------- | -------- | ---------------------------------- |
| `requests` | array   | Yes      | Array of request objects (max 10)  |
| `parallel` | boolean | No       | Execute in parallel (default true) |

### discover\_apis

Returns all connected providers with example endpoints. No parameters required.

### call\_api

Generic authenticated proxy for any registered domain.

| Parameter | Type   | Required | Description               |
| --------- | ------ | -------- | ------------------------- |
| `domain`  | string | Yes      | API domain name           |
| `method`  | enum   | No       | HTTP method (default GET) |
| `path`    | string | Yes      | API path                  |
| `body`    | any    | No       | Request body              |
| `query`   | object | No       | Query parameters          |

### context\_query

Query the context plane for facts, signals, and entity data.

| Parameter     | Type   | Required | Description              |
| ------------- | ------ | -------- | ------------------------ |
| `query`       | string | Yes      | Natural language query   |
| `entity_type` | string | No       | Filter by entity type    |
| `limit`       | number | No       | Max results (default 10) |

### context\_explain

Explain context plane reasoning and signal evaluations.

| Parameter   | Type   | Required | Description                |
| ----------- | ------ | -------- | -------------------------- |
| `signal_id` | string | No       | Specific signal to explain |
| `entity_id` | string | No       | Entity to explain          |

### ai\_invoke

Route LLM calls through the AI Gateway with automatic model selection, observability, and budget cap. Provider and model are chosen automatically based on `intent` and `quality` — do not specify them directly.

| Parameter        | Type    | Required | Description                                            |
| ---------------- | ------- | -------- | ------------------------------------------------------ |
| `messages`       | array   | Yes      | Conversation messages (`{role, content}` objects)      |
| `system`         | string  | No       | System prompt                                          |
| `intent`         | enum    | No       | `auto` (default), `search`, `document`, `code`, `bulk` |
| `quality`        | enum    | No       | `economy`, `standard` (default), `premium`             |
| `needs_web`      | boolean | No       | Enable web-grounded retrieval (default `false`)        |
| `context_tokens` | number  | No       | Estimated input context size for routing               |
| `max_tokens`     | number  | No       | Max output tokens (default 1024, max 65536)            |
| `json_mode`      | boolean | No       | Force JSON output (default `false`)                    |
| `temperature`    | number  | No       | Sampling temperature (0–2)                             |

### llm\_invoke

Direct LLM invocation with explicit provider and model selection, or shortcut tier routing.

| Parameter         | Type      | Required | Description                                                                                                        |
| ----------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `messages`        | array     | Yes      | Conversation messages (`{role, content}` objects)                                                                  |
| `tier`            | enum      | No       | `bulk` (Workers AI / Qwen3-30B), `standard` (DeepSeek V4 Flash), `frontier` (requires explicit `provider`+`model`) |
| `provider`        | enum      | No       | `workers_ai`, `deepseek`, `openrouter`, `groq`, `cerebras`, `gemini`                                               |
| `model`           | string    | No       | Model ID (required when `tier: frontier`)                                                                          |
| `max_tokens`      | number    | No       | Max output tokens                                                                                                  |
| `stop`            | string\[] | No       | Stop sequences                                                                                                     |
| `response_format` | object    | No       | `{type: "text" \| "json_object"}`                                                                                  |

### gemini\_invoke

Invoke Google Gemini models directly.

| Parameter    | Type   | Required | Description                          |
| ------------ | ------ | -------- | ------------------------------------ |
| `model`      | string | Yes      | Gemini model (e.g. `gemini-2.5-pro`) |
| `prompt`     | string | Yes      | Input prompt                         |
| `max_tokens` | number | No       | Max output tokens                    |

### claude

Invoke Claude models for nested agent calls, batch processing, file operations, or sub-agent spawning. Uses a discriminated union on `action`.

**`action: "invoke"` (most common)**

| Parameter    | Type   | Required | Description                                            |
| ------------ | ------ | -------- | ------------------------------------------------------ |
| `action`     | string | Yes      | Must be `"invoke"`                                     |
| `messages`   | array  | Yes      | Conversation messages (`{role, content}` objects)      |
| `model`      | string | No       | Claude model ID (default `claude-sonnet-4-6-20250514`) |
| `system`     | string | No       | System prompt                                          |
| `max_tokens` | number | No       | Max output tokens                                      |
| `tools`      | array  | No       | Tool definitions for tool use                          |

Other `action` values: `"batch"`, `"files"`, `"agents"` — each has its own parameter set.

## Common Parameters

All curated tools support:

| Parameter    | Type      | Default        | Description                                   |
| ------------ | --------- | -------------- | --------------------------------------------- |
| `fields`     | string\[] | —              | Dot-notation field paths to return            |
| `format`     | enum      | `full`         | `full` or `compact` (strips metadata wrapper) |
| `account_id` | string    | tenant default | Multi-account selector                        |
| `rationale`  | string    | —              | Quality harness: reason for calling this tool |
