Skip to main content

Levo MCP Server

The Levo MCP server lets an AI assistant work with your Levo data. It uses the Model Context Protocol (MCP), so any client that supports remote MCP servers can connect: Claude, ChatGPT, Cursor, VS Code, OpenAI Codex, Gemini CLI, Grok and others.

Once connected, you can ask the assistant things like:

  • "Which applications in production have unauthenticated endpoints that return PII?"
  • "Summarize the critical vulnerabilities found in last night's test run and suggest fixes."
  • "Explain why this DAST scan found nothing."
  • "Mark vulnerability 1234 as a false positive and add a comment saying why."
  • "Run the BOLA tests against the payments application in staging."

The assistant reads and changes data as you: it can see and do only what your Levo account can.

Prerequisites​

  • A Levo account. You sign in with the same login you use for the Levo app (email and password, Google, Microsoft, GitHub or your company SSO). The MCP server does not create accounts. If you do not have one yet, ask your Levo administrator to invite you or contact support@levo.ai.
  • An MCP client that supports remote (HTTP) servers. Every client on this page does.

Server URL​

The MCP server URL for the Levo app at app.levo.ai is:

https://mcp.levo.ai/mcp

The URLs and snippets on this page are for that region. If you log in to the Levo app in a different region, read these docs on that region's docs site so they show its URL, or copy the URL from the Levo MCP Server page in the Levo app.

Belong to more than one organization?

Add your organization ID to the URL, for example https://mcp.levo.ai/mcp?org=<organization id>. See Multiple organizations.

Connect your AI assistant​

You only need the URL. The first time the client connects, it opens a browser window where you sign in to Levo. See How sign-in works.

The Levo MCP Server page in the Levo app (Administration → Levo MCP Server) shows the same instructions with your region's URL and organization ID already filled in.

claude.ai and Claude Desktop​

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Enter a name (Levo) and the URL https://mcp.levo.ai/mcp, then click Add.
  4. Click Connect and sign in to Levo in the browser window that opens.
  5. In a chat, open the tools menu and make sure Levo is turned on.

On Team and Enterprise plans, an owner may need to add the connector for the organization first.

Claude Code​

Install the Levo plugin. It adds the MCP server together with Levo's levo skill and the /levo-triage, /levo-scan-status and /levo-run-scan commands:

claude plugin marketplace add levoai/levo-ai-plugins
claude plugin install levo@levo # India: levo-india@levo

Or add only the MCP server:

claude mcp add --transport http levo https://mcp.levo.ai/mcp

Then start claude, run /mcp, select levo and choose Authenticate to sign in.

How sign-in works​

The Levo MCP server uses standard MCP authorization, which is based on OAuth 2.1:

  1. Your client connects to the MCP server URL. The server answers that sign-in is required and tells the client where Levo's sign-in service (auth.levo.ai) is.
  2. The client opens a browser window with the normal Levo login page. Sign in the way you always do: email and password, Google, Microsoft, GitHub or your company SSO.
  3. Levo hands the client an access token for your account. The client sends it with every request and renews it on its own, so you normally sign in once per client.

You never copy a password or token into the client. To disconnect, remove the server or connector in the client.

Multiple organizations​

If your Levo account belongs to one organization, the server uses it.

If it belongs to several, the server cannot guess which one you mean, and it rejects requests with an error that lists your organizations and their IDs. Add the one you want to the URL:

https://mcp.levo.ai/mcp?org=<organization id>

The Levo MCP Server page in the Levo app shows the URL with your current organization's ID. You can also find your organization ID in your user settings. To work with two organizations, add the server twice under different names (for example levo-acme and levo-acme-eu), each with its own ?org=.

Tools​

The assistant decides which tools to call from your request. The tools fall into three groups.

Read tools​

These only read data.

AreaTools
Applications and endpointsListApplications, GetApplicationsLite, GetApplicationById, ListEndpoints, GetApiEndpoints, GetApiEndpointsLite, GetApiEndpointsSlim, GetEndpoint, GetEndpointById, GetSpecVersions, GetEndpointSpecVersionFiles, GetAllEnvironments, GetDefaultWorkspace
Auth analysisAuditAuthSchemes, AuditEndpointInventory, GetAllAuthCombos
VulnerabilitiesGetVulnerabilities, GetVulnerabilityDetails, GetVulnerabilityComments, GetTestCaseAttachment
TrafficGetTracesForEndpoint, GetTracesByIds, GetFindingTraceIds
Test runsGetTestRuns, GetTestRunDetails, GetTestSuiteRuns, GetTestCaseRuns, TestRunStatus, GetEndpointsTestRunCategories, CustomTestResults, GetCustomTestCode
DAST scansListWebAppScans, GetWebAppScanDetails, GetScanStats, GetScanFindings, GetScanLogs
Custom test authoringGetAuthoringContext, ScaffoldTestBundle, ValidateTestBundle (these build and check a test without saving it)
SkillsListSkills, GetSkill
Schemaintrospect, search, validate

Write tools​

These change data in Levo.

ToolWhat it changes
UpdateVulnerabilityStatusSets a vulnerability's status (for example Ignored as a false positive, or Closed) with an optional note.
AddVulnerabilityCommentAdds or edits a comment on a vulnerability.
CreateCustomTestPlan, UpdateCustomTestPlanSaves a custom test as a test plan, or replaces its code.
ApproveTestPlanApproves a custom test plan so it can run.
UpsertAuthCombos, AssignAuthComboToEndpointCreates or updates auth combos and attaches them to endpoints.
MarkEndpointAuthOptionalMarks endpoints as optionally authenticated.
RefreshEndpointAuthSchemesAsks your Satellite to re-detect endpoints' auth schemes from stored traffic.
executeRuns a GraphQL operation the assistant writes itself. It can read or change anything your account is allowed to.

Tools that launch scans​

ToolWhat it does
RunTestsFromCatalogStarts a security test run against endpoints in your API catalog.
RunTestPlanRuns an approved custom test plan.
These tools send real attack traffic

RunTestsFromCatalog and RunTestPlan launch active security tests against the target URL and environment you name. Run them only against systems you are allowed to test, and check the target before you approve the call.

Staying in control of writes​

The Levo MCP server does not ask for confirmation itself: when a tool is called, it runs with your permissions. Approval happens in your client. Claude, ChatGPT, Cursor, VS Code, Codex and Gemini CLI all show each tool call and ask you to approve it unless you have chosen to allow it automatically.

  • Keep approval on for write tools, execute and the scan tools. Allow read tools automatically if you like.
  • The Levo plugins add a skill that tells the assistant to show you the exact change, or a scan's target and scope, and wait for your go-ahead before calling a write or scan tool.
  • Read the arguments before approving, especially the environment, target URL and vulnerability IDs.
  • Your Levo role still applies. A tool call fails if your account is not allowed to do the same thing in the Levo app.

Skills​

Skills are Levo's packaged instructions for multi-step work, such as triaging a test run's findings or writing a custom test. ListSkills returns the skills your organization is entitled to, and GetSkill loads one. The assistant uses them when your request matches. Which skills you see depends on your Levo plan; contact support@levo.ai to turn on more.

The Levo plugins also add /levo-triage, /levo-scan-status and /levo-run-scan commands in Claude Code, Cursor and Gemini CLI.

Data handling and privacy​

  • Your permissions, your data. Every request runs as your Levo user, in your organization, with your role. The server cannot reach data your account cannot.
  • Data goes to your AI provider. What a tool returns, such as endpoint details, vulnerabilities, or captured request and response samples, is sent to the AI client you connected, and from there to its model provider. Their terms apply to it. Captured traffic can contain sensitive values, so connect only clients your company allows for this data.
  • What the Levo MCP server keeps. It does not keep the data tools return or your conversations. To serve requests, it holds a short-lived Levo access token and your organization and workspace IDs in memory only, keyed by a one-way hash of your credential, until the token expires (about an hour). Nothing is written to disk, and tokens are never logged.
  • What the client keeps. Your MCP client stores the sign-in tokens Levo issued it, so it can reconnect. Remove the server or connector from the client to sign it out.

Read Levo's privacy policy for more.

Troubleshooting​

ErrorCauseFix
401 UnauthorizedYou have not signed in yet, or your sign-in expired or was revoked.Sign in again: Claude Code /mcp → levo → Authenticate; Codex codex mcp login levo; Gemini CLI /mcp auth levo; elsewhere disconnect and reconnect the server.
400 that lists several organizationsYour account belongs to more than one organization and the URL does not say which.Add ?org=<organization id> to the URL. See Multiple organizations.
403 "does not belong to any Levo organization"You signed in with an identity that has no Levo account, or has not accepted its invitation yet.Sign in with the account you use for the Levo app, or ask your administrator to invite you.
403 "is not one this account belongs to"The ?org= value is wrong or you were removed from that organization.Check the ID in your user settings.
503 "already handling … concurrent streams"The server is busy.Retry after a moment.
Tools are listed but some calls fail with a permission errorYour Levo role does not allow that action.Ask your administrator for the role, or do it in the Levo app with an account that has it.
ListSkills returns nothingYour organization is not entitled to skills.Contact support@levo.ai.
The client never opens a sign-in windowThe client does not support MCP authorization.Update the client, or use a refresh token.

Use a refresh token instead​

For clients that cannot sign in through a browser, such as CI jobs, scripts or older clients, send your Levo refresh token in a header instead:

  1. In the Levo app, open Administration → Levo MCP Server and expand Use a refresh token instead. The snippets there contain your token and organization ID. You can also generate a CLI authorization key.
  2. Configure your client to send these headers to https://mcp.levo.ai/mcp:
x-levo-auth-key: <your Levo refresh token>
x-levo-organization-id: <organization id>

For example, in Claude Code:

claude mcp add --transport http levo https://mcp.levo.ai/mcp \
--header "x-levo-auth-key: <your Levo refresh token>" \
--header "x-levo-organization-id: <organization id>"

x-levo-organization-id is needed only if you belong to more than one organization.

Treat the token like a password

The token is long-lived and acts as you. Do not commit it to a repository, paste it into a chat, or share it in screenshots. If it leaks, contact support@levo.ai to revoke it.

Need help?​

Contact support@levo.ai.

Was this page helpful?