# In-IDE Agent Settings

## Tool Permissions

You can define which tools in Tabnine require user approval by using the **⚙︎** Settings → Tool Permissions → Native Tools panel.

To save time with Tabnine Agent, you can turn on **Auto-approve ▾** from a dropdown menu in Settings.

Navigate to the hamburger menu symbol (the three lines ≡), then:

* Go to **⛯ Settings**.
* Scroll down to and click **Tool Permissions ▾.**
* Finally, select **Native tools ▾**.

Here are the Native tools that will be available, complete with examples:

| Native Tool            | What It Does                                                                         | Example Usage                                         |
| ---------------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------- |
| Read Project Files     | Lets the Agent view code or documentation files to understand context.               | “Explain what this function does.”                    |
| Create Project Files   | Generates new files or directories with content.                                     | “Create a new `README.md` for my project.”            |
| Apply Code             | Writes or edits existing files based on your request.                                | “Add input validation to the `login.js.` file”        |
| Read Terminal          | Reads command output to understand your environment.                                 | “What version of Node am I using?”                    |
| Run Command            | Executes terminal commands in your workspace.                                        | “Run npm install.” or “Run pytest.”                   |
| List Directory         | Lists files in a given folder for context.                                           | “Show me what’s inside /src/components.”              |
| Get Diagnostics        | Gathers environment or dependency info to debug issues.                              | “Run diagnostics. Check for missing Python packages.” |
| Local Workspace Search | Searches your workspace for code or text patterns.                                   | “Find all functions named fetchData.”                 |
| Search File Content    | Local code‑aware search that Agent uses when answering queries or generating changes | "Search for API endpoints like /api/v1 or /api/v2"    |

For each tool, you can pick from the following options:

* <mark style="color:green;">**Auto-approve**</mark>
* <mark style="color:yellow;">**Ask first**</mark>
* <mark style="color:$info;">**Disable**</mark>

<figure><img src="/files/xdoe7QtJAJo6fabwFu2P" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
It is recommended to require user approval for sensitive operations.

However, options like `Run Command` and `Apply Code` will frequently come up as options in Tabnine Agent. Depending on your needs, you might elect to auto-approve these prompts for quicker results.
{% endhint %}

### **Context Engine Tools**

In [5.26.0](https://docs.tabnine.com/main/getting-started/tabnine-agent/pages/risy3bTOlfBfgFRRXK8K#v5.26.0), we added the **Directory & Symbol Index**.

This index includes new (or updated) search tools for navigating and finding resources in remote codebases (repositories, source code, folders, files, classes, functions, variables, etc.):

* `remote_repositories_list` - Lists all remote repositories available to your team
* `remote_symbols_search` - Searches for code symbols (functions, classes, variables) in remote repos by prefix
* `remote_symbol_content` - Gets complete source code content of symbols from remote repos
* `remote_repository_folder_tree` - Gets folder structure of a remote repo
* `remote_files_search` - Searches for files by path/name in remote repos
* `remote_file_content` - Fetches full content of specific files from remote repos
* `remote_semantic_and_textual_search` - \[previously called *`remote_codebase_search`*] Performs semantic RAG and lexical search across remote repos.

### Add New MCP Servers

(Introduced [**5.26.0**](https://docs.tabnine.com/main/getting-started/tabnine-agent/pages/risy3bTOlfBfgFRRXK8K#v5.26.0))

Within the Tabnine IDE plugin, users can manage their MCP servers by adding new ones and configuring their permissions.

To do this, navigate to the three-line menu symbol ☰, then select ⛭ Settings.

Once there, select Tools and **MCPs ∨**, then select **MCP servers ∨**.

Select the option **+ Add MCP server** and input the server’s information. This will open (and create if needed) the \``.tabnine\mcp_servers.json`\` file where you can configure the MCP servers.

<figure><img src="/files/Y0ZTJ62m2XW690MSAPoG" alt=""><figcaption></figcaption></figure>

Once added, you will be able to select one of three options for handling results from each MCP server that is available:

* <mark style="color:green;">**Auto-approve**</mark>
* <mark style="color:yellow;">**Ask first**</mark>
* <mark style="color:$info;">**Disable**</mark>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tabnine.com/main/getting-started/tabnine-agent/agent-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
