
mlab.sh
sh.mlabPublished by mlab.shOfficial publisherv1.2.0Updated Nov 6, 2026
Threat intel and DFIR: IOCs, CVEs, actors, SBOMs, domain scans, cases, memory, Kubernetes, Proxmox.
Overview
Remote threat-intelligence and DFIR server that lets an assistant look up IOCs, CVEs and threat actors, scan domains and SBOMs, and query SOC cases and…
- What you can do
- Detect and enrich indicators: type an IOC, scan IPs and CIDR ranges, URLs, hashes, crypto addresses, emails, phone numbers and MAC addresses
- Scan domains for DNS, subdomains, certificates and security.txt, and statically analyse shell scripts and lockfiles or SBOMs for vulnerabilities
- Search CVEs with CVSS, EPSS and KEV data, and look up threat actors with their MITRE ATT&CK techniques
- Read and write SOC cases: list and open cases, file indicators, add comments
- Inspect monitored workspaces: memory-forensics dumps, Kubernetes clusters and Proxmox VE guests, including runtime events and YARA scans
- Check account plan, remaining quotas, scan history and bookmarks
- When to use it
- Useful for SOC analysts, incident responders and security engineers who want an assistant to triage indicators, check CVEs and package vulnerabilities, or pull context from cases and monitored infrastructure without switching tools. Less relevant if you only need general web search or code help.
- Requirements
- Remote Streamable HTTP endpoint at mlab.sh/mcp; no local package. OAuth 2.1 is the recommended sign-in and needs no token; otherwise a static MCP token created in account settings is sent as the Authorization bearer header. A paid plan is needed for cases and workspaces, and quotas apply per organization.
Installation
In SourceWeft
- Open mlab.sh in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/sh.mlab%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"mlab-sh": {
"type": "http",
"url": "https://mlab.sh/mcp"
}
}
}README
mlab.sh MCP server
Public metadata and connection guide for the remote MCP server at https://mlab.sh/mcp, a threat intelligence server for SOC and DFIR work.
This repo is the registry listing and the documentation. It is not the server source: the server runs inside the mlab.sh backend and is closed source.
Connect
Endpoint: https://mlab.sh/mcp (Streamable HTTP via POST, SSE via GET).
Claude.ai
Settings > Connectors > Add custom connector, then paste the URL. OAuth runs in the browser, no token to copy.
Claude Desktop
claude_desktop_config.json:
Drop the --header pair to use OAuth instead of a static token.
Cursor
~/.cursor/mcp.json:
VS Code
.vscode/mcp.json:
curl
Ready to paste versions of these four configs live in examples/.
Officially supported clients are Claude.ai and Claude Desktop. Other MCP clients (Cursor, VS Code, Windsurf and friends) work but are best effort.
Tools
48 tools. tools/list only shows a token the tools its role and plan can use, so a client never sees a tool that would refuse every call. Every tool carries MCP annotations (read only, destructive, idempotent, open world), so a host can tell what it may run unattended. No tool deletes anything.
Parameters marked ? are optional.
Who can use what
Quotas are counted per organization over a rolling 24 hour window. get_scan_limits reads what is left.
IOC lookups
Domain scans and code
CVEs and threat actors
Cases
Team and Enterprise. Each call goes through the same checks as the case pages.
Workspaces
Team and Enterprise, and only in a workspace whose admin turned on AI agents (MCP): a workspace keeps its data on the organization's own hosts, and an answer goes to the LLM provider of whoever asked. workspace_list says which workspaces are open. Every tool except workspace_list takes workspace (the uuid from workspace_list). Each call is written to the workspace's audit log.
The tools read, and can start an index or a YARA scan. Creating, deleting, enrolling, members, policies, pushing a cluster config and binary downloads stay in the app. Answers carry data sent by the hosts, which may contain text planted by an attacker: the server says so before every answer.
Agents and memory forensics (engram)
Kubernetes clusters (k3sec)
Proxmox VE (virtsec)
Account, bookmarks and history
Authentication
OAuth 2.1 is the recommended path: authorization code with PKCE S256, dynamic client registration, CIMD supported. The server advertises its metadata at https://mlab.sh/.well-known/oauth-authorization-server, so a compliant client only needs the endpoint URL. A token issued this way is listed in Account > Settings as OAuth: <client name>; reconnecting the same client replaces its previous token instead of piling up new ones.
If your client does not speak OAuth, create a static token in Account > Settings > MCP Tokens and send it as Authorization: Bearer mcp_xxx. At creation you pick its lifetime: 30, 90 or 365 days, or never. A token can be renamed and revoked at any time from the same page.
MCP tokens are personal: they act as you, with your role in the organization. Organization API key permissions do not apply to them. Up to 5 active tokens, 100 on Team and Enterprise.
Full details: https://doc.mlab.sh/docs/mlab.sh/integrations/mcp
Rate limits and quotas
Limits follow your organization's plan and are counted over a rolling 24 hour window, shared by every member. A spent quota returns an error that says which one and when it frees up. Call get_scan_limits to read what is left.
Registry
Published to the official MCP Registry as sh.mlab/mcp.
https://registry.modelcontextprotocol.io/v0.1/servers?search=sh.mlab
Other public servers
https://news.mlab.sh/mcp is a separate, unauthenticated, read only MCP server exposing a cyber news index. It is not published from this repo.
Security
Report vulnerabilities to [email protected]. See https://mlab.sh/security.txt and SECURITY.md.
License
MIT, see LICENSE.
Source: README.md at commit 42d416c
Tools
0Version history
2- v1.2.0LatestNov 6, 2026
- v1.0.0Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts