asm-mcp-server

asm-mcp-server

Enables LLMs to conduct passive attack-surface research by collecting public information, referencing saved reports, and verifying evidence through MCP tools.

Category
Visit Server

README

asm-mcp-server

asm-agentをMCPクライアントから利用するためのローカルサーバーです。接続したLLMは、公開情報の収集、保存済み結果の参照、根拠の確認をMCPツールとして実行できます。

このサーバー自体はLLM APIを呼びません。会話と要約には、MCPクライアント側のモデルを使用します。

必要なもの

  • Python 3.12以上
  • uv
  • 別途セットアップしたasm-agent
  • MCPに対応したLLMクライアント

セットアップ

asm-agentasm-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ではcommanduv.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候補、製品、バージョンを返します

一覧を返すツールはoffsetlimitで分割取得できます。

設定

環境変数 既定値 内容
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

ライセンス

MIT License

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured