mcpField
M
mlab.sh

mlab.sh

Remote
mlab.shSecurity2Updated 8w ago

About mlab.sh

mlab.sh is a remote threat intelligence MCP server for SOC and DFIR work. It enriches indicators, provides CVE and threat actor lookups, and scans domains, scripts, and SBOMs.

Key features

  1. 01Enrich IPs, URLs, hashes, and other IOCs
  2. 02Search and retrieve CVE details
  3. 03Look up threat actors and CVE links
  4. 04Scan domains and retrieve results
  5. 05Analyze shell scripts and SBOMs
  6. 06Track scan history and bookmarks

Use cases

  1. 01Investigate an IP or URL during incident response
  2. 02Check a CVE and identify actors exploiting it
  3. 03Review a domain’s DNS and security configuration
  4. 04Check dependencies in an SBOM for known CVEs

MCP support

The remote server exposes threat intelligence and scanning tools to MCP clients over Streamable HTTP and SSE. Clients can connect using OAuth 2.1 or a static bearer token.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mlab.sh/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://mlab.sh/mcpAuth required
SSEhttps://mlab.sh/mcp

Tools

Details

From the project 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.

https://mlab.sh/mcp
Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "mlab": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mlab.sh/mcp",
        "--header",
        "Authorization: Bearer mcp_xxx"
      ]
    }
  }
}

Drop the --header pair to use OAuth instead of a static token.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "mlab": {
      "url": "https://mlab.sh/mcp",
      "headers": {
        "Authorization": "Bearer mcp_xxx"
      }
    }
  }
}
VS Code

.vscode/mcp.json:

{
  "servers": {
    "mlab": {
      "type": "http",
      "url": "https://mlab.sh/mcp",
      "headers": {
        "Authorization": "Bearer mcp_xxx"
      }
    }
  }
}
curl
curl -sS -X POST https://mlab.sh/mcp \
  -H "Authorization: Bearer mcp_xxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

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

IOC enrichment
ToolPurpose
detect_iocAuto detect the IOC type of a value and return relevant threat intel
scan_ipThreat intel for an IPv4 or IPv6 address
scan_urlStatic analysis of a URL without visiting it
scan_hashFile hash lookup (MD5, SHA1, SHA256) in CIRCL hashlookup
scan_cryptoThreat intel for a blockchain address: labels, sanctions, risk score, 18 chains
scan_emailOffline style analysis of an email address
scan_phoneOffline style analysis of a phone number
scan_macOffline style analysis of a MAC address
smishing_riskScore an SMS for smishing
Vulnerabilities and actors
ToolPurpose
cve_searchSearch CVEs
cve_detailFull CVE record
actors_by_cveThreat actors known to exploit a CVE
search_actorsSearch threat actors
get_actorFull threat actor profile
Scanning
ToolPurpose
start_domain_scanLaunch a domain scan: DNS, subdomains, SSL, security.txt, robots.txt
get_domain_scan_resultsPoll the results of a domain scan
scan_bashStatic analysis of an inline shell script
scan_sbomScan a dependency lockfile or SBOM for known CVEs
Account
ToolPurpose
get_scan_historyPast scans for the account
get_scan_limitsCurrent quotas and remaining scans
get_account_infoAccount details
add_bookmarkBookmark an IOC
remove_bookmarkRemove a bookmarked IOC
get_bookmarksList bookmarked IOCs
hello_worldConnectivity check

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.

If your client does not speak OAuth, create a static token in Account > Settings > MCP Tokens and send it as Authorization: Bearer mcp_xxx.

Full details: https://doc.mlab.sh/docs/mlab.sh/integrations/mcp

Rate limits and quotas

Limits follow your mlab.sh account plan. Call get_scan_limits to read the quotas and remaining budget that apply to your account.

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.