# Sola MCP

The **Sola MCP (Model Context Protocol)** server connects your AI assistant directly to your Sola workspace, giving you access to your security data, connected sources, and intelligence without leaving your workflow.

Use it to explore your environment, investigate security risks, and run queries using natural language, from any AI-powered tool.

<div><figure><img src="https://633303660-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMkiDTkdEK7CdyQX8KZZH%2Fuploads%2FM3KDOExHpeOEE1nPlEm4%2FSola%20MCP%201.svg?alt=media&#x26;token=94275753-8390-4d9c-a942-bcddc9380f47" alt="Sola MCP"><figcaption></figcaption></figure> <figure><img src="https://633303660-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMkiDTkdEK7CdyQX8KZZH%2Fuploads%2Fl45xGsaUhtW8zZRFqzhb%2FSola%20MCP%202.svg?alt=media&#x26;token=47e4f06e-ce5b-47c7-877d-e84b69ee1285" alt="Sola MCP"><figcaption></figcaption></figure></div>

## **Supported clients**

**Claude**, **Claude Code**, **Cursor**, **OpenAI Codex**, **VS Code**, and **any MCP-compatible tools**.

[See how to connect your client below.](#connect-your-client)

## **Security and permissions**

The Sola MCP server provides read-only access to your Sola workspace, including your connected data sources, apps, queries, and vendor tables. Your data can never be modified through the MCP. Access is scoped to the workspace the token was generated in.

## Available tools

The Sola MCP exposes the following tools to your AI assistant.

<table><thead><tr><th width="210.223876953125">Tool</th><th>Description</th></tr></thead><tbody><tr><td><p><strong>List Apps</strong></p><p>(<code>list_apps</code>)</p></td><td><p>List all apps in your workspace with their IDs and names.</p><p>Returns app IDs, names, and direct links.</p><p>Use <code>get_app_details</code> for full information, or <code>explore_data</code> to query an app's data directly with natural language.</p></td></tr><tr><td><strong>Get App Details</strong> (<code>get_app_detail</code>s)</td><td><p>Return full details about an app, including integrations, connectors, vendors, tables, queries, canvases, and monitor rules.</p><p>Each vendor has integrations with statuses. Tables may be in different states per integration: syncing, disabled, or missing.</p></td></tr><tr><td><strong>Get App Queries</strong> (<code>get_app_queries_tool</code>)</td><td><p>Retrieve saved SQL queries for a specific app.</p><p>Returns query names, descriptions, SQL, referenced tables, and whether they use cross_revisions (historical view).</p><p>Use <code>list_apps</code> first to find the <code>app_id</code>.</p></td></tr><tr><td><strong>Get Vendor Tables</strong> (<code>get_vendor_tables</code>)</td><td><p>Discover all vendor tables available in your workspace.</p><p>Optionally filter by vendor name.</p><p>Tables are populated by vendor integrations.<br>Use this to see what data is available before running a query.</p></td></tr><tr><td><strong>Get Vendor Schemas</strong> (<code>get_vendor_schemas</code>)</td><td><p>Get column-level schema details (names, types, descriptions) for specific vendor tables.</p><p>Use this to discover columns before writing SQL queries.</p></td></tr><tr><td><strong>Execute SQL Query</strong> (<code>execute_sql</code>)</td><td><p>Run read-only SQL queries directly against your app data source tables. </p><p>Only SELECT statements are allowed, with safety validation.</p><p>Use this for specific queries. </p><p>For natural language exploration, use <code>explore_data</code>.</p></td></tr><tr><td><strong>Explore Data</strong> (<code>explore_data</code>)</td><td><p>Ask natural language questions about your environment, security posture, compliance, and more. </p><p>Uses Sola's graph intelligence and security domain expertise for complex queries.</p><p>Also ideal when you want to explore in natural language without writing SQL.</p></td></tr></tbody></table>

## Example prompts

Here are a few examples of what you can ask your AI assistant using the Execute SQL Query and Explore Data tools.

{% code title="Explore your environment (explore\_data)" overflow="wrap" %}

```
What data sources do I have connected?
```

{% endcode %}

{% code title="Investigate access (explore\_data)" overflow="wrap" %}

```
Who has admin access across my cloud accounts?
```

{% endcode %}

{% code title="Review posture (explore\_data) " overflow="wrap" %}

```
What are the most critical misconfigurations in my AWS environment?
```

{% endcode %}

{% code title="Analyze identity (explore\_data) " overflow="wrap" %}

```
Which users have not logged in for more than 90 days? 
```

{% endcode %}

{% code title="Check compliance (explore\_data)" overflow="wrap" %}

```
Show me all resources that are out of compliance with our policies.
```

{% endcode %}

{% code title="Run a specific query (execute\_sql) " overflow="wrap" %}

```
Run the following SQL:
SELECT name, region, public_access_block_enabled
FROM aws_s3_bucket
WHERE public_access_block_enabled = false 
```

{% endcode %}

{% code title="Ask your AI to write and execute (execute\_sql)" overflow="wrap" %}

```
Write and execute an SQL query that shows all IAM users who have not logged in for more than 90 days.
```

{% endcode %}

## Connecting your client

To connect your client, you'll first need to generate a Personal Access Token (PAT) to authenticate your MCP client with Sola.

### Generate a Personal Access Token

1. From your Sola workspace, go to ***Settings*** > ***Privacy and Security*** > ***Personal Tokens***.
2. Click **Generate Token**.
3. Copy your **Client ID**. IMPORTANT: It is shown only once and cannot be retrieved later.

{% hint style="info" %}
**Workspace scope**

Each token is linked to a single workspace. The MCP can only access one workspace per connection.
{% endhint %}

{% hint style="info" %}
**App permissions**&#x20;

MCP actions on an app are limited by your role on that app. For example, if you have Viewer access on an app, Execute SQL Query will fail for that app.
{% endhint %}

### Connect Your Client

{% tabs %}
{% tab title="Claude" %}
1\. From your settings, go to ***Connectors*** and click ***Add custom connector***.

2\. Add the name and server URL:

{% code overflow="wrap" %}

```
Name: Sola
Remote MCP server URL: https://api.sola.security/mcp
```

{% endcode %}

3\. Click ***Advanced settings***, add your **client ID** in the ***OAuth Client ID***, and click ***Add***.
{% endtab %}

{% tab title="Claude Code" %}
1\. Run the following command in your CLI:

{% code overflow="wrap" %}

```shellscript
claude mcp add --transport http \
    --client-id YOUR_CLIENT_ID \
    --callback-port 9876 \
    sola "https://api.sola.security/mcp"
```

{% endcode %}

2\. Start a Claude session using the `claude` command and run `/mcp` to authenticate.
{% endtab %}

{% tab title="Cursor" %}
1\. From your settings, go to ***Tools & MCPs***.

2\. Click on **New MCP Server**.

3\. Add the following to your file and save:

{% code overflow="wrap" %}

```json
{
   "mcpServers": {
     "sola": {
       "type": "http",
       "url": "https://api.sola.security/mcp"
     },
	"oauth": {
        "clientId": "YOUR_CLIENT_ID"
     }
   }
 }
```

{% endcode %}

4\. Go to ***Tools & MCPs*** and connect the **Sola MCP**.
{% endtab %}

{% tab title="Other" %}
Update the `mcp.json` file for your client with the following:

{% code overflow="wrap" %}

```json
{
   "mcpServers": {
     "sola": {
       "type": "http",
       "url": "https://api.sola.security/mcp"
     },
	"oauth": {
        "clientId": "YOUR_CLIENT_ID"
     }
   }
 }
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Using a different MCP client?** [Contact us](https://help.sola.security/support/tickets/new?ticket_form=ideas%2Ffeature_request) and our team will get you set up.
{% endhint %}

## MCP settings

Configure the Sola MCP by adding headers to your config file. [See example below](https://docs.google.com/document/d/1JnmpO-rZlkmFQRqh8n7gpMvbwzRXdkcNlfDbbori-5w/edit?tab=t.0#heading=h.rdlahxok79ir).

### Global

<table><thead><tr><th width="210.3411865234375">Settings</th><th width="441.1007080078125">Description</th><th>Default</th></tr></thead><tbody><tr><td><p>Create Resources</p><p>(<code>x-create-resources</code>)</p></td><td>When using Explore Data, controls whether Sola saves generated queries and canvases to your workspace.</td><td><p>false</p><p><br></p></td></tr></tbody></table>

### Query

<table><thead><tr><th width="208.8271484375">Settings</th><th width="247.2943115234375">Description</th><th>Default</th><th>Max</th></tr></thead><tbody><tr><td><p>Query Timeout</p><p>(<code>x-query-timeout</code>)</p></td><td>How long Sola waits before stopping a query.</td><td>300 (5 min)</td><td>600 (10 min)</td></tr><tr><td><p>Query Rows Limit</p><p>(<code>x-query-rows-limit</code>)</p></td><td>Maximum number of rows returned.</td><td>100000</td><td>100000</td></tr><tr><td><p>Query Memory Limit</p><p>(<code>x-query-memory-limit</code>)</p></td><td>Maximum size of the query response.</td><td>1048576 (1 MiB)</td><td>10,485,760 (10 MiB)</td></tr></tbody></table>

### Example config with settings applied

{% code overflow="wrap" %}

```json
{
   "mcpServers": {
     "sola": {
       "type": "http",
       "url": "https://api.sola.security/mcp"
     },
	"oauth": {
        "clientId": "YOUR_CLIENT_ID"
     },
	"headers": {
       "x-create-resources": "true"
     }
   }
 }
```

{% endcode %}


---

# 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.sola.security/getting-started/sola-ai/sola-mcp.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.
