Skip to main content
Glama
README.md
# Caido MCP Server

A Model Context Protocol (MCP) server that acts as a bridge to [Caido](https://caido.io/), allowing AI Agents (like Claude, LangChain, etc.) to perform automated security testing and analysis.

## 🚀 Capabilities

This server connects to your local Caido instance (default port `8080`) and exposes tools to:
- **View Request History**: Analyze traffic captured by Caido proxy.
- **Send Requests**: Forge and send HTTP requests via Caido's engine.
- **Scan for Mitigation**: Run basic automated XSS/SQLi checks.
- **Get Findings**: Retrieve reported vulnerabilities.

See [MCP_CAPABILITIES.md](./MCP_CAPABILITIES.md) for a detailed power list.

## 🛠️ Setup

1. **Prerequisites**:
   - Node.js installed.
   - Caido running (usually on port 8080).
   - Caido API Token (Settings -> API).

2. **Installation**:
   ```bash
   git clone https://github.com/FazcomIA/mcp-caido.git
   cd mcp-caido
   npm install
   ```

3. **Configuration**:
   Create a `.env` file in the root:
   ```env
   CAIDO_URL=http://127.0.0.1:8080/graphql
   CAIDO_API_TOKEN=your_token_here
   MCP_PORT=3000
   MCP_API_KEY=mcp-dev-key
   ```

## 🏃 Usage

Start the server:
```bash
node server.js
```

### Connect an AI Agent
The MCP server listens on `http://localhost:3000/mcp/call`.
Required Header: `X-API-Key: mcp-dev-key`

**Example Curl:**
```bash
curl -X POST http://localhost:3000/mcp/call \
  -H "Content-Type: application/json" \
  -H "X-API-Key: mcp-dev-key" \
  -d '{"tool": "getStatus", "params": {}}'
```

## 🔒 Security
- **API Key**: Protected by `MCP_API_KEY`.
- **Local Only**: By default, runs locally. Be careful if exposing to a network.