asm-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@asm-mcp-server Scan example.com with Shodan and summarize hosts, open ports, and CVE candidates with evidence."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
asm-mcp-server
A local server for using asm-agent from an MCP client. A connected LLM can collect public information, reference saved results, and verify evidence as MCP tools.
This server itself does not call the LLM API. For conversation and summarization, it uses the model on the MCP client side.
Requirements
Python 3.12 or later
A separately set up
asm-agentAn LLM client that supports MCP
Related MCP server: Multi-Agent Deep Researcher MCP
Setup
Place asm-agent and asm-mcp-server in separate folders and prepare their dependencies respectively.
cd /absolute/path/to/asm-agent
uv sync
cd /absolute/path/to/asm-mcp-server
uv syncWhen using Shodan, save the API key on the asm-agent side.
cd /absolute/path/to/asm-agent
uv run asm-agent credentials set-shodanRegister with the MCP client
Add the following to the MCP client configuration. Specify everything with absolute paths.
{
"mcpServers": {
"passive-attack-surface": {
"command": "/absolute/path/to/uv",
"args": [
"--directory",
"/absolute/path/to/asm-mcp-server",
"run",
"asm-mcp-server"
],
"env": {
"ASM_AGENT_EXECUTABLE": "/absolute/path/to/asm-agent/.venv/bin/asm-agent",
"ASM_MCP_REPORT_DIR": "/absolute/path/to/asm-mcp-server/reports"
}
}
}
}After registration, restart or reconnect the MCP client.
On Windows, specify the absolute path of uv.exe in command, and specify ASM_AGENT_EXECUTABLE in the following format.
C:\absolute\path\to\asm-agent\.venv\Scripts\asm-agent.exeConversation example
example.comをShodanありで調査して、見つかったホスト名、IPアドレス、公開ポート、CVE候補を根拠付きでまとめて。Available tools
Tool | Description |
| Collects and saves public information about a domain |
| Returns a list of saved reports |
| Returns collection counts, warnings, and errors |
| Returns hostnames, IP addresses, and public services |
| Returns information sources and observation timestamps |
| Returns Shodan CVE candidates, products, and versions |
Tools that return lists support pagination with offset and limit.
Configuration
Environment variable | Default value | Description |
|
| Absolute path of the |
|
| Report save destination |
|
| Maximum seconds to wait for a single investigation |
Shodan CVEs are candidates based on past observations and do not prove that a system is currently vulnerable.
Development
uv run ruff check .
uv run mypy src
uv run pytestLicense
Available Tools
6 toolsget_evidenceBRead-only
根拠を返す。asset指定時はsubjectまたはobjectが完全一致する根拠だけに絞る。
Inputs: report_id (required), asset, limit, offset. Returns: total, offset, evidence, has_more, +3 more
get_report_summaryBRead-only
レポートの対象、収集時刻、件数、一部取得、エラー、警告を返す。
Inputs: report_id (required). Returns: domain, partial, warnings, report_id, +5 more
list_assetsARead-only
保存済みレポートのドメイン、ホスト名、IP、サービス、証明書をページ単位で返す。
Inputs: report_id (required), limit, offset, asset_type. Returns: total, assets, offset, has_more, +2 more
list_reportsARead-only
MCP経由で作成済みのレポートを新しい順に返す。domainは完全一致で絞り込む。
Inputs: domain. Returns: reports
list_vulnerabilitiesCRead-only
Shodanがサービス観測へ関連付けた脆弱性候補と製品・観測情報を返す。
Inputs: report_id (required), limit, offset. Returns: total, offset, has_more, returned, +2 more
scan_domainB
指定apexドメインを受動調査し、保存したレポートの識別子と件数を返す。
Inputs: domain (required), skip_dns, max_hosts, enable_shodan, +3 more. Returns: domain, partial, warnings, report_id, +5 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct role: scan_domain initiates a scan, list_reports lists report metadata, get_report_summary provides a detailed summary, list_assets retrieves asset data, get_evidence pulls evidence, and list_vulnerabilities returns vulnerability data. There is no meaningful overlap between these operations.
All tool names follow a consistent snake_case verb_noun pattern: scan_domain, list_reports, get_report_summary, list_assets, get_evidence, list_vulnerabilities. The verb choice consistently indicates whether the tool creates or retrieves information.
Six tools is a well-scoped size for an attack surface management/recon server. Each tool maps to a distinct step in the workflow: scan, report listing, summary, asset enumeration, evidence retrieval, and vulnerability listing.
The core reconnaissance workflow is well covered: scan a domain, view reports, inspect summaries, list assets, retrieve evidence, and see vulnerabilities. Minor gaps exist around report lifecycle management, such as deleting or updating reports, but users can complete the primary investigation workflow without dead ends.
Related MCP Connectors
MCP tools for agents: web research, content extraction, email, DNS, and blockchain intelligence.
Grounded web and Agent-network research for any MCP client: answers with cited evidence.
Scrape, crawl and search the web for AI agents via MCP.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform grounded web research with injection resistance, claim verification, and cost-aware routing through MCP tools like web_search, fetch_url, extract_claims, and check_grounding.MIT
- AlicenseAqualityCmaintenanceEnables AI clients to perform autonomous multi-agent deep research through MCP tools, including deep research, quick search, and retrieval of archived Markdown reports with live web search and source citations.41MIT
- AlicenseNot gradedqualityCmaintenanceEnables passive OSINT reconnaissance by providing search dorking and open-source intelligence collection tools through MCP, without requiring active interaction with target systems.MIT
- AlicenseAqualityCmaintenanceEnables MCP-compatible AI clients to run passive OSINT investigation tools for domains, IPs, emails, usernames, breaches, DNS, WHOIS, and reputation checks through natural-language tool calls. It exposes 16 passive tools by default, plus graph and batch helpers, with additional active tools available when explicitly enabled.201MIT