Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,22 @@ The Model Context Protocol (MCP) server is a FastAPI-based implementation that p
- See the `customgpt` directory for specific documentation

### MCP Server (Docker)
- Current version: 1.1.0
- Docker image: `tmfrisinger/webcat:1.1.0` or `tmfrisinger/webcat:latest`
- Current version: 2.1.0
- Docker image: `tmfrisinger/webcat:2.1.0` or `tmfrisinger/webcat:latest`

#### Running with Docker
```bash
# Run with Serper API (recommended for best results)
docker run -p 8000:8000 -e SERPER_API_KEY=your_key tmfrisinger/webcat:latest
docker run -p 8000:8000 -e SERPER_API_KEY=your_key -e WEBCAT_API_KEY=your_api_key tmfrisinger/webcat:latest

# Run with free DuckDuckGo fallback (no API key required)
docker run -p 8000:8000 tmfrisinger/webcat:latest
# Run with free DuckDuckGo fallback (requires WEBCAT_API_KEY for authentication)
docker run -p 8000:8000 -e WEBCAT_API_KEY=your_api_key tmfrisinger/webcat:latest

# Run on a custom port
docker run -p 9000:9000 -e PORT=9000 -e SERPER_API_KEY=your_key tmfrisinger/webcat:latest
docker run -p 9000:9000 -e PORT=9000 -e SERPER_API_KEY=your_key -e WEBCAT_API_KEY=your_api_key tmfrisinger/webcat:latest

# With custom rate limiting
docker run -p 8000:8000 -e SERPER_API_KEY=your_key -e RATE_LIMIT_WINDOW=60 -e RATE_LIMIT_MAX_REQUESTS=10 tmfrisinger/webcat:latest
docker run -p 8000:8000 -e SERPER_API_KEY=your_key -e WEBCAT_API_KEY=your_api_key -e RATE_LIMIT_WINDOW=60 -e RATE_LIMIT_MAX_REQUESTS=10 tmfrisinger/webcat:latest
```

#### Building the Docker Image
Expand All @@ -70,11 +70,23 @@ For more detailed Docker information, see the `docker/README.md` file.
## Configuration

### Environment Variables
- `SERPER_API_KEY`: Your Serper API key (required)
- `WEBCAT_API_KEY`: **Required** - Your custom API key for authentication (user-generated security token)
- `SERPER_API_KEY`: Your Serper API key (optional, enables premium search results)
- `PORT`: The port to run the server on (default: 8000)
- `RATE_LIMIT_WINDOW`: Time window in seconds for rate limiting (default: 60)
- `RATE_LIMIT_MAX_REQUESTS`: Max requests per window (default: 10)

#### Generating WEBCAT_API_KEY
The `WEBCAT_API_KEY` is a user-generated security token that you create to protect your WebCat server. You can generate one using:

```bash
# Generate a secure random key
export WEBCAT_API_KEY="sk-webcat-$(openssl rand -hex 32)"

# Or create your own custom key
export WEBCAT_API_KEY="sk-webcat-my-secure-key-2024"
```

## Testing

The project includes comprehensive test suites for both the Azure Functions API and the MCP Server:
Expand Down