ComplianceCow MCP Server

Provides AI agents with compliance insights, auditable responses, and actions like ticket creation and policy fixes.

ComplianceCow MCP Servers

Table of Contents

  1. Introduction
  2. Glossary
  3. Architecture
  4. MCP Servers
  5. Getting Started
    • Prerequisites
    • Authentication
    • Installation
    • Configuration
  6. MCP Host Setup
    • Claude Desktop
    • Goose Desktop/CLI
  7. Running Locally
  8. Tools Reference
  9. FAQ

Introduction

MCP (Model Context Protocol) servers are designed to process structured requests from AI agents, perform domain-specific operations, and return context-aware responses. The ComplianceCow MCP servers enable seamless integration with MCP-compatible hosts like Claude Desktop and Goose Desktop/CLI for secure, modular, and intelligent compliance automation.


Glossary

KeywordDescriptionExample
ControlA compliance or security control that needs to be implemented to ensure adherence to regulations, standards, and policiesEnsure MFA is enabled for all users
AssessmentA collection of controls organized hierarchically, representing an industry standard or cybersecurity frameworkPCI DSS 4.0
Assessment RunThe verification of controls in an assessment for a given time period, including evidence collection-
CheckA rule or verification for compliance or conformanceCheck if MFA is enabled for all AWS users
Resource TypeCategory or class of resourcesAWS EC2, AWS S3
ResourceInstance of a resource type for which checks are performedSpecific EC2 instances, GitHub repositories
AssetA group of resources of various typesAWS services, Kubernetes, GitHub
EvidenceData aggregated through checks against resources for a given controlCSV file with AWS users and their MFA status
ActionActivity (automated or manual) to respond or remediate based on conditionsCreate a JIRA ticket for non-compliant EC2 instance
RuleA reusable automation unit that executes tasks and generates evidenceAWS MFA Compliance Check Rule
WorkflowAn event-driven automation sequence with conditions and activitiesAlert workflow on critical finding

Architecture

The ComplianceCow MCP servers support the STDIO transport mechanism for seamless local integration with your MCP host. At the core is the Compliance Graph, which continuously ingests data such as assessment runs, evidence, and compliance status. The server actively pulls information from:

  • Vector stores for semantic search
  • Relational databases for structured data
  • Graph databases for relationship queries
  • File storage systems for evidence artifacts

MCP Servers

We have organized ComplianceCow’s MCP tools into 4 distinct servers.

Why multiple MCP servers? In the MCP ecosystem, using fewer tools per server yields better results and better performance.
Each server can be enabled independently via the MCP_TOOLS_TO_BE_INCLUDED environment variable.
Important: Enable only one server at a time in the MCP Host to avoid tool name conflicts. Some tools share the same name across servers but have different implementations based on the use case.

1. ComplianceCow-Rules

The Rules server enables creating, managing, and executing compliance rules. It provides a comprehensive toolkit for rule creation with guided input collection, task orchestration, and ComplianceCow integration.

Use Cases:

  • Create custom compliance rules with multiple tasks
  • Execute rules against cloud infrastructure
  • Publish rules to ComplianceCow and attach to controls
  • Generate rule documentation (design notes, README)

2. ComplianceCow-Insights

The Insights server provides comprehensive access to compliance data, dashboards, assessments, and evidence through the Compliance Graph. Ideal for querying and analyzing compliance posture.

Use Cases:

  • Query dashboard data for compliance overview
  • Explore assessments and their runs
  • Retrieve evidence and compliance status
  • Execute Cypher queries on the Compliance Graph
  • Perform actions on controls and evidence

3. ComplianceCow-Workflow

The Workflow server enables building and executing automated compliance workflows with event-driven triggers, conditions, and activities.

Use Cases:

  • Create automated compliance workflows
  • Define event triggers and conditions
  • Execute multi-step workflow sequences
  • Manage workflow states and transitions

4. ComplianceCow-Assistant

The Assistant server specializes in assessment configuration, control setup, and SQL-based evidence collection. It provides tools for configuring compliance assessments and managing control evidence.

Use Cases:

  • Create and configure assessments
  • Set up control configurations with context entities
  • Create SQL-based evidence collection
  • Manage control citations and documentation

Getting Started

Prerequisites

  1. MCP Host: You need an MCP-compatible host:
    • Claude Desktop
    • Goose Desktop/CLI
  2. Python: Version 3.11 or higher
    • Download Python
  3. uv Package Manager: Required to run the MCP server
    • Install uv

Authentication

The ComplianceCow MCP servers use OAuth 2.0 with client_credentials grant type.

To obtain credentials:

  1. Sign up at ComplianceCow (or your dedicated instance)
  2. Click "Manage Client Credentials" in the top-right user profile menu
  3. Fill out the form to obtain your Client ID and Client Secret

Installation

  1. Clone the repository:
    git clone https://github.com/ComplianceCow/cow-mcp.git
    cd cow-mcp
  2. Create virtual environment and install dependencies:
    uv venv .venv
    source .venv/bin/activate # On Windows: .venv\Scripts\activate
    uv pip install .
  3. Find your uv binary path (needed for configuration):
    which uv # On macOS/Linux
    where uv # On Windows

Configuration

Environment Variables

VariableDescriptionRequired
CCOW_HOSTComplianceCow API host URL (Ex: https://partner.compliancecow.live)Yes
CCOW_CLIENT_IDYour Client ID (see Authentication section above)Yes
CCOW_CLIENT_SECRETYour Client Secret (see Authentication section above)Yes

MCP Host Setup

Claude Desktop

Configuration file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

For detailed setup instructions, see Claude Desktop MCP Setup.

Configuration template for all 4 servers:

{ "mcpServers": { "ComplianceCow-Rules": { "command": "<UV_BIN_PATH>", "args": [ "--directory", "<PATH_TO_COW_MCP_REPO>", "run", "main.py" ], "env": { "CCOW_HOST": "<YOUR_CCOW_HOST>", "CCOW_CLIENT_ID": "<YOUR_CLIENT_ID>", "CCOW_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "MCP_TOOLS_TO_BE_INCLUDED": "rules" } }, "ComplianceCow-Insights": { "command": "<UV_BIN_PATH>", "args": [ "--directory", "<PATH_TO_COW_MCP_REPO>", "run", "main.py" ], "env": { "CCOW_HOST": "<YOUR_CCOW_HOST>", "CCOW_CLIENT_ID": "<YOUR_CLIENT_ID>", "CCOW_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "MCP_TOOLS_TO_BE_INCLUDED": "insights" } }, "ComplianceCow-Workflow": { "command": "<UV_BIN_PATH>", "args": [ "--directory", "<PATH_TO_COW_MCP_REPO>", "run", "main.py" ], "env": { "CCOW_HOST": "<YOUR_CCOW_HOST>", "CCOW_CLIENT_ID": "<YOUR_CLIENT_ID>", "CCOW_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "MCP_TOOLS_TO_BE_INCLUDED": "workflow" } }, "ComplianceCow-Assistant": { "command": "<UV_BIN_PATH>", "args": [ "--directory", "<PATH_TO_COW_MCP_REPO>", "run", "main.py" ], "env": { "CCOW_HOST": "<YOUR_CCOW_HOST>", "CCOW_CLIENT_ID": "<YOUR_CLIENT_ID>", "CCOW_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", "MCP_TOOLS_TO_BE_INCLUDED": "assistant" } } } }

Replace the following placeholders:

  • UV_BIN_PATH: Path to your uv binary (e.g., /Users/username/.local/bin/uv). You can find this by running which uv (macOS/Linux) or where uv (Windows).
  • PATH_TO_COW_MCP_REPO: The absolute path to your cloned cow-mcp repository. After cloning and running cd cow-mcp, use pwd (macOS/Linux) or cd (Windows) to get this path.
  • YOUR_CCOW_HOST: https://partner.compliancecow.live (or <your_dedicated_instance_hosturl>)
  • YOUR_CLIENT_ID: Your ComplianceCow Client ID (see Authentication)
  • YOUR_CLIENT_SECRET: Your ComplianceCow Client Secret (see Authentication)

Goose Desktop/CLI

For detailed setup instructions, see Goose Extensions Documentation.

  • macOS/Linux: ~/.config/goose/config.yaml
  • Windows: %APPDATA%\goose\config.yaml

extensions: ComplianceCow-Rules: enabled: true type: stdio name: Compliancecow-Rules description: 'ComplianceCow Rules - Create and manage compliance rules' cmd: <UV_BIN_PATH> args: - --directory - <PATH_TO_COW_MCP_REPO> - run - main.py envs: CCOW_HOST: <YOUR_CCOW_HOST> CCOW_CLIENT_ID: <YOUR_CLIENT_ID> CCOW_CLIENT_SECRET: <YOUR_CLIENT_SECRET> MCP_TOOLS_TO_BE_INCLUDED: rules timeout: 300

ComplianceCow-Insights: enabled: true type: stdio name: Compliancecow-Insights description: 'ComplianceCow Insights - Query compliance data and dashboards' cmd: <UV_BIN_PATH> args: - --directory - <PATH_TO_COW_MCP_REPO> - run - main.py envs: CCOW_HOST: <YOUR_CCOW_HOST> CCOW_CLIENT_ID: <YOUR_CLIENT_ID> CCOW_CLIENT_SECRET: <YOUR_CLIENT_SECRET> MCP_TOOLS_TO_BE_INCLUDED: insights timeout: 300

ComplianceCow-Workflow: enabled: true type: stdio name: Compliancecow-Workflow description: 'ComplianceCow Workflow - Build and execute compliance workflows' cmd: <UV_BIN_PATH> args: - --directory - <PATH_TO_COW_MCP_REPO> - run - main.py envs: CCOW_HOST: <YOUR_CCOW_HOST> CCOW_CLIENT_ID: <YOUR_CLIENT_ID> CCOW_CLIENT_SECRET: <YOUR_CLIENT_SECRET> MCP_TOOLS_TO_BE_INCLUDED: workflow timeout: 300

ComplianceCow-Assistant: enabled: true type: stdio name: Compliancecow-Assistant description: 'ComplianceCow Assistant - Configure assessments and controls' cmd: <UV_BIN_PATH> args: - --directory - <PATH_TO_COW_MCP_REPO> - run - main.py envs: CCOW_HOST: <YOUR_CCOW_HOST> CCOW_CLIENT_ID: <YOUR_CLIENT_ID> CCOW_CLIENT_SECRET: <YOUR_CLIENT_SECRET> MCP_TOOLS_TO_BE_INCLUDED: assistant timeout: 300


Running Locally

To verify the MCP server is properly set up before configuring your MCP host:

Navigate to the cow-mcp directory

cd /path/to/cow-mcp

Set required environment variables

export CCOW_HOST="https://partner.compliancecow.live" export CCOW_CLIENT_ID="<your_client_id>" export CCOW_CLIENT_SECRET="<your_client_secret>" export MCP_TOOLS_TO_BE_INCLUDED="rules" # or insights, workflow, assistant

Run the server

uv run main.py

If the server starts without errors, you're ready to configure your MCP host.


Tools Reference

Rules Server Tools

ToolDescription
get_tasks_summaryRetrieve available tasks for rule creation
get_task_detailsGet detailed task information including inputs/outputs
fetch_tasks_suggestionsIntelligent task suggestions based on requirements
get_rules_summaryList all available rules in the catalog
fetch_rules_suggestionsSuggest matching rules to avoid duplicates
create_ruleCreate a new rule with tasks and I/O mapping
fetch_ruleRetrieve complete rule structure by name
check_rule_statusCheck rule completion level
prepare_input_collection_overviewOverview of required inputs before collection
get_template_guidanceGuidance for template-based inputs
collect_template_inputCollect file/template inputs with validation
confirm_template_inputConfirm and process template input
collect_parameter_inputCollect primitive parameter values
confirm_parameter_inputConfirm and store parameter values
upload_fileUpload files with format validation
verify_collected_inputsVerify all inputs before execution
execute_taskExecute a specific task with collected inputs
execute_ruleExecute complete rule with credentials
fetch_execution_progressMonitor live execution progress
fetch_output_fileFetch output files from execution
fetch_cc_rule_by_idFetch rule from ComplianceCow by ID
fetch_cc_rule_by_nameFetch rule from ComplianceCow by name
fetch_cc_rules_listList published ComplianceCow rules
publish_rulePublish rule to ComplianceCow
fetch_assessmentsRetrieve available assessments
fetch_leaf_controls_of_an_assessmentFetch attachable controls from assessment
verify_control_in_assessmentVerify control is attachable
attach_rule_to_controlAttach published rule to control
get_applications_for_tagGet applications for specific tag
get_application_infoGet application details and credential types
fetch_applicationsFetch all available applications
prepare_applications_for_executionPrepare application configuration
check_applications_publish_statusCheck application publication status
publish_applicationPublish applications for rule execution
add_unique_identifier_to_taskAdd unique identifier to task
configure_rule_output_schemaConfigure standard/extended output schema
generate_design_notes_previewGenerate Jupyter notebook design notes
create_design_notesSave design notes
fetch_rule_design_notesFetch existing design notes
generate_rule_readme_previewGenerate comprehensive README
create_rule_readmeSave README
update_rule_readmeUpdate existing README
list_assetsList integration plans/assets
list_checksList checks for an asset
get_asset_control_hierarchyGet control hierarchy for asset
create_asset_and_checkCreate asset with initial check
add_check_to_assetAdd check to existing asset
schedule_asset_executionSchedule automated asset execution
list_asset_schedulesList schedules for an asset
delete_asset_scheduleDelete asset schedule
suggest_control_config_citationsSuggest control citations
add_citation_to_asset_controlAttach citation to control
verify_control_automationVerify control automation status
create_control_noteCreate documentation note on control
list_control_notesList control notes
update_control_config_noteUpdate control note
create_support_ticketCreate support tickets
check_rule_publish_statusCheck rule publication status
read_fileRead local file content
read_resourceRead resource URI content
create_downloadable_fileCreate downloadable file URL

Insights Server Tools

ToolDescription
list_all_assessment_categoriesList all assessment categories
list_assessmentsList assessments by category/name
fetch_recent_assessment_runsFetch recent assessment runs
fetch_assessment_runsFetch runs with pagination
fetch_assessment_run_detailsGet control details from run
fetch_assessment_run_leaf_controlsGet leaf controls from run
fetch_run_controlsGet controls by name
fetch_run_control_meta_dataGet control metadata
fetch_assessment_run_leaf_control_evidenceGet evidence for controls
fetch_controlsFetch control information
fetch_evidence_recordsGet evidence records with filtering
fetch_evidence_record_schemaGet evidence schema
fetch_available_control_actionsFetch available control actions
fetch_assessment_available_actionsFetch assessment actions
fetch_evidence_available_actionsFetch evidence actions
fetch_general_available_actionsFetch general actions
fetch_automated_controls_of_an_assessmentFetch automated controls
execute_actionExecute action on control/evidence
list_assetsList all assets
fetch_assets_summaryGet asset summary statistics
fetch_resource_typesGet resource types with pagination
fetch_checksGet checks for resource type
fetch_resourcesGet resources with pagination
fetch_resources_by_check_nameGet resources by check name
fetch_checks_summaryGet checks summary statistics
fetch_resources_summaryGet resources summary statistics
fetch_resources_by_check_name_summaryGet resources summary by check
fetch_resource_types_summaryGet resource types summary
get_dashboard_review_periodsGet available review periods
get_dashboard_dataGet comprehensive dashboard data
fetch_dashboard_framework_controlsGet framework controls
fetch_dashboard_framework_summaryGet framework summary
get_dashboard_common_controls_detailsGet common control details
get_top_over_due_controls_detailGet top overdue controls
get_top_non_compliant_controls_detailGet top non-compliant controls
fetch_unique_node_data_and_schemaFetch graph node data and schema
execute_cypher_queryExecute Cypher query on graph
helpGet help information
read_fileRead local file content
read_resourceRead resource URI content
create_downloadable_fileCreate downloadable file URL

Workflow Server Tools

ToolDescription
list_workflow_event_categoriesList workflow event categories
list_workflow_eventsList available trigger events
list_workflow_activity_typesList available activity types
list_workflow_function_categoriesList function categories
list_workflow_functionsList available functions
list_workflow_tasksList available workflow tasks
list_workflow_condition_categoriesList condition categories
list_workflow_conditionsList available conditions
list_workflow_predefined_variablesList predefined variables
list_workflow_rulesList available workflow rules
create_workflowCreate workflow from YAML
list_workflowsList all workflows
get_workflow_by_nameGet workflow by name
fetch_workflow_detailsFetch complete workflow details
modify_workflowUpdate workflow implementation
update_workflow_summaryUpdate workflow description
update_workflow_mermaid_diagramUpdate workflow diagram
fetch_workflow_resource_dataFetch resource data for execution
create_workflow_custom_eventCreate custom trigger event
trigger_workflowTrigger workflow execution
fetch_workflow_ruleFetch workflow rule by name
fetch_task_readmeFetch task README
fetch_rule_readmeFetch rule README

Assistant Server Tools

ToolDescription
create_assessmentCreate assessment from YAML
list_assessmentsList all assessments
list_assessment_control_configsList control configurations
create_control_configCreate control configuration
update_control_config_contextsUpdate control context entities
attach_citation_to_control_configAttach citation to control
suggest_control_config_citationsSuggest relevant citations
mark_control_ready_for_executionMark control ready for execution
create_sql_query_evidenceCreate SQL-based evidence
list_sql_query_evidenceList SQL evidence for control
update_sql_query_evidenceUpdate SQL evidence
validate_sql_queryValidate SQL query syntax
get_evidence_sample_dataGet sample evidence data
fetch_control_source_summaryFetch evidence source summary
create_control_config_noteCreate control config note
list_control_config_notesList control config notes
update_control_config_noteUpdate control config note
get_entity_hierarchyGet entity hierarchy
get_context_tablesGet available context tables
fetch_rule_readmeFetch rule README

FAQ

1. How do I sign up for ComplianceCow?

Visit ComplianceCow Signup to create an account using various sign-up options including Google, Microsoft, and OTP.

2. What value does ComplianceCow deliver?

ComplianceCow helps with automated security compliance evidence collection, analysis, and remediation challenges. It's a security GRC controls automation studio for custom controls and workflows. Learn more at compliancecow.com.

3. Why are there 4 separate servers?

MCP works best with fewer tools per server. Splitting into 4 servers (Rules, Insights, Workflow, Assistant) ensures optimal performance and allows you to enable only the tools you need for specific use cases.

4. What if some tools have the same name across servers?

Some tools share the same name but have different implementations. Enable only one server at a time to avoid conflicts. The tool behavior is determined by the MCP_TOOLS_TO_BE_INCLUDED env.

5. How do I update the MCP server?

cd /path/to/cow-mcp git pull origin main uv pip install .

Then restart your MCP host (Claude Desktop or Goose).

6. Where can I get help?

  • Create an issue on GitHub
  • Contact ComplianceCow support through the platform

Related Servers