mcpField
C
ClauseKeeper Compliance Scanner

ClauseKeeper Compliance Scanner

Local
clausekeeper.appLegal & Government1Updated 18w ago

About ClauseKeeper Compliance Scanner

ClauseKeeper Compliance Scanner is a deterministic scanner for website policies and legal text, intended for compliance checks without LLM calls. It can scan pasted text or a URL and report scores, categories, and missing or stale clauses.

Key features

  1. 01Scan pasted policy text
  2. 02Fetch and scan policy URLs
  3. 03Report score, grade, and categories
  4. 04Identify missing or stale clauses
  5. 05List clause rules

Use cases

  1. 01Review a website privacy policy
  2. 02Check legal text for outdated clauses
  3. 03Inspect scanner rules and categories

MCP support

Exposes three MCP tools: scan_policy_text, scan_policy_url, and list_clause_rules. The server uses stdio transport and works with MCP hosts such as Claude Desktop and Cursor.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"mityda-clausekeeper": {
"command": "uvx",
"args": [
"clausekeeper-mcp"
]
}
}
}
Run commanduvx clausekeeper-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiclausekeeper-mcp0.1.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

ClauseKeeper MCP Server

mcp-name: io.github.mityda/clausekeeper

clausekeeper-mcp exposes ClauseKeeper's deterministic compliance scanner as Model Context Protocol (MCP) tools for Claude Desktop, Cursor, and other MCP hosts.

It is a thin wrapper around a vendored copy of the real ClauseKeeper scanner in clausekeeper_core/scanner.py and rule library in clausekeeper_core/clause_rules.py:

  • no LLM calls
  • no API keys
  • no paid services
  • stdio transport via the official Python mcp SDK

Tools

  • scan_policy_text(text: str) — scans pasted policy/legal text with the vendored ClauseKeeper scanner and returns the score, grade, counts, categories, and missing/stale clause checklist.
  • scan_policy_url(url: str) — fetches a URL, strips HTML with ClauseKeeper's html_to_text, then scans the visible text.
  • list_clause_rules() — returns the vendored clause rules and categories.

Run locally

From the main ClauseKeeper repository:

cd mcp
uv run clausekeeper-mcp

uv run creates/uses the local project environment and installs the mcp SDK dependency automatically. Because this is a stdio MCP server, uv run clausekeeper-mcp waits for an MCP client on stdin/stdout.

You can also install it into an explicit virtual environment:

cd mcp
uv venv
uv pip install --python .venv/bin/python -e .
.venv/bin/clausekeeper-mcp

Or run it directly:

cd /path/to/clausekeeper/mcp
uv run python server.py

MCP host configuration

Use an absolute path to this mcp directory.

Claude Desktop

Add this to your Claude Desktop MCP configuration file:

{
  "mcpServers": {
    "clausekeeper": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/clausekeeper/mcp",
        "run",
        "clausekeeper-mcp"
      ]
    }
  }
}
Cursor or other MCP hosts

Use the same server definition in your MCP settings:

{
  "mcpServers": {
    "clausekeeper": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/clausekeeper/mcp",
        "run",
        "clausekeeper-mcp"
      ]
    }
  }
}

If your host does not support uv --directory, use the installed console script from a virtual environment instead:

{
  "mcpServers": {
    "clausekeeper": {
      "command": "/absolute/path/to/clausekeeper/mcp/.venv/bin/clausekeeper-mcp",
      "args": []
    }
  }
}

Keeping the vendored scanner in sync

The clausekeeper_core/ package is vendored from the main app's app/scanner.py and app/clause_rules.py so the MCP package is self-contained for PyPI/registry installs. When the scanner or clause rules change in app/, update the matching vendored files here and re-run the MCP self-containment and parity checks.

Publishing metadata

No server.json is included here because the current OSS MCP Community Registry / GitHub MCP Registry metadata format should be confirmed against the registry documentation at publication time. When publishing, add the registry-required metadata file with the package name, description, license, repository URL, runtime command, and tool list.

Main project

See the main ClauseKeeper project at ../README.md.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.