Metadata-Version: 2.4
Name: bollard-mcp
Version: 0.1.0
Summary: AI-powered, safe database access layer for MCP clients (Cursor, VS Code, Claude Desktop)
Project-URL: Homepage, https://github.com/Bollard-db/Bollard
Project-URL: Documentation, https://bollard.pavak.me/docs
Project-URL: Repository, https://github.com/Bollard-db/Bollard
Author: Bollard
License: AGPL-3.0-only
License-File: LICENSE
Keywords: ai,cursor,database,mcp,mysql,postgresql,sqlite,vscode
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: aiomysql>=0.2.0
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: anyio>=4.0.0
Requires-Dist: asyncpg>=0.29.0
Requires-Dist: cryptography>=42.0.0
Requires-Dist: fastmcp>=2.0.0
Requires-Dist: keyring>=25.0.0
Requires-Dist: platformdirs>=4.0.0
Requires-Dist: psycopg2-binary>=2.9.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pymysql>=1.1.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: sqlglot>=25.0.0
Requires-Dist: tabulate>=0.9.0
Provides-Extra: ai
Requires-Dist: anthropic>=0.25.0; extra == 'ai'
Requires-Dist: httpx>=0.27.0; extra == 'ai'
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Provides-Extra: mongodb
Requires-Dist: motor>=3.4.0; extra == 'mongodb'
Requires-Dist: pymongo>=4.7.0; extra == 'mongodb'
Description-Content-Type: text/markdown

# Bollard MCP

An AI-powered, safe database access layer built on the [Model Context Protocol](https://modelcontextprotocol.io/).

Bollard acts as an intelligent execution layer between AI code editors (Cursor, VS Code, Claude Desktop) and your databases — providing safe query execution, schema discovery, semantic intent validation, and persistent session memory.

## Quick Start

```bash
pip install bollard-mcp
```

Add to `.cursor/mcp.json`:
```json
{
  "mcpServers": {
    "bollard": {
      "command": "bollard-mcp"
    }
  }
}
```

Then in Cursor chat:
```
Connect to my database: postgresql://user:pass@localhost/mydb
Show me all tables
Find users who signed up last week but haven't placed an order
```

## Supported Databases

- **PostgreSQL** (primary)
- **MySQL / MariaDB**
- **SQLite**
- **MS SQL Server**
- **Oracle**
- **MongoDB** (Phase 2)

## Key Features

- **Safe by default** — read-only mode, auto-LIMIT, WHERE enforcement, destructive operation blocking
- **Intent validation** — detects soft-delete blind spots, status ambiguity, missing tenant scope
- **Session memory** — schema cache, query history, user corrections persisted across restarts
- **OS Keyring** — credentials stored in system native vault (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- **No built-in LLM** — editor AI handles reasoning; Bollard handles safe execution

## Documentation

See [docs/](docs/) for setup guides, permission profiles, and safety configuration.
