Skip to main content
Glama
skutry
by skutry
README.md
# credential-free

MCP server that scans code for exposed secrets. Detects API keys, tokens, and credentials in 69 patterns across cloud, AI, payment, and auth services.

## Quick Setup ( 2 minutes )

### Install System-wide

⚠️ **Requires Python 3.10+**

```bash
# Clone and install
git clone <repo-url>
cd credential-free
pip install -e .

# Run server
python -m src.server
```

### Alternative: Requirements File

```bash
pip install -r requirements.txt
python -m src.server
```

## Add to Your IDE

### Windsurf / Kiro

Edit `mcp_config.json`:
```json
{
  "mcpServers": {
    "credential-free": {
      "command": "/usr/bin/python3",
      "args": ["-m", "src.server"],
      "env": {}
    }
  }
}
```

Find your Python path:
```bash
# Mac/Linux
which python3

# Windows
where python
```

### Claude Desktop

Edit `claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "credential-free": {
      "command": "/usr/bin/python3",
      "args": ["-m", "src.server"],
      "env": {}
    }
  }
}
```

## Test It

### MCP Server Test
```bash
# Test the server
python -c "from src.server import get_patterns; print('Server works!')"
```

### CLI Test
```bash
# Test CLI info
python -m src info

# Test CLI scan
python -m src scan file README.md

# Test CLI with exclude patterns
python -m src scan directory . --exclude-patterns '.*\.txt$'
```

## Usage Examples

### MCP Server (AI Assistant)
Ask your AI:
- "scan this file for secrets"
- "check my project for exposed api keys"
- "what patterns do you detect?"
- "find any hardcoded credentials"
- "scan my project but exclude .txt files"

### CLI (Standalone)
```bash
# Scan single file
python -m src scan file config.py

# Scan directory with exclusions
python -m src scan directory . --exclude-patterns '.*\.txt$' '.*\.md$'

# Scan text content
python -m src scan content "AKIAIOSFODNN7EXAMPLE"

# Show scanner info
python -m src info
```

## tools

| MCP Tool | CLI Command | description |
|----------|-------------|-------------|
| `scan_file` | `python -m src scan file` | scan a file for secrets |
| `scan_directory` | `python -m src scan directory` | scan a folder recursively (supports exclude_patterns) |
| `scan_content` | `python -m src scan content` | scan text directly |
| `get_patterns` | `python -m src info` | list detection patterns |

## what it detects

69 patterns across:
- **cloud**: aws, gcp, azure, vercel, heroku
- **ai**: openai, anthropic, huggingface, groq
- **payment**: stripe, square
- **auth**: github, gitlab, slack, discord
- **database**: postgresql, mongodb, redis

## example output

```json
{
  "success": true,
  "count": 2,
  "findings": [
    {
      "type": "AWS Access Key",
      "value": "AKIA****MPLE",
      "severity": "CRITICAL",
      "category": "cloud"
    }
  ]
}
```

## docker

```bash
docker build -t credential-free .
docker run credential-free
```

---

built for aws global vibe hackathon 2025