Metadata-Version: 2.4
Name: spiderfoot-mcp
Version: 1.0.0
Summary: Model Context Protocol server for SpiderFoot OSINT automation
Author-email: Vlatko Kosturjak <vlatko.kosturjak@marlink.com>
License: MIT
Project-URL: Homepage, https://github.com/marlinkcyber/spiderfoot-mcp
Project-URL: Repository, https://github.com/marlinkcyber/spiderfoot-mcp
Project-URL: Documentation, https://github.com/marlinkcyber/spiderfoot-mcp
Project-URL: Bug Tracker, https://github.com/marlinkcyber/spiderfoot-mcp/issues
Keywords: spiderfoot,osint,security,mcp,model-context-protocol,reconnaissance
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Communications
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: spiderfoot-client>=1.0.0
Requires-Dist: fastmcp>=2.10.0
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Dynamic: license-file

# SpiderFoot MCP Server

A Model Context Protocol (MCP) server that provides SpiderFoot OSINT automation capabilities to AI assistants and other MCP clients.

## Installation

```bash
pip install spiderfoot-mcp
```

## Configuration

Set the following environment variables or create a `.env` file:

```bash
SPIDERFOOT_URL=http://localhost:5001
SPIDERFOOT_USERNAME=admin
SPIDERFOOT_PASSWORD=your_password
```

## Usage

### As MCP Server

Start the MCP server:

```bash
spiderfoot-mcp
```

The server will expose SpiderFoot functionality as MCP tools that can be used by AI assistants.

### Available Tools

The MCP server provides the following tools:

- `start_scan`: Start a new SpiderFoot scan
- `get_scan_status`: Get the current status of a scan
- `list_scans`: List all scans on the server
- `stop_scan`: Stop a running scan
- `delete_scan`: Delete a scan and its data
- `get_scan_results`: Get results from a scan
- `get_scan_summary`: Get a summary of scan results
- `wait_for_scan_completion`: Wait for a scan to complete
- `export_scan_results`: Export scan results in various formats
- `get_available_modules`: Get list of available SpiderFoot modules
- `search_scan_results`: Search across scan results
- `get_scan_log`: Get log entries for a scan
- `get_active_scans_summary`: Get summary of tracked scans
- `ping`: Test connectivity to SpiderFoot server

### MCP Client Configuration

To use this server with Claude Desktop or other MCP clients, add the following to your MCP configuration:

```json
{
  "mcpServers": {
    "spiderfoot": {
      "command": "spiderfoot-mcp",
      "env": {
        "SPIDERFOOT_URL": "http://localhost:5001",
        "SPIDERFOOT_USERNAME": "admin",
        "SPIDERFOOT_PASSWORD": "your_password"
      }
    }
  }
}
```

## Requirements

- Python 3.8+
- spiderfoot-client>=1.0.0
- fastmcp>=2.10.0
- python-dotenv>=1.0.0
- A running SpiderFoot instance

## Dependencies

This package depends on the `spiderfoot-client` package, which provides the underlying SpiderFoot API client functionality.

## License

MIT License
