Malwarebytes MCP server for AI agents

Live

OAUTH 2.0

ENDPOINT SECURITY

Monitoring

Malwarebytes gives your agent endpoint security operations in your Nebula account: search endpoints, detections, and vulnerabilities, review quarantine and suspicious activity, issue scan and isolate jobs, and manage groups, policies, and exclusions.

  • Service account credentials: one Malwarebytes service account per connection, never exposed to the agent.
  • Encrypted per-tenant vault: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: pre-call scope check, 90-day SIEM-exportable audit chain.
Malwarebytes
agent · Acme Q3
Run
Which endpoints had malware detections in the last 24 hours?
S
malwarebytes_detection_search
163ms
Security agent
6 endpoints had detections in the last 24 hours. FIN-LAPTOP-12 has 3, all quarantined.
Sources: 9 detections
malwarebytes
9 detections
18:29
Message Claude...

Tools your security agent reaches for on Malwarebytes, scoped to your Nebula account.

CALL ANY TOOL
74 tools for endpoint security in Malwarebytes: search endpoints and detections, review quarantine and CVEs, issue jobs, and manage groups, policies, and exclusions.
malwarebytes_account_get
Get account
Get the Nebula account details for the account ID supplied. Returns license_key, id, name, options, account_token, client_id and more fields. Use to confirm the account ID and credentials work, or to find the default policy and group IDs.
Parameters
Name
Type
Required
Description
accountid
string
Required
Your Nebula account ID (a UUID). Find it in the Nebula console URL, the string after the domain. Sent as the accountid header on every call. Example: 9256034b-7967-4253-a5d9-260663e4fa4f.
malwarebytes_app_block_rule_search
Search app block rule
malwarebytes_cve_bulk_get
Get cve bulk
malwarebytes_cve_search
Search cve
malwarebytes_endpoint_agent_info_get
Get endpoint agent info
malwarebytes_endpoint_delete
Delete endpoint
malwarebytes_endpoint_get
Get endpoint
malwarebytes_endpoint_quarantine_list
List endpoint quarantine
malwarebytes_endpoint_scans_list
List endpoint scans
malwarebytes_endpoint_search
Search endpoint
malwarebytes_endpoint_status_get
Get endpoint status
malwarebytes_endpoint_tags_set
Set endpoint tags
malwarebytes_exclusion_create
Create exclusion
malwarebytes_exclusion_list
List exclusion
malwarebytes_exclusion_update
Update exclusion
malwarebytes_group_delete
Delete group
malwarebytes_group_endpoints_assign
Assign group endpoints
malwarebytes_installation_token_create
Create installation token
malwarebytes_installation_token_list
List installation token
malwarebytes_job_get
Get job
malwarebytes_job_issue
Issue job
malwarebytes_job_search
Search job
malwarebytes_jobs_cancel_pending
Jobs cancel pending
malwarebytes_policy_clone
Clone policy
malwarebytes_policy_get
Get policy
malwarebytes_policy_list
List policy
malwarebytes_quarantine_search
Search quarantine
malwarebytes_report_generate
Generate report
malwarebytes_report_list
List report
malwarebytes_schedule_get
Get schedule

For more tools, view docs.

Build your Agent
Same auth pattern across LangChain, OpenAI, Anthropic, and Google ADK.
Python · LlamaIndex
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

// Malwarebytes tools available to this agent
const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["malwarebytes"], toolNames: [
    "malwarebytes_detection_search",
    "malwarebytes_endpoint_get",
    "malwarebytes_job_issue"] },
  pageSize: 100,
});

const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Find endpoints with detections today and run a threat scan on them" }] });
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["malwarebytes"] }, pageSize: 100,
});

const res = await openai.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "Find endpoints with detections today and run a threat scan on them" }],
  tools,
});

// Execute the tool call with the vaulted Malwarebytes service account credentials
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["malwarebytes"] }, pageSize: 100,
});

const msg = await anthropic.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Find endpoints with detections today and run a threat scan on them" }],
  tools,
});

// Tool call runs with the vaulted Malwarebytes service account credentials
await sk.tools.executeTool(msg.content, "user_123");
import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["malwarebytes"] }, pageSize: 100,
});

const agent = new Agent({
  name: "security_agent",
  model: "gemini-2.5-pro",
  instruction: "Malwarebytes tools available to this agent",
  tools,
});

await agent.run("Find endpoints with detections today and run a threat scan on them");
Try these prompts
Copy any prompt into your agent. Each maps directly to a Malwarebytes tool. Click to copy, paste into your agent, done.
Threats
Copy the prompt
Copied
Which endpoints had detections in the last 24 hours?
Copy the prompt
Copied
List quarantined items on FIN-LAPTOP-12.
Copy the prompt
Copied
Show suspicious activity across the account this week.
Response
Copy the prompt
Copied
Run a threat scan on every endpoint in the Finance group.
Copy the prompt
Copied
Isolate FIN-LAPTOP-12 from the network.
Copy the prompt
Copied
Set XDR alert 4821 to resolved.
Posture
Copy the prompt
Copied
Which CVEs on our endpoints are CISA known exploited?
Copy the prompt
Copied
List OS patches available for our Windows endpoints.
Copy the prompt
Copied
Clone the Default policy as Finance Strict.
SEE HOW AUTH WORKS
You connect Malwarebytes once with a service account, and Scalekit authenticates every call. Credentials stay vaulted, every call is scope checked, and every action is logged.
1
Authorize
Your user connects
Malwarebytes
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Malwarebytes
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Malwarebytes
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Malwarebytes
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same vaulted auth pattern across other monitoring connectors.
Engineering Teams
DevOps assistant agent
Polls GitHub for failing checks and stale PRs, opens Linear issues for the ones that need work, and posts a daily digest to Slack. It acts as the engineer, not a shared service account.
Test other agents
See the same vaulted auth pattern across other monitoring connectors.
ENGINEERING
DevOps assistant agent
Poll GitHub for failing checks and stale pull requests, open Linear issues for the ones that need work, and digest to Slack.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
A service account still needs an audit trail
A Malwarebytes service account acts for the whole Nebula account, so Malwarebytes alone cannot tell which of your users asked the agent to isolate an endpoint. Scalekit logs every tool call with the user and tenant that triggered it, while the service account credentials stay in the vault.
// service account only
audit → svc_account

// scalekit
audit → svc_account + user_abc ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Malwarebytes today. Ten connectors tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent use a Malwarebytes service account?
Yes. You connect Malwarebytes once with a service account, and Scalekit authenticates every call. Malwarebytes sees every action as that service account, not as an individual user, and each call also carries your Nebula account ID as the accountid header. Scalekit records which of your users triggered each call.
Where are the Malwarebytes service account credentials stored?
In Scalekit's managed AES-256 token vault, namespaced per tenant. Revocation is a single dashboard action. Credentials never appear in prompts, logs, or LLM context.
Can I limit what the agent does in Malwarebytes?
Yes. Filter by tool name in listScopedTools to expose only what you want, for example the search and report tools without malwarebytes_job_issue, which can scan, reboot, or isolate endpoints, or malwarebytes_endpoint_delete, which unregisters an endpoint. Scalekit also enforces scope checks before every API call.
What happens when the Malwarebytes connection is revoked?
The connection is invalidated on the next tool call. Subsequent requests fail closed with a clear error. Other connections in the tenant remain unaffected. The event is logged for audit.
Which Malwarebytes product does this connector cover?
Malwarebytes Nebula. Tools search endpoints, detections, quarantine, CVEs, OS patches, DNS logs, and XDR alerts, and manage groups, policies, exclusions, schedules, and jobs. malwarebytes_account_get confirms the Nebula account ID and returns its default policy and group.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""malwarebytes"": {
""url"": ""https://mcp.scalekit.com/malwarebytes"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.malwarebytes]
url = ""https://mcp.scalekit.com/malwarebytes""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""malwarebytes"": {
""url"": ""https://mcp.scalekit.com/malwarebytes"",
""type"": ""http""
}
}
}