> For the complete documentation index, see [llms.txt](https://docs.sola.security/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sola.security/getting-started/sola-ai/sola-mcp.md).

# Sola MCP

Bring your full security environment into any AI assistant

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.

Query your security data from any AI 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&amp;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&amp;token=47e4f06e-ce5b-47c7-877d-e84b69ee1285" alt="Sola MCP"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Sola MCP is available in Claude's official connector directory.**

From your Claude settings, go to Customize > Connectors and search for Sola to connect directly, no manual setup required.
{% endhint %}

## **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**

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

The agent and skill tools can create, update, and delete [Sola Agents](/workspace/agents.md) and custom skills, and run agents. A running agent can send emails when Email is enabled for the agent, and send Slack messages or create Jira issues when Slack or Jira is enabled for the agent and connected to the project.

## Available tools

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

<table><thead><tr><th width="274.584228515625">Tool</th><th>Description</th></tr></thead><tbody><tr><td><strong>List Projects</strong><br>(<code>list_projects</code>)</td><td><p>List all projects in your workspace with their IDs and names.</p><p>Returns project IDs, names, and direct links.</p><p>Use <code>get_project_details</code> for full information, or <code>explore_data</code> to query an project's data directly with natural language.</p></td></tr><tr><td><strong>Get Project Details</strong><br>(<code>get_project_details</code>)</td><td><p>Return full details about a project, 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 Project Queries</strong><br>(<code>get_project_queries_tool</code>)</td><td><p>Retrieve saved SQL queries for a specific project.</p><p>Returns query names, descriptions, SQL, referenced tables, and whether they use cross_revisions (historical view).</p><p>Use <code>list_projects</code> first to find the <code>project_id</code>.</p></td></tr><tr><td><strong>Get Vendor Tables</strong><br>(<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><br>(<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><br>(<code>execute_sql</code>)</td><td><p>Run read-only SQL queries directly against your project 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><br>(<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><tr><td><p></p><p><strong>Get Data Exploration Status</strong><br>(<code>get_data_exploration_status</code>)</p></td><td>Check the progress of a background <code>explore_data</code> job and return its final answer once complete. Use this to poll for results after calling <code>explore_data</code>.</td></tr><tr><td><strong>List Risk Clusters</strong><br>(<code>list_risk_clusters_tool</code>)</td><td>List <a href="/workspace/signals.md">Signals</a> in your workspace, with options to filter by severity and score. Use <code>get_risk_cluster_detail</code> for full details on a specific signal.</td></tr><tr><td><strong>Get Risk Cluster Detail</strong><br>(<code>get_risk_cluster_detail</code>)</td><td>Return full details about a specific Signal, including its business context, blast radius, and recommended actions.</td></tr><tr><td><strong>List Agents</strong><br>(<code>list_agents</code>)</td><td><p>List the <a href="/workspace/agents.md">Sola Agents</a> in your workspace.</p><p>Returns agent names, descriptions, and whether each agent is enabled.</p><p>Use the exact agent name with <code>run_agent</code>. Disabled agents must be enabled before they can run, either in the Sola UI or with <code>update_agent</code>. Use <code>get_agent</code> for instructions, tools, and skills.</p></td></tr><tr><td><strong>Get Agent</strong><br>(<code>get_agent</code>)</td><td><p>Return full details about a Sola Agent, including instructions, optional tools, and attached skills.</p><p>Tools that need a connector, such as Slack or Jira, only work in runs where the project has that connector.</p></td></tr><tr><td><strong>Create Agent</strong><br>(<code>create_agent</code>)</td><td><p>Create a custom Sola Agent with a name, description, and instructions, and optional category.</p><p>Optionally allow additional tools and attach skills. The agent is enabled right away and can be run with <code>run_agent</code>.</p></td></tr><tr><td><strong>Update Agent</strong><br>(<code>update_agent</code>)</td><td><p>Change an agent's name, description, instructions, category, tools, or skills, or enable or disable the agent.</p><p>Only the fields provided change. Tool and skill lists replace the current lists, so use <code>get_agent</code> first to keep existing entries.</p></td></tr><tr><td><strong>Delete Agent</strong><br>(<code>delete_agent</code>)</td><td><p>Permanently delete a Sola Agent. This cannot be undone.</p><p>To stop an agent from running without deleting it, use <code>update_agent</code> to disable it.</p></td></tr><tr><td><strong>Run Agent</strong><br>(<code>run_agent</code>)</td><td><p>Start a run of an existing Sola Agent with a task prompt.</p><p></p><p>The agent works in the background. Runs can take 20 minutes or more, and each run uses AI workflow credits.</p><p></p><p>The agent can send emails when Email is enabled for the agent.</p><p></p><p>Use <code>get_agent_run_events</code> to follow the run. Optionally specify a project by name or ID. Sola selects the project automatically only when the workspace has one project. The response warns if an enabled tool cannot be used because the project lacks the required connector. </p></td></tr><tr><td><strong>Get Agent Run Events</strong><br>(<code>get_agent_run_events</code>)</td><td><p>Follow the progress of an agent run, returning only new events on each call. When the run finishes, the result includes the final answer and any artifacts.</p><p>Use this after <code>run_agent</code> or <code>send_agent_message</code>.</p></td></tr><tr><td><strong>Get Agent Run Artifact</strong><br>(<code>get_agent_run_artifact</code>)</td><td><p>Read the content of a file produced by an agent run.</p><p>Large files are returned in parts of up to 50 KB.</p></td></tr><tr><td><strong>Send Agent Message</strong><br>(<code>send_agent_message</code>)</td><td><p>Send a follow-up message to an existing agent run, for example to answer a question from the agent or to refine its work.</p><p>Available once the current turn of the run is complete.</p></td></tr><tr><td><strong>Cancel Agent Run</strong><br>(<code>cancel_agent_run</code>)</td><td><p>Stop an agent run that is in progress.</p><p>A cancelled run can still receive a follow-up message with <code>send_agent_message</code>.</p></td></tr><tr><td><strong>List Skills</strong><br>(<code>list_skills</code>)</td><td><p>List the <a href="/workspace/skills.md">skills</a> installed in your workspace, with IDs, names, descriptions, enabled status, and type (<code>custom</code> or <code>sola</code>).</p><p>A skill is a set of instructions that agents apply while they work. Skills cannot be run on their own. Attach a skill to an agent to use it.</p></td></tr><tr><td><strong>Get Skill</strong><br>(<code>get_skill</code>)</td><td>Return the instructions, enabled status, and type of a skill, along with the agents that have the skill attached.</td></tr><tr><td><strong>Create Skill</strong><br>(<code>create_skill</code>)</td><td><p>Create a custom skill with a name, description, and instructions.</p><p>Attach the skill to an agent with <code>create_agent</code> or <code>update_agent</code> to use it.</p></td></tr><tr><td><strong>Update Skill</strong><br>(<code>update_skill</code>)</td><td><p>Change a custom skill's name, description, or instructions, or enable or disable the skill.</p><p>Sola library skills support only enabling and disabling.</p></td></tr><tr><td><strong>Delete Skill</strong><br>(<code>delete_skill</code>)</td><td><p>Permanently delete a custom skill. This cannot be undone.</p><p>Fails while agents still use the skill. Detach it from those agents first. Sola library skills cannot be deleted, only disabled.</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, follow the steps below for your tool. When you connect, you'll be prompted to log in to Sola, or create a new account if you don't have one yet.

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

Each connection is scoped to a single workspace. The MCP can only access one workspace at a time.
{% endhint %}

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

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

### Connect Your Client

{% tabs %}
{% tab title="Claude" %}
From your Claude settings, go to ***Connectors*** and search ***Sola Security***.
{% endtab %}

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

{% code overflow="wrap" %}

```shellscript
claude mcp add --transport http \
    --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"
     }
   }
 }
```

{% 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"
     }
   }
 }
```

{% 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](#example-config-with-settings-applied).

### 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"
     },
	"headers": {
       "x-create-resources": "true"
     }
   }
 }
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sola.security/getting-started/sola-ai/sola-mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
