# Tool categories

> Turn on only the tool categories you need with the toolsets parameter of the server URL. The 8 categories, the syntax, ready-made combinations, and how to change them in each client.

Source: https://docs.emelia.io/docs/mcp/categories

The Emelia MCP server has 143 tools. Claude loads them on demand, but Cursor, VS Code and most other clients send the description of every tool to the model with each message, and some cap the number of tools. Add `toolsets` to the URL of the server to turn on only the categories you need:

```text
https://mcp.emelia.io/mcp?toolsets=campaigns,lists,enrichment
```

There is one server and one URL: the categories are a parameter of that URL, not separate servers to add.

## The categories

| Category                                               | What it covers                                                                                                                            | Tools |
| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| [`campaigns`](https://docs.emelia.io/docs/mcp/tools.md#campaigns)               | Campaigns, their sequence and its guide, the contacts of a campaign, statistics and activities, manual tasks, attachments and voice notes | 32    |
| [`lists`](https://docs.emelia.io/docs/mcp/tools.md#lists)                       | Lists, contacts, exports, custom variables                                                                                                | 17    |
| [`enrichment`](https://docs.emelia.io/docs/mcp/tools.md#enrichment)             | Find an email or a phone number, verify an email                                                                                          | 5     |
| [`linkedin_scraper`](https://docs.emelia.io/docs/mcp/tools.md#linkedin-scraper) | Sales Navigator and LinkedIn search extractions, and the LinkedIn accounts that run them                                                  | 15    |
| [`mailboxes`](https://docs.emelia.io/docs/mcp/tools.md#mailboxes)               | Sending mailboxes, warmup, health check                                                                                                   | 8     |
| [`account`](https://docs.emelia.io/docs/mcp/tools.md#account)                   | Credits, webhooks, blacklist                                                                                                              | 5     |
| [`inbox`](https://docs.emelia.io/docs/mcp/tools.md#inbox)                       | Read, search, sort, reply to and send the emails of the inbox                                                                             | 39    |
| [`inbox_settings`](https://docs.emelia.io/docs/mcp/tools.md#inbox-settings)     | Labels, AI label rules, views, inbox filters, auto-forward rules                                                                          | 22    |

The `inbox` and `inbox_settings` tools appear only once the Inbox has been opened in Emelia: see [The inbox tools](https://docs.emelia.io/docs/mcp.md#the-inbox-tools).

## Syntax

* Separate the categories with commas, or repeat the parameter: `?toolsets=campaigns,lists` and `?toolsets=campaigns&toolsets=lists` are the same.
* Case is ignored, and so are the spaces around a name: `?toolsets=Campaigns,LISTS` works.
* Without the parameter, every category is on. That is the right choice for Claude.
* An unknown category gets an HTTP `400` that lists the valid ones, and the client cannot connect until the URL is fixed:

```json
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32602,
    "message": "Unknown toolset: campaign. Valid toolsets: campaigns, lists, enrichment, linkedin_scraper, mailboxes, account, inbox, inbox_settings."
  },
  "id": null
}
```

## Ready-made combinations

| Use                                                     | URL                                                                              | Tools |
| ------------------------------------------------------- | -------------------------------------------------------------------------------- | ----- |
| Prospecting: extract, enrich, load lists, run campaigns | `https://mcp.emelia.io/mcp?toolsets=campaigns,lists,enrichment,linkedin_scraper` | 69    |
| Replies: read and answer the inbox                      | `https://mcp.emelia.io/mcp?toolsets=inbox`                                       | 39    |
| Campaign follow-up: results and replies                 | `https://mcp.emelia.io/mcp?toolsets=campaigns,inbox`                             | 71    |
| Deliverability: mailboxes, warmup, blacklist            | `https://mcp.emelia.io/mcp?toolsets=mailboxes,account`                           | 13    |

The counts with `inbox` assume the Inbox is set up. Without it, `?toolsets=inbox` lists no tool at all.

## What the model sees

With the parameter, the server tells the model which categories are on, in the instructions it sends when the session opens. With `?toolsets=campaigns,inbox`:

```text
Tool categories enabled for this connection: campaigns, inbox. The other categories (lists, enrichment, linkedin_scraper, mailboxes, account, inbox_settings) are turned off by the toolsets parameter of the server URL: their tools are not available, even when a description mentions them.
```

A tool of a category that is off cannot be called, even when the description of another tool names it. For example, `create_list` (`lists`) tells the model to attach the list with `update_campaign_recipients` (`campaigns`): without `campaigns`, the instructions tell the model that this tool is off. Add the category to the URL if the assistant needs it.

## Change the categories

The categories are part of the URL of the server. To change them, edit the URL in your client, then reconnect:

| Client                       | How                                                                                                                                                                     |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude Code                  | `claude mcp remove emelia`, then `claude mcp add` again with the new URL; or edit the `url` of `.mcp.json`. Start a new session to load the new list.                   |
| Claude Desktop and claude.ai | Remove the custom connector, add it again with the new URL, then click **Connect**. With the configuration file, edit the URL in `args`, then quit and restart the app. |
| Cursor                       | Edit the `url` in `mcp.json`, then turn the server off and on again in the MCP settings of Cursor.                                                                      |
| VS Code                      | Edit the `url` in `mcp.json`, then restart the server (the **Restart** action above it in `mcp.json`, or the command **MCP: List Servers**).                            |
| Other clients                | Edit the URL of the server, then reconnect it.                                                                                                                          |
