pypi clausekeeper-mcpstdioAGPL-3.0updated 2mo ago
โญ If this saves you a lawyer's invoice, drop a star โ it genuinely helps.
What can you do with ClauseKeeper Compliance Scanner?
ClauseKeeper
The open-source way to keep your website's legal documents current.
Privacy Policy ยท Terms of Service ยท Cookie Policy ยท AI-Disclosure โ generated in minutes, and kept up to date as the law changes.
๐ Try the free scanner ยท ๐ณ Self-host in 2 minutes ยท ๐ค Contribute
โญ If this saves you a lawyer's invoice, drop a star โ it genuinely helps.
What is ClauseKeeper?
Every website needs a Privacy Policy, Terms of Service, Cookie banner, and โ as of 2026 โ an AI-disclosure statement. The problem isn't writing them once. It's that the law keeps moving: the EU AI Act phases in, US states pass new privacy laws, and your "compliant" policy from last year is quietly stale.
ClauseKeeper does two things:
- ๐ Free compliance scanner โ paste your policy text or a URL, get a 0โ100 score and a checklist of missing or stale clauses (GDPR, CCPA/CPRA, cookies, retention, AI disclosure, COPPA, and more). 100% rule-based, no LLM, $0 to run.
- ๐ Document generator โ answer a short form, get a Privacy Policy, ToS, Cookie Policy, and a 2026 AI-Disclosure addendum with conditional clauses for your jurisdictions.
It's a starting point, not legal advice. ClauseKeeper gets you 90% of the way and keeps you current โ for the edge cases, talk to a lawyer.
๐ Open-source alternative to expensive compliance suites
The enterprise compliance platforms (Vanta, Drata, Delve, etc.) are built for funded startups closing SOC 2 / HIPAA enterprise deals โ and priced accordingly (thousands per year, sales demos, audit-firm relationships).
ClauseKeeper is the opposite end of the market: self-serve, dirt-cheap, and open source. It's for the indie founder, freelancer, and small SaaS who just need their website's legal documents correct and current โ without a sales call or an enterprise invoice.
| Self-host (free) | Cloud (clausekeeper.app) | |
|---|---|---|
| Free compliance scanner | โ | โ |
| Document generator | โ | โ |
| Hosted, versioned policy URLs | โ (your server) | โ |
| Always-current auto-updates when laws change | โ๏ธ you maintain the clause rules | โ we maintain them for you |
| Billing / Stripe | n/a | โ |
| Maintenance | you | us |
If you self-host, you own everything โ the scanner and generator run with zero external keys. The paid cloud tier exists for people who'd rather we keep the clause library current for them.
๐ณ Self-host in 2 minutes
git clone https://github.com/<your-org>/ClauseKeeper.git
cd ClauseKeeper
cp .env.example .env # defaults work out of the box; no paid keys needed
docker compose up
# open http://localhost:8000
The scanner and generator work immediately โ no Stripe, no API keys, nothing to sign up for. Full guide: docs/SELF_HOSTING.md.
Prefer running it without Docker? See the contributing guide for the uv / venv dev setup.
๐ Tech stack
- FastAPI + Uvicorn (Python 3.11)
- SQLite for persistence (zero-config; swap-friendly)
- Jinja2 templates, no JS framework โ fast and simple
- Rule-based clause engine (
app/clause_rules.py) โ no LLM dependency for the core product - Optional Stripe for the hosted billing tier
๐ค Use with AI agents
ClauseKeeper is agent-native โ built to be worked on (and used) by AI coding agents.
Work on the repo with an agent:
- GitHub Copilot: assign any open issue to the Copilot coding agent โ it reads
AGENTS.mdand.github/copilot-instructions.md, makes the change, runs the tests, and opens a PR. - Cursor: open the repo in Cursor and point a Cloud Agent at an issue โ the same
AGENTS.mdcontext applies. - Agent context, architecture, and exact build/test commands all live in
AGENTS.md.
Use ClauseKeeper from an agent (MCP): We ship an MCP server that exposes the compliance scanner as agent tools โ so Claude, Cursor, or any MCP host can scan a privacy policy and get a score + missing-clause checklist. No API keys, runs locally.
// add to your MCP host config (e.g. Claude Desktop / Cursor)
{
"mcpServers": {
"clausekeeper": { "command": "clausekeeper-mcp" }
}
}
Tools: scan_policy_text, scan_policy_url, list_clause_rules. See mcp/README.md.
๐ค Contributing
PRs welcome โ this is a community project. Good first contributions:
- Add / improve clause rules for a jurisdiction you know (
app/clause_rules.py) - New document templates or template improvements (
templates/) - Scanner heuristics โ catch more stale/missing clauses
- Translations of generated documents
See CONTRIBUTING.md and check the open issues for tasks tagged good first issue. Claim one by commenting and we'll assign it to you.
๐ License
AGPL-3.0 โ free to use, modify, and self-host. If you run a modified version as a network service, you must share your changes. (We chose AGPL so the project stays open and improvements flow back to the community.)
Built for the indie web. Keep your documents current โ without the lawyer's retainer.
โญ Star the repo ยท ๐ Scan your policy free ยท ๐ณ Self-host it
Install
Add ClauseKeeper Compliance Scanner to your client. Pick the one you use.
claude mcp add clausekeeper-mcp -- uvx clausekeeper-mcpcodex mcp add clausekeeper-mcp -- uvx clausekeeper-mcpamp mcp add clausekeeper-mcp -- uvx clausekeeper-mcp{
"mcpServers": {
"clausekeeper-mcp": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"clausekeeper-mcp": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"clausekeeper-mcp","command":"uvx","args":["clausekeeper-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"clausekeeper-mcp": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"clausekeeper-mcp": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"clausekeeper-mcp": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"clausekeeper-mcp": {
"type": "local",
"command": "uvx",
"args": [
"clausekeeper-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"clausekeeper-mcp": {
"command": {
"path": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx clausekeeper-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance16/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 69 days ago
- Has a release history
- Repository is not archived
- Licensed AGPL-3.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.1.1Latest | Jun 19, 2026 |