asm-mcp-server
Enables LLMs to conduct passive attack-surface research by collecting public information, referencing saved reports, and verifying evidence through MCP tools.
README
asm-mcp-server
asm-agentをMCPクライアントから利用するためのローカルサーバーです。接続したLLMは、公開情報の収集、保存済み結果の参照、根拠の確認をMCPツールとして実行できます。
このサーバー自体はLLM APIを呼びません。会話と要約には、MCPクライアント側のモデルを使用します。
必要なもの
- Python 3.12以上
- uv
- 別途セットアップした
asm-agent - MCPに対応したLLMクライアント
セットアップ
asm-agentとasm-mcp-serverを別フォルダに配置し、それぞれ依存関係を準備します。
cd /absolute/path/to/asm-agent
uv sync
cd /absolute/path/to/asm-mcp-server
uv sync
Shodanを使う場合は、asm-agent側でAPIキーを保存します。
cd /absolute/path/to/asm-agent
uv run asm-agent credentials set-shodan
MCPクライアントへ登録する
MCPクライアントの設定へ次の内容を追加します。すべて絶対パスで指定してください。
{
"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"
}
}
}
}
登録後、MCPクライアントを再起動または再接続します。
Windowsではcommandにuv.exeの絶対パスを指定し、ASM_AGENT_EXECUTABLEには次の形式で指定します。
C:\absolute\path\to\asm-agent\.venv\Scripts\asm-agent.exe
会話例
example.comをShodanありで調査して、見つかったホスト名、IPアドレス、公開ポート、CVE候補を根拠付きでまとめて。
利用できるツール
| ツール | 内容 |
|---|---|
scan_domain |
ドメインの公開情報を収集して保存します |
list_reports |
保存済みレポートの一覧を返します |
get_report_summary |
収集件数、警告、エラーを返します |
list_assets |
ホスト名、IPアドレス、公開サービスを返します |
get_evidence |
情報源と観測日時を返します |
list_vulnerabilities |
ShodanのCVE候補、製品、バージョンを返します |
一覧を返すツールはoffsetとlimitで分割取得できます。
設定
| 環境変数 | 既定値 | 内容 |
|---|---|---|
ASM_AGENT_EXECUTABLE |
PATH上のasm-agent |
実行するasm-agentの絶対パス |
ASM_MCP_REPORT_DIR |
./reports |
レポート保存先 |
ASM_MCP_SCAN_TIMEOUT_SECONDS |
600 |
1回の調査を待つ最大秒数 |
ShodanのCVEは過去の観測に基づく候補であり、現在も脆弱であることを証明するものではありません。
開発
uv run ruff check .
uv run mypy src
uv run pytest
ライセンス
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.