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
uvxfor 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
- File Analysis: Submits code to Zenable's conformance engine
- Policy Validation: Checks against configured organizational policies
- 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)
- Supports glob patterns (e.g.,
-
install hook claude- Install Claude hooks for automatic conformance checking- Configures
.claude/settings.jsonto run checks on file edits - Options:
--global,-g: Install globally in~/.claude/settings.json
- Safe installation: adds to existing hooks without overwriting
- Configures
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca20bad78e965d61a738cd4eb41980377a30c9f58475730fe35992abf3759775
|
|
| MD5 |
75c51a42169447c5963597b7ffaa030c
|
|
| BLAKE2b-256 |
5224526a25d36db3a5c04afe907cf084559acf07ad24fbbca5ea865a7814ac03
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zenable_mcp-1.3.0-py3-none-any.whl -
Subject digest:
ca20bad78e965d61a738cd4eb41980377a30c9f58475730fe35992abf3759775 - Sigstore transparency entry: 408308994
- Sigstore integration time:
-
Permalink:
Zenable-io/next-gen-governance@756b3691345b97e0eed01bea5210ec69750735bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Zenable-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_package.yml@756b3691345b97e0eed01bea5210ec69750735bb -
Trigger Event:
workflow_dispatch
-
Statement type: