Shodan MCP服务器

一个完全异步、生产级的MCP服务器,将完整的Shodan API(REST、流式和趋势)暴露为MCP工具,用于自动化、研究和安全流程。

  • by gonkawada
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 gonkawada/analyze-shodan-mcp

使用说明

Shodan MCP服务器

一个完全异步的生产级MCP服务器,将整个Shodan API(REST、Streaming和Trends)公开为MCP工具。用Python构建, httpx,以及MCP Python SDK,该服务器可将Shodan强大的互联网智能工具无缝集成到您的自动化、研究和安全工作流程中。

特性

  • API全面覆盖:
    • REST API:主机信息、搜索、DNS、数据集、帐户、工具等等
    • 流式传输API:实时消防软管、端口和警报事件流
    • 趋势API:任何查询的热门港口、组织和国家
  • 异步和高性能:
    • 建立在 httpx async/await实现了最大的并发性和速度
  • 安全身份验证:
    • 从每个API类型的环境变量中读取API键
  • 易于集成:
    • 可与Claude Desktop、CLI或任何兼容MCP的客户端一起使用

环境变量

在运行服务器之前,将Shodan API凭据设置为环境变量:

  • SHODAN_API_KEY (所有API的默认设置)
  • SHODAN_STREAM_API_KEY (可选,用于流式处理API)
  • SHODAN_TRENDS_API_KEY (可选,适用于趋势API)

如果未设置特定密钥,服务器将回退到 SHODAN_API_KEY.

用法

1.安装依赖项

    uv add "mcp[cli]"
    uv add "sseclient-py"

2.设置环境变量

export SHODAN_API_KEY=your_main_shodan_api_key
# Optionally:
export SHODAN_STREAM_API_KEY=your_streaming_key
export SHODAN_TRENDS_API_KEY=your_trends_key

3.启动服务器(使用uvicorn或uv)

uv --directory /Users/haji/mcp-servers/shodan-mcp run server.py

4.Claude桌面的MCP服务器配置

将以下内容另存为 .json 并将其加载到克劳德桌面或光标中:

{
  "mcpServers": {
    "ShodanMCP": {
      "command": "uv",
      "args": [
        "--directory", "/Users/haji/mcp-servers/shodan-mcp",
        "run", "server.py"
      ]
    }
  }
}

影响和用例

  • 安全研究: 立即查询Shodan的全球互联网情报,以进行威胁搜索、资产发现和漏洞研究。
  • 自动化: 通过MCP将Shodan工具集成到您的安全管道、SIEM或自定义仪表板中。
  • 实时监控: 流式传输实时横幅和警报,以主动监控您的基础设施或开放互联网。
  • 数据科学: 利用Shodan的趋势API对全球互联网趋势进行分析、报告和可视化。

学分

  • 肖丹 --全球领先的互联网连接设备搜索引擎。

©2024哈吉和贡献者。该项目与Shodan无关。对于Shodan数据的商业用途,请确保遵守 Shodan的服务条款.