Skip to main content
Glama
offensive360

Offensive360 MCP Server

Official
by offensive360

Offensive360 MCP Server

Run Offensive360 SAST scans from inside your AI assistant. This Model Context Protocol server gives Claude Code, Claude Desktop, Cursor, and any other MCP client two tools:

Tool

What it does

o360_scan_path

Zips a local directory, runs a full SAST scan (60+ languages, taint/data-flow analysis), returns findings with file/line, severity, and fixes

o360_scan_status

Queue position of a running scan

Ask your assistant things like "scan this project with Offensive360 and fix the criticals" — it scans, reads the findings, and starts patching.

Setup

You need an Offensive360 External scan token:

Claude Code

claude mcp add offensive360 \
  -e O360_URL=https://sast.offensive360.com \
  -e O360_TOKEN=<your-token> \
  -- npx -y o360-mcp

Claude Desktop / Cursor (JSON)

{
  "mcpServers": {
    "offensive360": {
      "command": "npx",
      "args": ["-y", "o360-mcp"],
      "env": {
        "O360_URL": "https://sast.offensive360.com",
        "O360_TOKEN": "<your-token>"
      }
    }
  }
}

O360_URL can point at your own on-premise or air-gapped instance — the server talks only to the instance you configure.

Related MCP server: Security-Use MCP Server

Notes

  • Scans are synchronous; typical duration is 1–5 minutes depending on codebase size. The default client timeout is 900s (timeout_seconds parameter to override).

  • Common junk directories (node_modules, .git, dist, …) are excluded from the upload automatically; add more via the exclude parameter.

  • Findings are also visible in your Offensive360 dashboard with full data-flow traces.

  • Requires Node 18+.

About Offensive360

One platform for SAST, DAST, MAST, SCA, malware & binary analysis, and license compliance — flat pricing, cloud or fully air-gapped on-premise. offensive360.com · Book a demo

Available Tools

2 tools
o360_scan_pathA

Run an Offensive360 SAST scan on a local directory (60+ languages, taint/data-flow analysis). Uploads the directory as a zip, waits for the scan, and returns the findings with file/line, severity, and remediation guidance. Typical duration: 1–5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path of the directory to scan
excludeNoExtra directory names to exclude from the upload
project_nameNoProject name in the Offensive360 dashboard (default: directory name)
timeout_secondsNoMax seconds to wait (default 900)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral transparency burden. It discloses the upload, waiting, and returning of findings, plus typical duration, which gives a good sense of the operation. It does not mention potential side effects like data being sent to Offensive360 cloud or what happens on timeout, but the main behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the primary action, and each sentence adds value: what it does, how it works, and expected duration. There is no redundancy or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, process, output format, and timing, which is sufficient for a scanning tool. Given the schema fully documents parameters and the description explains the workflow, it is quite complete. It could optionally mention the sibling tool for status checks, but that's not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters are already described in the schema (path, exclude, project_name, timeout_seconds), so the description doesn't need to add much. The description itself does not elaborate on parameter formats or default behavior beyond what the schema provides, so it meets the baseline without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs an Offensive360 SAST scan on a local directory, listing capabilities (60+ languages, taint/data-flow analysis) and expected output (findings with file/line, severity, remediation). It distinguishes from sibling o360_scan_status by describing the scan-trigger behavior rather than status checking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context on what the tool does (uploads zip, waits, returns findings) and typical duration, which implies it's for running a full scan. However, it does not explicitly mention when to use this tool versus o360_scan_status, nor any prerequisites or exclusions for using this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

o360_scan_statusA

Check the queue position of an Offensive360 scan started with o360_scan_path. Returns 0 when the scan is actively processing, a positive number for its queue position, and -1 when no scan is queued or running under that name (finished or unknown).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesThe project name used when the scan was started

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing the exact return contract (0, positive number, -1) and what -1 represents (finished or unknown). While it doesn't mention error cases or side effects, the read-only nature of a status check is implied and the key behaviors are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core action, and contains zero redundant information. Every word contributes to understanding the tool's function and behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter status tool with no output schema, the description is fully complete: it defines the input, the workflow context, and the exact meaning of all possible return values. There are no gaps in what the agent needs to invoke and interpret this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes project_name, but the description adds that it is the name 'used when the scan was started' via o360_scan_path, linking the parameter to its origin and adding practical context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check'), resource ('queue position of an Offensive360 scan'), and scope, and it explicitly references the sibling tool o360_scan_path, distinguishing this as the status-check follow-up. It also clearly explains the meaning of return values, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides usage by stating scans are 'started with o360_scan_path', indicating this tool should be used afterward to check status. It does not explicitly state exclusions or alternatives, but for a single-sibling workflow the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.1
    • First observedo360_scan_path
    • First observedo360_scan_status

TDQS

A3.9/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one initiates a scan and another checks its queue status. There is no overlap or ambiguity in their functions.

Naming Consistency5/5

Both tools follow the same 'o360_scan_' prefix followed by a noun, creating a consistent and predictable naming pattern.

Tool Count3/5

With only two tools, the set feels thin. The scope is narrowly focused on scanning and status, but the count is at the borderline of being too minimal.

Completeness2/5

The set covers initiating a scan and checking status, but lacks operations like retrieving results for finished scans, cancelling scans, or listing past scans. This creates a significant gap for users who need to manage scans over time.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables security scanning of code projects to identify common vulnerabilities like XSS, injections, SSRF, and path traversal issues. Provides local, offline scanning with severity-grouped results and actionable fix suggestions for improving code security.
    38
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides AI coding assistants with real-time security scanning superpowers, including SAST, secrets detection, dependency CVE scanning, and web vulnerability assessment.
    27
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/offensive360/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server