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

# MCP Toolsets

> Choose the default or read-only toolset for your MCP connection.

ModernLoop exposes two MCP toolsets. Each toolset maps to a separate endpoint and OAuth resource. A token issued for one endpoint cannot call the other.

<Note>
  Use the read-only toolset unless your workflow needs to create, update, or delete ModernLoop data.
</Note>

## Available toolsets

| Toolset       | Endpoint                                 |                    Tools | OAuth scopes          | Use when                                |
| ------------- | ---------------------------------------- | -----------------------: | --------------------- | --------------------------------------- |
| **Read-only** | `https://api.modernloop.io/mcp/readonly` |          Read tools only | Read scopes only      | The agent only looks up scheduling data |
| **Default**   | `https://api.modernloop.io/mcp`          | All read and write tools | Read and write scopes | The agent may change ModernLoop data    |

Both toolsets use [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) transport and OAuth 2.1 with PKCE. See [ModernLoop MCP](/mcp/setup) for client configuration.

## Connection-level tool filtering

Add one of these query parameters to the MCP endpoint URL to narrow the tools available to a connection:

| Parameter       | Behavior                                                                                | Use when                                                                               |
| --------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `include_tools` | Allowlist. Exposes only the named tools that are otherwise available to the connection. | The connection supports a small, stable workflow and should hide every unrelated tool. |
| `exclude_tools` | Blocklist. Hides the named tools and leaves all other available tools visible.          | The connection needs most of a toolset but should remove specific tools.               |

Each parameter accepts a comma-separated list of exact names from [MCP Tools](/mcp/tools). Use only names available on the selected endpoint. Whitespace and trailing commas are ignored.

```text theme={"dark"}
https://api.modernloop.io/mcp?include_tools=get_me,list_candidates,list_scheduling_tasks
https://api.modernloop.io/mcp/readonly?exclude_tools=list_templates
```

The parameters cannot be combined. An empty list or an unknown tool name returns HTTP `400` with `VALIDATION_FAILED`, preventing a typo from silently changing the connection's tool surface.

Filtering can only remove access. It intersects with the selected endpoint, OAuth scopes, and organization entitlements; it does not request, grant, or alter permissions. For example, adding a tool to `include_tools` does not make it visible when the token lacks its required scope.

The filter applies throughout the connection:

* `tools/list` omits filtered tools.
* Calling a filtered tool directly returns `NOT_FOUND`.
* Built-in prompts and workflow guidance are omitted when they require a filtered tool.

Keep `get_me` in an allowlist so agents can inspect granted scopes and `tool_access`. After connecting, use `tools/list` as the authoritative list of tools visible to that endpoint, token, organization, and filter.

### Read-only toolset

The read-only toolset exposes lookup and list tools only. It does not include create, update, or delete operations.

Included areas:

* Candidates, applications, jobs, and job stages
* Users and interviewer capacity
* Interview modules and module membership
* Organization settings (read)
* Interview events and schedules
* Scheduling tasks and task queues
* Email and calendar templates

OAuth tokens for this endpoint are limited to read scopes. The authorization server issues a separate resource identifier for `/mcp/readonly`.

### Default toolset

The default toolset includes every read-only tool plus 15 write tools.

Additional write capabilities:

| Area              | Write tools                                                                                                                                                                           |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Candidates        | `update_candidate`                                                                                                                                                                    |
| Applications      | `update_application`                                                                                                                                                                  |
| Jobs              | `update_job`, `update_job_stage`                                                                                                                                                      |
| Users             | `update_user`                                                                                                                                                                         |
| Interview modules | `create_interview_module`, `update_interview_module`, `delete_interview_module`, `create_interview_module_member`, `update_interview_module_member`, `delete_interview_module_member` |
| Organization      | `update_organization`                                                                                                                                                                 |
| Scheduling tasks  | `create_scheduling_task`, `update_scheduling_task`, `cancel_scheduling_task`                                                                                                          |

`delete_interview_module`, `delete_interview_module_member`, and `cancel_scheduling_task` are marked destructive. Confirm with the user before calling them.

## Tool availability

Tool availability depends on four factors:

1. **Endpoint** — The read-only endpoint omits all write tools.
2. **OAuth scopes** — The token must include the scope each tool requires. See [Required permissions](/mcp/setup#required-permissions).
3. **Organization entitlements** — Tools for resources your organization cannot access return not found.
4. **Connection filter** — `include_tools` or `exclude_tools` can further narrow the connection's tool surface.

After connecting, call `tools/list` for the authoritative tool list and input schemas for your session.

## Choose a toolset

<Tabs>
  <Tab title="Read-only">
    Point your MCP client at:

    ```
    https://api.modernloop.io/mcp/readonly
    ```

    Grant only the read scopes your workflow needs during OAuth consent.
  </Tab>

  <Tab title="Default">
    Point your MCP client at:

    ```
    https://api.modernloop.io/mcp
    ```

    Grant read and write scopes during OAuth consent. Prefer the read-only endpoint if write access is not required.
  </Tab>
</Tabs>

## Further reading

* [ModernLoop MCP](/mcp/setup) — client-specific connection steps
* [MCP Tools](/mcp/tools) — per-tool reference with read-only toolset membership
* [MCP Data Model](/mcp/data-model) — relationships, IDs, discovery, and pagination
