# Tools

> Every tool the Gensiv MCP server offers, what it returns and the API endpoint it mirrors.

Every tool except `brands_list` takes a `brandId`. Start with `brands_list`, then pass a brand id to the others. Lists return at most 25 items a page; use `page` for more. Each tool returns the same data as the API endpoint in the last column, and filters take the same values, such as engine slugs from `brand_engines` and dates as `YYYY-MM-DD` in UTC.

### Brand and setup

| Tool            | What it returns                                                                 | API endpoint                     |
| --------------- | ------------------------------------------------------------------------------- | -------------------------------- |
| `brands_list`   | Your brands grouped by workspace, with id, name and domain                      | `GET /brands`                    |
| `brand_hub_get` | The brand hub: description, key features, industry, tone of voice and persona   | `GET /brands/{brandId}/hub`      |
| `brand_engines` | The AI engines tracked for the brand, with the slugs other tools filter by      | `GET /brands/{brandId}/engines`  |
| `usage_get`     | Plan, limits and usage for brands, prompts, responses, site pages and credits   | `GET /billing/usage`             |

### Visibility

| Tool                   | What it returns                                                                              | API endpoint                                   |
| ---------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `visibility_overview`  | Visibility, share of voice, position and mentions for the brand and each competitor, by day  | `GET /brands/{brandId}/dashboard/overview`     |
| `visibility_heatmap`   | One metric in a grid of brands, engines, topics or countries                                 | `GET /brands/{brandId}/dashboard/heatmap`      |
| `visibility_countries` | Visibility per country of the tracked prompts                                                | `GET /brands/{brandId}/dashboard/countries`    |
| `trends_movers`        | Prompts where the brand's visibility rose or fell most                                       | `GET /brands/{brandId}/trends/movers`          |
| `sentiment_overview`   | Average sentiment of AI answers about the brand, by prompt type and day                      | `GET /brands/{brandId}/sentiment/overview`     |
| `competitors_list`     | Tracked competitors with ids, domains and tags                                               | `GET /brands/{brandId}/competitors`            |

### Prompts and responses

| Tool                 | What it returns                                                                    | API endpoint                                          |
| -------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------- |
| `prompts_list`       | Tracked prompts with type, intent, country, topics, tags and visibility            | `GET /brands/{brandId}/prompts`                       |
| `prompt_insights`    | One prompt's ranking of the brand and competitors, with daily results              | `GET /brands/{brandId}/prompts/{promptId}/insights`   |
| `responses_list`     | AI answers with a preview, scores, brand mentions and citation counts              | `GET /brands/{brandId}/responses`                     |
| `response_get`       | One AI answer in full, with every mention and cited URL                            | `GET /brands/{brandId}/responses/{responseId}`        |
| `responses_overview` | Answer counts by engine and day                                                    | `GET /brands/{brandId}/responses/overview`            |
| `topics_list`        | Topics with ids and prompt counts                                                  | `GET /brands/{brandId}/topics`                        |
| `tags_list`          | Prompt or competitor tags with ids                                                 | `GET /brands/{brandId}/tags`                          |
| `personas_list`      | Buyer personas and their persona prompts                                           | `GET /brands/{brandId}/personas`                      |

### Sources

| Tool               | What it returns                                                                  | API endpoint                                      |
| ------------------ | -------------------------------------------------------------------------------- | ------------------------------------------------- |
| `citation_domains` | Domains AI engines cite most, and whether each is yours, a competitor's or other | `GET /brands/{brandId}/citations/domains`         |
| `citation_urls`    | Cited pages with title, source type, content type and counts                     | `GET /brands/{brandId}/citations/urls`            |
| `citation_url_get` | One cited page: the prompts and engines that cite it and the brands it mentions  | `GET /brands/{brandId}/citations/urls/{pageId}`   |
| `reddit_threads`   | Reddit threads AI engines cite, with subreddit and brand mentions                | `GET /brands/{brandId}/social/reddit/posts`       |
| `fanout_queries`   | Web searches AI engines ran while answering, with counts per engine              | `GET /brands/{brandId}/fanouts/queries`           |

### Content and actions

| Tool                    | What it returns                                                              | API endpoint                                             |
| ----------------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------- |
| `content_gaps_overview` | How well the brand's site covers what AI answers discuss                     | `GET /brands/{brandId}/content-gaps/overview`            |
| `content_gap_prompts`   | Prompts with the site's coverage score for each                              | `GET /brands/{brandId}/content-gaps/prompts`             |
| `content_gap_get`       | One prompt's gap: score, the searches engines ran and a recommendation       | `GET /brands/{brandId}/content-gaps/prompts/{promptId}`  |
| `actions_list`          | Action items with kind, severity, status and assignee                        | `GET /brands/{brandId}/actions`                          |
| `action_get`            | One action item with its details and activity                                | `GET /brands/{brandId}/actions/{actionId}`               |
| `documents_list`        | Articles and page refreshes Gensiv wrote, with status and published URL      | `GET /brands/{brandId}/documents`                        |
| `document_get`          | One article with its brief, findings, SEO fields and full Markdown           | `GET /brands/{brandId}/documents/{documentId}`           |

## Write tools

These appear only on connections that allow changes ([Setup](/docs/mcp/setup)). Clients that read tool annotations ask before running the tools marked destructive.

| Tool                 | What it does                                                                     | Destructive | API endpoint                                        |
| -------------------- | -------------------------------------------------------------------------------- | ----------- | --------------------------------------------------- |
| `prompts_create`     | Adds tracked prompts; counts toward the plan's prompt limit                      | No          | `POST /brands/{brandId}/prompts`                    |
| `prompts_update`     | Edits one prompt's text, type, intent, country, topics or tags                   | No          | `PATCH /brands/{brandId}/prompts/{promptId}`        |
| `prompts_bulk`       | Enables, disables, classifies, relocates or deletes several prompts              | Yes         | `POST /brands/{brandId}/prompts/bulk`               |
| `prompts_tag`        | Adds tags to, or removes them from, several prompts                              | No          | `POST /brands/{brandId}/prompts/tags`               |
| `prompts_set_topics` | Adds several prompts to topics, or removes them                                  | No          | `POST /brands/{brandId}/prompts/topics`             |
| `competitors_create` | Tracks a new competitor as direct or ignored                                     | No          | `POST /brands/{brandId}/competitors`                |
| `competitors_update` | Edits a competitor's name, website and variations                                | No          | `PATCH /brands/{brandId}/competitors/{competitorId}`|
| `competitors_bulk`   | Moves several competitors to direct, ignored or suggested, or deletes them       | Yes         | `POST /brands/{brandId}/competitors/bulk`           |
| `competitors_tag`    | Adds tags to, or removes them from, several competitors                          | No          | `POST /brands/{brandId}/competitors/tags`           |
| `topics_create`      | Adds a topic                                                                     | No          | `POST /brands/{brandId}/topics`                     |
| `topics_update`      | Renames or recolors a topic                                                      | No          | `PATCH /brands/{brandId}/topics/{topicId}`          |
| `topics_delete`      | Deletes a topic; its prompts stay                                                | Yes         | `DELETE /brands/{brandId}/topics/{topicId}`         |
| `tags_create`        | Adds a prompt or competitor tag                                                  | No          | `POST /brands/{brandId}/tags`                       |
| `tags_rename`        | Renames a tag                                                                    | No          | `PATCH /brands/{brandId}/tags/{tagId}`              |
| `tags_delete`        | Deletes a tag and removes it from everything it labels                           | Yes         | `DELETE /brands/{brandId}/tags/{tagId}`             |
| `personas_create`    | Adds a buyer persona                                                             | No          | `POST /brands/{brandId}/personas`                   |
| `personas_update`    | Replaces a buyer persona's fields                                                | No          | `PUT /brands/{brandId}/personas/{personaId}`        |
| `personas_delete`    | Deletes a buyer persona                                                          | Yes         | `DELETE /brands/{brandId}/personas/{personaId}`     |
| `actions_create`     | Adds a custom action in To Do                                                    | No          | `POST /brands/{brandId}/actions`                    |
| `actions_update`     | Moves an action on the board or changes its severity, assignee or text           | No          | `PATCH /brands/{brandId}/actions/{actionId}`        |
| `documents_create`   | Starts writing an article in the background; spends writing credits             | No          | `POST /brands/{brandId}/documents`                  |
| `documents_refresh`  | Starts rewriting an existing page in the background; spends writing credits      | No          | `POST /brands/{brandId}/documents/refresh`          |

Writes follow the same plan limits as the app. When a workspace is out of credits or over a limit, the tool returns the reason and the plan that fixes it.

## Errors

Tool errors come back as a normal tool result the assistant can read and explain:

| Message                         | Why                                                          | Fix                                       |
| ------------------------------- | ------------------------------------------------------------ | ----------------------------------------- |
| Brand not found                 | The brand id is wrong or belongs to a workspace you're not in | Call `brands_list` and use an id from it  |
| The API and MCP start on Starter | The workspace is on Lite                                     | Upgrade in **Settings > Billing**         |
| Pick a plan to continue          | The workspace has no active plan                             | Start a trial or pick a plan              |
| This connection is read-only     | A write tool was called on a connection without changes allowed | Reconnect with Allow changes on, or use a key with Allow changes |
| Not enough credits               | The article needs more writing credits than are left           | Buy a credit pack in **Settings > Billing** |

---

Source: https://gensiv.com/docs/mcp/tools

