Skip to main content

MCP client for Zenable conformance checking

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Assess Existing Codebase with Zenable MCP

Use Zenable's MCP (Model Context Protocol) server to analyze and assess your existing codebase for conformance with organizational policies and best practices. Quickly identify areas that need improvement and ensure consistency across your entire project.

Features

  • Real-time code validation against configurable policies
  • Automatic file detection from IDE hooks
  • Glob pattern support for checking multiple files (**/*.py)
  • Integration with MCP-compatible agentic IDEs
  • Command-line interface for standalone checking
  • Lightweight Python package with minimal dependencies

Installation

Note: This tool uses uvx for installation. If you don't have it installed, see the uv installation guide.

# Set API key
export ZENABLE_API_KEY="your-api-key-here"

# Install and run zenable-mcp against your python files
uvx zenable-mcp check '**/*.py'

Usage

Command Line

Check files using glob patterns or automatic detection:

# Check a single file
uvx zenable-mcp check example.py

# Check all Python files recursively
uvx zenable-mcp check '**/*.py'

# Check multiple patterns
uvx zenable-mcp check 'src/**/*.js' 'tests/**/*.js'

# Exclude test files
uvx zenable-mcp check '**/*.py' --exclude '**/test_*.py'

# Specify a base directory for pattern matching
uvx zenable-mcp check '**/*.py' --base-path ./src

IDE Integrations

When running from IDE hooks, zenable-mcp check automatically detects the most recently modified file in your git working tree. The detection is intelligent

  • if the IDE sets env vars to say which files were just edited (like Claude Code), we use it! If not, we:

  • Find all the modified files in the current git repo which haven't yet been commit

  • Select the most recently modified file by timestamp

  • Filter out any files using your zenable configuration exclusions and .gitignore

This means hooks can simply run zenable-mcp check without specifying files. If other IDEs support deterministic hook-based script calling and you'd like support, let us know!

Claude Code

Setup automated hooks with our configuration tool:

# Install hook in project-specific .claude/settings.json
uvx zenable-mcp install hook claude

# Install hook globally in ~/.claude/settings.json
uvx zenable-mcp install hook claude --global

When running as a hook, uvx zenable-mcp check automatically detects files that Claude recently edited. If other IDEs support deterministic hook-based script calling and you'd like support, let us know!

How It Works

  1. File Analysis: Submits code to Zenable's conformance engine
  2. Policy Validation: Checks against configured organizational policies
  3. Result Reporting: Returns validation results with specific issues and suggestions

See our MCP Server Documentation for more details.

API Reference

Commands

  • check <patterns...> - Validate files against conformance policies

    • Supports glob patterns (e.g., **/*.py, src/**/*.js)
    • Options:
      • --exclude: Patterns to exclude from checking
      • --base-path: Base directory for pattern matching
      • --verbose: Show files being checked
    • Returns: JSON response with validation results
    • Exit codes: 0 (pass), 1 (fail), 2 (error)
  • install hook claude - Install Claude hooks for automatic conformance checking

    • Configures .claude/settings.json to run checks on file edits
    • Options:
      • --global, -g: Install globally in ~/.claude/settings.json
    • Safe installation: adds to existing hooks without overwriting

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zenable_mcp-1.3.0-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file zenable_mcp-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: zenable_mcp-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zenable_mcp-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca20bad78e965d61a738cd4eb41980377a30c9f58475730fe35992abf3759775
MD5 75c51a42169447c5963597b7ffaa030c
BLAKE2b-256 5224526a25d36db3a5c04afe907cf084559acf07ad24fbbca5ea865a7814ac03

See more details on using hashes here.

Provenance

The following attestation bundles were made for zenable_mcp-1.3.0-py3-none-any.whl:

Publisher: release_package.yml on Zenable-io/next-gen-governance

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page